@segment/action-destinations 3.301.0 → 3.301.1-staging-4bd526d90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/destinations/salesforce/account2/generated-types.d.ts +32 -0
  2. package/dist/destinations/salesforce/account2/generated-types.js +3 -0
  3. package/dist/destinations/salesforce/account2/generated-types.js.map +1 -0
  4. package/dist/destinations/salesforce/account2/index.d.ts +5 -0
  5. package/dist/destinations/salesforce/account2/index.js +248 -0
  6. package/dist/destinations/salesforce/account2/index.js.map +1 -0
  7. package/dist/destinations/salesforce/cases2/generated-types.d.ts +17 -0
  8. package/dist/destinations/salesforce/cases2/generated-types.js +3 -0
  9. package/dist/destinations/salesforce/cases2/generated-types.js.map +1 -0
  10. package/dist/destinations/salesforce/cases2/index.d.ts +5 -0
  11. package/dist/destinations/salesforce/cases2/index.js +76 -0
  12. package/dist/destinations/salesforce/cases2/index.js.map +1 -0
  13. package/dist/destinations/salesforce/contact2/generated-types.d.ts +25 -0
  14. package/dist/destinations/salesforce/contact2/generated-types.js +3 -0
  15. package/dist/destinations/salesforce/contact2/generated-types.js.map +1 -0
  16. package/dist/destinations/salesforce/contact2/index.d.ts +5 -0
  17. package/dist/destinations/salesforce/contact2/index.js +192 -0
  18. package/dist/destinations/salesforce/contact2/index.js.map +1 -0
  19. package/dist/destinations/salesforce/customObject2/generated-types.d.ts +17 -0
  20. package/dist/destinations/salesforce/customObject2/generated-types.js +3 -0
  21. package/dist/destinations/salesforce/customObject2/generated-types.js.map +1 -0
  22. package/dist/destinations/salesforce/customObject2/index.d.ts +5 -0
  23. package/dist/destinations/salesforce/customObject2/index.js +97 -0
  24. package/dist/destinations/salesforce/customObject2/index.js.map +1 -0
  25. package/dist/destinations/salesforce/index.js +13 -1
  26. package/dist/destinations/salesforce/index.js.map +1 -1
  27. package/dist/destinations/salesforce/lead2/generated-types.d.ts +25 -0
  28. package/dist/destinations/salesforce/lead2/generated-types.js +3 -0
  29. package/dist/destinations/salesforce/lead2/generated-types.js.map +1 -0
  30. package/dist/destinations/salesforce/lead2/index.d.ts +5 -0
  31. package/dist/destinations/salesforce/lead2/index.js +200 -0
  32. package/dist/destinations/salesforce/lead2/index.js.map +1 -0
  33. package/dist/destinations/salesforce/opportunity2/generated-types.d.ts +21 -0
  34. package/dist/destinations/salesforce/opportunity2/generated-types.js +3 -0
  35. package/dist/destinations/salesforce/opportunity2/generated-types.js.map +1 -0
  36. package/dist/destinations/salesforce/opportunity2/index.d.ts +5 -0
  37. package/dist/destinations/salesforce/opportunity2/index.js +112 -0
  38. package/dist/destinations/salesforce/opportunity2/index.js.map +1 -0
  39. package/dist/destinations/salesforce/sf-operations.d.ts +1 -0
  40. package/dist/destinations/salesforce/sf-operations.js +20 -0
  41. package/dist/destinations/salesforce/sf-operations.js.map +1 -1
  42. package/dist/destinations/segment-profiles/sendGroup/index.js +0 -3
  43. package/dist/destinations/segment-profiles/sendGroup/index.js.map +1 -1
  44. package/dist/destinations/segment-profiles/sendIdentify/index.js +0 -3
  45. package/dist/destinations/segment-profiles/sendIdentify/index.js.map +1 -1
  46. package/dist/destinations/segment-profiles/sendSubscription/index.js +0 -3
  47. package/dist/destinations/segment-profiles/sendSubscription/index.js.map +1 -1
  48. package/dist/destinations/segment-profiles/sendTrack/index.js +0 -3
  49. package/dist/destinations/segment-profiles/sendTrack/index.js.map +1 -1
  50. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/contact2/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface Payload {
2
+ recordMatcherOperator?: string;
3
+ enable_batching?: boolean;
4
+ batch_size?: number;
5
+ traits?: {
6
+ [k: string]: unknown;
7
+ };
8
+ bulkUpsertExternalId?: {
9
+ externalIdName?: string;
10
+ externalIdValue?: string;
11
+ };
12
+ bulkUpdateRecordId?: string;
13
+ customObjectName: string;
14
+ customFields?: {
15
+ [k: string]: unknown;
16
+ };
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/customObject2/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const actions_core_1 = require("@segment/actions-core");
23
+ const sf_properties_1 = require("../sf-properties");
24
+ const sf_operations_1 = __importStar(require("../sf-operations"));
25
+ const actions_core_2 = require("@segment/actions-core");
26
+ const OPERATIONS_WITH_CUSTOM_FIELDS = ['add', 'update', 'upsert'];
27
+ const action = {
28
+ title: 'Custom Object',
29
+ description: 'Create, update, or upsert records in any custom or standard object in Salesforce.',
30
+ syncMode: {
31
+ description: 'Define how the records from your destination will be synced.',
32
+ label: 'How to sync records',
33
+ default: 'add',
34
+ choices: [
35
+ { label: 'Insert Records', value: 'add' },
36
+ { label: 'Update Records', value: 'update' },
37
+ { label: 'Upsert Records', value: 'upsert' },
38
+ { label: 'Delete Records. Not available when using batching. Requests will result in errors.', value: 'delete' }
39
+ ]
40
+ },
41
+ fields: {
42
+ recordMatcherOperator: sf_properties_1.recordMatcherOperator,
43
+ enable_batching: sf_properties_1.enable_batching,
44
+ batch_size: sf_properties_1.batch_size,
45
+ traits: sf_properties_1.traits,
46
+ bulkUpsertExternalId: sf_properties_1.bulkUpsertExternalId,
47
+ bulkUpdateRecordId: sf_properties_1.bulkUpdateRecordId,
48
+ customObjectName: {
49
+ label: 'Salesforce Object',
50
+ description: 'The API name of the Salesforce object that records will be added or updated within. This can be a standard or custom object. Custom objects must be predefined in your Salesforce account and should end with "__c".',
51
+ type: 'string',
52
+ required: true,
53
+ dynamic: true
54
+ },
55
+ customFields: sf_properties_1.customFields
56
+ },
57
+ dynamicFields: {
58
+ customObjectName: async (request, data) => {
59
+ const sf = new sf_operations_1.default(data.settings.instanceUrl, await sf_operations_1.generateSalesforceRequest(data.settings, request));
60
+ return sf.customObjectName();
61
+ }
62
+ },
63
+ perform: async (request, { settings, payload, syncMode }) => {
64
+ if (!syncMode) {
65
+ throw new actions_core_2.PayloadValidationError('Sync mode is required for this operation.');
66
+ }
67
+ if (OPERATIONS_WITH_CUSTOM_FIELDS.includes(syncMode) && !payload.customFields) {
68
+ throw new actions_core_2.PayloadValidationError('Custom fields are required for this operation.');
69
+ }
70
+ const sf = new sf_operations_1.default(settings.instanceUrl, await sf_operations_1.generateSalesforceRequest(settings, request));
71
+ if (syncMode === 'add') {
72
+ return await sf.createRecord(payload, payload.customObjectName);
73
+ }
74
+ sf_properties_1.validateLookup(payload);
75
+ if (syncMode === 'update') {
76
+ return await sf.updateRecord(payload, payload.customObjectName);
77
+ }
78
+ if (syncMode === 'upsert') {
79
+ return await sf.upsertRecord(payload, payload.customObjectName);
80
+ }
81
+ if (syncMode === 'delete') {
82
+ return await sf.deleteRecord(payload, payload.customObjectName);
83
+ }
84
+ },
85
+ performBatch: async (request, { settings, payload, syncMode }) => {
86
+ if (!syncMode) {
87
+ throw new actions_core_1.IntegrationError('syncMode is required', 'Undefined syncMode', 400);
88
+ }
89
+ if (OPERATIONS_WITH_CUSTOM_FIELDS.includes(syncMode) && !payload[0].customFields) {
90
+ throw new actions_core_2.PayloadValidationError('Custom fields are required for this operation.');
91
+ }
92
+ const sf = new sf_operations_1.default(settings.instanceUrl, await sf_operations_1.generateSalesforceRequest(settings, request));
93
+ return sf.bulkHandlerWithSyncMode(payload, payload[0].customObjectName, syncMode);
94
+ }
95
+ };
96
+ exports.default = action;
97
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/customObject2/index.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,12 @@ const customObject_1 = __importDefault(require("./customObject"));
10
10
  const contact_1 = __importDefault(require("./contact"));
11
11
  const account_1 = __importDefault(require("./account"));
12
12
  const sf_operations_1 = require("./sf-operations");
13
+ const lead2_1 = __importDefault(require("./lead2"));
14
+ const cases2_1 = __importDefault(require("./cases2"));
15
+ const customObject2_1 = __importDefault(require("./customObject2"));
16
+ const account2_1 = __importDefault(require("./account2"));
17
+ const opportunity2_1 = __importDefault(require("./opportunity2"));
18
+ const contact2_1 = __importDefault(require("./contact2"));
13
19
  const destination = {
14
20
  name: 'Salesforce (Actions)',
15
21
  slug: 'actions-salesforce',
@@ -76,7 +82,13 @@ const destination = {
76
82
  cases: cases_1.default,
77
83
  contact: contact_1.default,
78
84
  opportunity: opportunity_1.default,
79
- account: account_1.default
85
+ account: account_1.default,
86
+ lead2: lead2_1.default,
87
+ cases2: cases2_1.default,
88
+ customObject2: customObject2_1.default,
89
+ account2: account2_1.default,
90
+ opportunity2: opportunity2_1.default,
91
+ contact2: contact2_1.default
80
92
  }
81
93
  };
82
94
  exports.default = destination;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/salesforce/index.ts"],"names":[],"mappings":";;;;;AAGA,oDAA2B;AAC3B,kDAAyB;AACzB,gEAAuC;AACvC,kEAAyC;AACzC,wDAA+B;AAC/B,wDAA+B;AAC/B,mDAA0D;AAM1D,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,WAAW,EAAE;gBACX,KAAK,EAAE,cAAc;gBACrB,WAAW,EACT,2HAA2H;gBAC7H,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EACT,mYAAmY;gBACrY,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;aACf;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,UAAU;gBACjB,WAAW,EACT,yRAAyR;gBAC3R,IAAI,EAAE,QAAQ;aACf;YACD,aAAa,EAAE;gBAEb,KAAK,EAAE,UAAU;gBACjB,WAAW,EACT,yRAAyR;gBAC3R,IAAI,EAAE,QAAQ;aACf;YACD,cAAc,EAAE;gBACd,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EACT,sYAAsY;gBACxY,IAAI,EAAE,QAAQ;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;YACxD,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,EAAE;gBAC/C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,wCAAwB,CACpD,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,aAAa,EACtB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,SAAS,CACnB,CAAA;gBAED,OAAO,EAAE,WAAW,EAAE,CAAA;aACvB;YAGD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,8BAA8B,CAAA;YACnG,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,GAAG,OAAO,wBAAwB,EAAE;gBAClF,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,SAAS,EAAE,IAAI,CAAC,QAAQ;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,UAAU,EAAE,eAAe;iBAC5B,CAAC;aACH,CAAC,CAAA;YACF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/C,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IAED,OAAO,EAAE;QACP,IAAI,EAAJ,cAAI;QACJ,YAAY,EAAZ,sBAAY;QACZ,KAAK,EAAL,eAAK;QACL,OAAO,EAAP,iBAAO;QACP,WAAW,EAAX,qBAAW;QACX,OAAO,EAAP,iBAAO;KACR;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/salesforce/index.ts"],"names":[],"mappings":";;;;;AAGA,oDAA2B;AAC3B,kDAAyB;AACzB,gEAAuC;AACvC,kEAAyC;AACzC,wDAA+B;AAC/B,wDAA+B;AAC/B,mDAA0D;AAE1D,oDAA2B;AAC3B,sDAA6B;AAC7B,oEAA2C;AAC3C,0DAAiC;AACjC,kEAAyC;AACzC,0DAAiC;AAMjC,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,WAAW,EAAE;gBACX,KAAK,EAAE,cAAc;gBACrB,WAAW,EACT,2HAA2H;gBAC7H,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EACT,mYAAmY;gBACrY,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;aACf;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,UAAU;gBACjB,WAAW,EACT,yRAAyR;gBAC3R,IAAI,EAAE,QAAQ;aACf;YACD,aAAa,EAAE;gBAEb,KAAK,EAAE,UAAU;gBACjB,WAAW,EACT,yRAAyR;gBAC3R,IAAI,EAAE,QAAQ;aACf;YACD,cAAc,EAAE;gBACd,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EACT,sYAAsY;gBACxY,IAAI,EAAE,QAAQ;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;YACxD,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,EAAE;gBAC/C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,wCAAwB,CACpD,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,aAAa,EACtB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,SAAS,CACnB,CAAA;gBAED,OAAO,EAAE,WAAW,EAAE,CAAA;aACvB;YAGD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,8BAA8B,CAAA;YACnG,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,GAAG,OAAO,wBAAwB,EAAE;gBAClF,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,SAAS,EAAE,IAAI,CAAC,QAAQ;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,UAAU,EAAE,eAAe;iBAC5B,CAAC;aACH,CAAC,CAAA;YACF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/C,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IAED,OAAO,EAAE;QACP,IAAI,EAAJ,cAAI;QACJ,YAAY,EAAZ,sBAAY;QACZ,KAAK,EAAL,eAAK;QACL,OAAO,EAAP,iBAAO;QACP,WAAW,EAAX,qBAAW;QACX,OAAO,EAAP,iBAAO;QACP,KAAK,EAAL,eAAK;QACL,MAAM,EAAN,gBAAM;QACN,aAAa,EAAb,uBAAa;QACb,QAAQ,EAAR,kBAAQ;QACR,YAAY,EAAZ,sBAAY;QACZ,QAAQ,EAAR,kBAAQ;KACT;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,25 @@
1
+ export interface Payload {
2
+ recordMatcherOperator?: string;
3
+ enable_batching?: boolean;
4
+ batch_size?: number;
5
+ traits?: {
6
+ [k: string]: unknown;
7
+ };
8
+ bulkUpsertExternalId?: {
9
+ externalIdName?: string;
10
+ externalIdValue?: string;
11
+ };
12
+ bulkUpdateRecordId?: string;
13
+ company?: string;
14
+ last_name?: string;
15
+ first_name?: string;
16
+ email?: string;
17
+ city?: string;
18
+ postal_code?: string;
19
+ country?: string;
20
+ street?: string;
21
+ state?: string;
22
+ customFields?: {
23
+ [k: string]: unknown;
24
+ };
25
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/lead2/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const actions_core_1 = require("@segment/actions-core");
23
+ const sf_properties_1 = require("../sf-properties");
24
+ const sf_operations_1 = __importStar(require("../sf-operations"));
25
+ const OBJECT_NAME = 'Lead';
26
+ const action = {
27
+ title: 'Lead',
28
+ description: 'Create, update, or upsert leads in Salesforce.',
29
+ defaultSubscription: 'type = "identify"',
30
+ syncMode: {
31
+ description: 'Define how the records from your destination will be synced.',
32
+ label: 'How to sync records',
33
+ default: 'add',
34
+ choices: [
35
+ { label: 'Insert Records', value: 'add' },
36
+ { label: 'Update Records', value: 'update' },
37
+ { label: 'Upsert Records', value: 'upsert' },
38
+ { label: 'Delete Records. Not available when using batching. Requests will result in errors.', value: 'delete' }
39
+ ]
40
+ },
41
+ fields: {
42
+ recordMatcherOperator: sf_properties_1.recordMatcherOperator,
43
+ enable_batching: sf_properties_1.enable_batching,
44
+ batch_size: sf_properties_1.batch_size,
45
+ traits: sf_properties_1.traits,
46
+ bulkUpsertExternalId: sf_properties_1.bulkUpsertExternalId,
47
+ bulkUpdateRecordId: sf_properties_1.bulkUpdateRecordId,
48
+ company: {
49
+ label: 'Company',
50
+ description: "The lead's company. **This is required to create a lead.**",
51
+ type: 'string',
52
+ default: {
53
+ '@if': {
54
+ exists: { '@path': '$.traits.company' },
55
+ then: { '@path': '$.traits.company' },
56
+ else: { '@path': '$.properties.company' }
57
+ }
58
+ },
59
+ depends_on: sf_properties_1.hideIfDeleteOperation
60
+ },
61
+ last_name: {
62
+ label: 'Last Name',
63
+ description: "The lead's last name. **This is required to create a lead.**",
64
+ type: 'string',
65
+ default: {
66
+ '@if': {
67
+ exists: { '@path': '$.traits.last_name' },
68
+ then: { '@path': '$.traits.last_name' },
69
+ else: { '@path': '$.properties.last_name' }
70
+ }
71
+ },
72
+ depends_on: sf_properties_1.hideIfDeleteOperation
73
+ },
74
+ first_name: {
75
+ label: 'First Name',
76
+ description: "The lead's first name.",
77
+ type: 'string',
78
+ default: {
79
+ '@if': {
80
+ exists: { '@path': '$.traits.first_name' },
81
+ then: { '@path': '$.traits.first_name' },
82
+ else: { '@path': '$.properties.first_name' }
83
+ }
84
+ },
85
+ depends_on: sf_properties_1.hideIfDeleteOperation
86
+ },
87
+ email: {
88
+ label: 'Email',
89
+ description: "The lead's email address.",
90
+ type: 'string',
91
+ default: {
92
+ '@if': {
93
+ exists: { '@path': '$.traits.email' },
94
+ then: { '@path': '$.traits.email' },
95
+ else: { '@path': '$.properties.email' }
96
+ }
97
+ },
98
+ depends_on: sf_properties_1.hideIfDeleteOperation
99
+ },
100
+ city: {
101
+ label: 'City',
102
+ description: "City for the lead's address.",
103
+ type: 'string',
104
+ default: {
105
+ '@if': {
106
+ exists: { '@path': '$.traits.address.city' },
107
+ then: { '@path': '$.traits.address.city' },
108
+ else: { '@path': '$.properties.address.city' }
109
+ }
110
+ },
111
+ depends_on: sf_properties_1.hideIfDeleteOperation
112
+ },
113
+ postal_code: {
114
+ label: 'Postal Code',
115
+ description: "Postal code for the lead's address.",
116
+ type: 'string',
117
+ default: {
118
+ '@if': {
119
+ exists: { '@path': '$.traits.address.postal_code' },
120
+ then: { '@path': '$.traits.address.postal_code' },
121
+ else: { '@path': '$.properties.address.postal_code' }
122
+ }
123
+ },
124
+ depends_on: sf_properties_1.hideIfDeleteOperation
125
+ },
126
+ country: {
127
+ label: 'Country',
128
+ description: "Country for the lead's address.",
129
+ type: 'string',
130
+ default: {
131
+ '@if': {
132
+ exists: { '@path': '$.traits.address.country' },
133
+ then: { '@path': '$.traits.address.country' },
134
+ else: { '@path': '$.properties.address.country' }
135
+ }
136
+ },
137
+ depends_on: sf_properties_1.hideIfDeleteOperation
138
+ },
139
+ street: {
140
+ label: 'Street',
141
+ description: "Street number and name for the lead's address.",
142
+ type: 'string',
143
+ default: {
144
+ '@if': {
145
+ exists: { '@path': '$.traits.address.street' },
146
+ then: { '@path': '$.traits.address.street' },
147
+ else: { '@path': '$.properties.address.street' }
148
+ }
149
+ },
150
+ depends_on: sf_properties_1.hideIfDeleteOperation
151
+ },
152
+ state: {
153
+ label: 'State',
154
+ description: "State for the lead's address.",
155
+ type: 'string',
156
+ default: {
157
+ '@if': {
158
+ exists: { '@path': '$.traits.address.state' },
159
+ then: { '@path': '$.traits.address.state' },
160
+ else: { '@path': '$.properties.address.state' }
161
+ }
162
+ },
163
+ depends_on: sf_properties_1.hideIfDeleteOperation
164
+ },
165
+ customFields: sf_properties_1.customFields
166
+ },
167
+ perform: async (request, { settings, payload, syncMode }) => {
168
+ const sf = new sf_operations_1.default(settings.instanceUrl, await sf_operations_1.generateSalesforceRequest(settings, request));
169
+ if (syncMode === 'add') {
170
+ if (!payload.last_name) {
171
+ throw new actions_core_1.IntegrationError('Missing last_name value', 'Misconfigured required field', 400);
172
+ }
173
+ return await sf.createRecord(payload, OBJECT_NAME);
174
+ }
175
+ sf_properties_1.validateLookup(payload);
176
+ if (syncMode === 'update') {
177
+ return await sf.updateRecord(payload, OBJECT_NAME);
178
+ }
179
+ if (syncMode === 'upsert') {
180
+ if (!payload.last_name) {
181
+ throw new actions_core_1.IntegrationError('Missing last_name value', 'Misconfigured required field', 400);
182
+ }
183
+ return await sf.upsertRecord(payload, OBJECT_NAME);
184
+ }
185
+ if (syncMode === 'delete') {
186
+ return await sf.deleteRecord(payload, OBJECT_NAME);
187
+ }
188
+ },
189
+ performBatch: async (request, { settings, payload, syncMode }) => {
190
+ const sf = new sf_operations_1.default(settings.instanceUrl, await sf_operations_1.generateSalesforceRequest(settings, request));
191
+ if (syncMode === 'upsert') {
192
+ if (!payload[0].last_name) {
193
+ throw new actions_core_1.IntegrationError('Missing last_name value', 'Misconfigured required field', 400);
194
+ }
195
+ }
196
+ return sf.bulkHandlerWithSyncMode(payload, OBJECT_NAME, syncMode);
197
+ }
198
+ };
199
+ exports.default = action;
200
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/lead2/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export interface Payload {
2
+ recordMatcherOperator?: string;
3
+ enable_batching?: boolean;
4
+ batch_size?: number;
5
+ traits?: {
6
+ [k: string]: unknown;
7
+ };
8
+ bulkUpsertExternalId?: {
9
+ externalIdName?: string;
10
+ externalIdValue?: string;
11
+ };
12
+ bulkUpdateRecordId?: string;
13
+ close_date?: string;
14
+ name?: string;
15
+ stage_name?: string;
16
+ amount?: string;
17
+ description?: string;
18
+ customFields?: {
19
+ [k: string]: unknown;
20
+ };
21
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/opportunity2/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const actions_core_1 = require("@segment/actions-core");
23
+ const sf_operations_1 = __importStar(require("../sf-operations"));
24
+ const sf_properties_1 = require("../sf-properties");
25
+ const OBJECT_NAME = 'Opportunity';
26
+ const action = {
27
+ title: 'Opportunity',
28
+ description: 'Create, update, or upsert opportunities in Salesforce.',
29
+ syncMode: {
30
+ description: 'Define how the records from your destination will be synced.',
31
+ label: 'How to sync records',
32
+ default: 'add',
33
+ choices: [
34
+ { label: 'Insert Records', value: 'add' },
35
+ { label: 'Update Records', value: 'update' },
36
+ { label: 'Upsert Records', value: 'upsert' },
37
+ { label: 'Delete Records. Not available when using batching. Requests will result in errors.', value: 'delete' }
38
+ ]
39
+ },
40
+ fields: {
41
+ recordMatcherOperator: sf_properties_1.recordMatcherOperator,
42
+ enable_batching: sf_properties_1.enable_batching,
43
+ batch_size: sf_properties_1.batch_size,
44
+ traits: sf_properties_1.traits,
45
+ bulkUpsertExternalId: sf_properties_1.bulkUpsertExternalId,
46
+ bulkUpdateRecordId: sf_properties_1.bulkUpdateRecordId,
47
+ close_date: {
48
+ label: 'Close Date',
49
+ description: 'Date when the opportunity is expected to close. Use yyyy-MM-dd format. **This is required to create an opportunity.**',
50
+ type: 'string',
51
+ depends_on: sf_properties_1.hideIfDeleteOperation
52
+ },
53
+ name: {
54
+ label: 'Name',
55
+ description: 'A name for the opportunity. **This is required to create an opportunity.**',
56
+ type: 'string',
57
+ depends_on: sf_properties_1.hideIfDeleteOperation
58
+ },
59
+ stage_name: {
60
+ label: 'Stage Name',
61
+ description: 'Current stage of the opportunity. **This is required to create an opportunity.**',
62
+ type: 'string',
63
+ depends_on: sf_properties_1.hideIfDeleteOperation
64
+ },
65
+ amount: {
66
+ label: 'Amount',
67
+ description: 'Estimated total sale amount.',
68
+ type: 'string',
69
+ depends_on: sf_properties_1.hideIfDeleteOperation
70
+ },
71
+ description: {
72
+ label: 'Description',
73
+ description: 'A text description of the opportunity.',
74
+ type: 'string',
75
+ depends_on: sf_properties_1.hideIfDeleteOperation
76
+ },
77
+ customFields: sf_properties_1.customFields
78
+ },
79
+ perform: async (request, { settings, payload, syncMode }) => {
80
+ const sf = new sf_operations_1.default(settings.instanceUrl, await sf_operations_1.generateSalesforceRequest(settings, request));
81
+ if (syncMode === 'add') {
82
+ if (!payload.close_date || !payload.name || !payload.stage_name) {
83
+ throw new actions_core_1.IntegrationError('Missing close_date, name or stage_name value', 'Misconfigured required field', 400);
84
+ }
85
+ return await sf.createRecord(payload, OBJECT_NAME);
86
+ }
87
+ sf_properties_1.validateLookup(payload);
88
+ if (syncMode === 'update') {
89
+ return await sf.updateRecord(payload, OBJECT_NAME);
90
+ }
91
+ if (syncMode === 'upsert') {
92
+ if (!payload.close_date || !payload.name || !payload.stage_name) {
93
+ throw new actions_core_1.IntegrationError('Missing close_date, name or stage_name value', 'Misconfigured required field', 400);
94
+ }
95
+ return await sf.upsertRecord(payload, OBJECT_NAME);
96
+ }
97
+ if (syncMode === 'delete') {
98
+ return await sf.deleteRecord(payload, OBJECT_NAME);
99
+ }
100
+ },
101
+ performBatch: async (request, { settings, payload, syncMode }) => {
102
+ const sf = new sf_operations_1.default(settings.instanceUrl, await sf_operations_1.generateSalesforceRequest(settings, request));
103
+ if (syncMode === 'upsert') {
104
+ if (!payload[0].close_date || !payload[0].name || !payload[0].stage_name) {
105
+ throw new actions_core_1.IntegrationError('Missing close_date, name or stage_name value', 'Misconfigured required field', 400);
106
+ }
107
+ }
108
+ return sf.bulkHandlerWithSyncMode(payload, OBJECT_NAME, syncMode);
109
+ }
110
+ };
111
+ exports.default = action;
112
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/opportunity2/index.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export default class Salesforce {
14
14
  upsertRecord: (payload: GenericPayload, sobject: string) => Promise<ModifiedResponse<unknown>>;
15
15
  deleteRecord: (payload: GenericPayload, sobject: string) => Promise<ModifiedResponse<unknown>>;
16
16
  bulkHandler: (payloads: GenericPayload[], sobject: string) => Promise<ModifiedResponse<unknown> | undefined>;
17
+ bulkHandlerWithSyncMode: (payloads: GenericPayload[], sobject: string, syncMode: string | undefined) => Promise<ModifiedResponse<unknown> | undefined>;
17
18
  customObjectName: () => Promise<DynamicFieldResponse>;
18
19
  private bulkInsert;
19
20
  private bulkUpsert;
@@ -132,6 +132,26 @@ class Salesforce {
132
132
  throw new actions_core_1.IntegrationError(`Unsupported operation: Bulk API does not support the delete operation`, 'Unsupported operation', 400);
133
133
  }
134
134
  };
135
+ this.bulkHandlerWithSyncMode = async (payloads, sobject, syncMode) => {
136
+ if (!payloads[0].enable_batching) {
137
+ throwBulkMismatchError();
138
+ }
139
+ if (syncMode === undefined) {
140
+ throw new actions_core_1.IntegrationError('syncMode is required', 'Undefined syncMode', 400);
141
+ }
142
+ if (syncMode === 'delete') {
143
+ throw new actions_core_1.IntegrationError(`Unsupported operation: Bulk API does not support the delete operation`, 'Unsupported operation', 400);
144
+ }
145
+ if (syncMode === 'upsert') {
146
+ return await this.bulkUpsert(payloads, sobject);
147
+ }
148
+ else if (syncMode === 'update') {
149
+ return await this.bulkUpdate(payloads, sobject);
150
+ }
151
+ else if (syncMode === 'add') {
152
+ return await this.bulkInsert(payloads, sobject);
153
+ }
154
+ };
135
155
  this.customObjectName = async () => {
136
156
  try {
137
157
  const result = await this.request(`${this.instanceUrl}services/data/${exports.API_VERSION}/sobjects`, {