diff --git a/packages/backend/src/apps/pipedrive/actions/create-deal/index.js b/packages/backend/src/apps/pipedrive/actions/create-deal/index.js index ad1430df..55493c54 100644 --- a/packages/backend/src/apps/pipedrive/actions/create-deal/index.js +++ b/packages/backend/src/apps/pipedrive/actions/create-deal/index.js @@ -64,32 +64,17 @@ export default defineAction({ value: '1', description: 'The ID of the stage this deal will be added to. If omitted, the deal will be placed in the first stage of the default pipeline.', - options: [ - { - label: 'Qualified (Pipeline)', - value: 1, - }, - { - label: 'Contact Made (Pipeline)', - value: 2, - }, - { - label: 'Prospect Qualified (Pipeline)', - value: 3, - }, - { - label: 'Needs Defined (Pipeline)', - value: 4, - }, - { - label: 'Proposal Made (Pipeline)', - value: 5, - }, - { - label: 'Negotiations Started (Pipeline)', - value: 6, - }, - ], + variables: true, + source: { + type: 'query', + name: 'getDynamicData', + arguments: [ + { + name: 'key', + value: 'listStages', + }, + ], + }, }, { label: 'Owner', diff --git a/packages/backend/src/apps/pipedrive/dynamic-data/index.js b/packages/backend/src/apps/pipedrive/dynamic-data/index.js index a914406a..42af32e6 100644 --- a/packages/backend/src/apps/pipedrive/dynamic-data/index.js +++ b/packages/backend/src/apps/pipedrive/dynamic-data/index.js @@ -1,23 +1,25 @@ import listActivityTypes from './list-activity-types/index.js'; import listCurrencies from './list-currencies/index.js'; import listDeals from './list-deals/index.js'; -import listLeads from './list-leads/index.js'; import listLeadLabels from './list-lead-labels/index.js'; -import listOrganizations from './list-organizations/index.js'; +import listLeads from './list-leads/index.js'; import listOrganizationLabelField from './list-organization-label-field/index.js'; +import listOrganizations from './list-organizations/index.js'; import listPersonLabelField from './list-person-label-field/index.js'; import listPersons from './list-persons/index.js'; +import listStages from './list-stages/index.js'; import listUsers from './list-users/index.js'; export default [ listActivityTypes, listCurrencies, listDeals, - listLeads, listLeadLabels, - listOrganizations, + listLeads, listOrganizationLabelField, + listOrganizations, listPersonLabelField, listPersons, + listStages, listUsers, ]; diff --git a/packages/backend/src/apps/pipedrive/dynamic-data/list-stages/index.js b/packages/backend/src/apps/pipedrive/dynamic-data/list-stages/index.js new file mode 100644 index 00000000..8a0f4893 --- /dev/null +++ b/packages/backend/src/apps/pipedrive/dynamic-data/list-stages/index.js @@ -0,0 +1,23 @@ +export default { + name: 'List stages', + key: 'listStages', + + async run($) { + const stages = { + data: [], + }; + + const { data } = await $.http.get('/api/v1/stages'); + + if (data.data?.length) { + for (const stage of data.data) { + stages.data.push({ + value: stage.id, + name: stage.name, + }); + } + } + + return stages; + }, +};