diff --git a/packages/backend/src/apps/salesforce/data/index.ts b/packages/backend/src/apps/salesforce/data/index.ts index 7e2630e4..018c88f6 100644 --- a/packages/backend/src/apps/salesforce/data/index.ts +++ b/packages/backend/src/apps/salesforce/data/index.ts @@ -1,5 +1,7 @@ import listObjects from './list-objects'; +import listFields from './list-fields'; export default [ listObjects, + listFields, ]; diff --git a/packages/backend/src/apps/salesforce/data/list-fields/index.ts b/packages/backend/src/apps/salesforce/data/list-fields/index.ts new file mode 100644 index 00000000..78238500 --- /dev/null +++ b/packages/backend/src/apps/salesforce/data/list-fields/index.ts @@ -0,0 +1,29 @@ +import { IGlobalVariable } from '@automatisch/types'; + +type TResponse = { + fields: TField[]; +} + +type TField = { + name: string; + label: string; +} + +export default { + name: 'List fields', + key: 'listFields', + + async run($: IGlobalVariable) { + const { object } = $.step.parameters; + const response = await $.http.get(`/services/data/v56.0/sobjects/${object}/describe`); + + const fields = response.data.fields.map((field) => { + return { + value: field.name, + name: field.label, + }; + }); + + return { data: fields }; + }, +};