@pipedream/salesforce_rest_api 1.2.1 → 1.3.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.
- package/README.md +92 -0
- package/actions/add-contact-to-campaign/add-contact-to-campaign.mjs +25 -25
- package/actions/add-lead-to-campaign/add-lead-to-campaign.mjs +25 -24
- package/actions/common/base-create-update.mjs +108 -0
- package/actions/convert-soap-xml-to-json/convert-soap-xml-to-json.mjs +11 -3
- package/actions/create-account/create-account.mjs +33 -36
- package/actions/create-attachment/create-attachment.mjs +36 -50
- package/actions/create-campaign/create-campaign.mjs +41 -37
- package/actions/create-case/create-case.mjs +41 -37
- package/actions/create-casecomment/create-casecomment.mjs +26 -38
- package/actions/create-contact/create-contact.mjs +38 -35
- package/actions/create-event/create-event.mjs +57 -66
- package/actions/create-lead/create-lead.mjs +34 -42
- package/actions/create-note/create-note.mjs +24 -43
- package/actions/create-opportunity/create-opportunity.mjs +38 -47
- package/actions/create-record/create-record.mjs +49 -15
- package/actions/create-task/create-task.mjs +50 -42
- package/actions/create-user/create-user.mjs +33 -196
- package/actions/delete-opportunity/delete-opportunity.mjs +17 -13
- package/actions/delete-record/delete-record.mjs +18 -16
- package/actions/find-records/find-records.mjs +41 -26
- package/actions/insert-blob-data/insert-blob-data.mjs +3 -7
- package/actions/post-feed-to-chatter/post-feed-to-chatter.mjs +45 -20
- package/actions/search-string/search-string.mjs +22 -20
- package/actions/soql-search/soql-search.mjs +13 -8
- package/actions/sosl-search/sosl-search.mjs +19 -9
- package/actions/update-account/update-account.mjs +54 -41
- package/actions/update-contact/update-contact.mjs +59 -40
- package/actions/update-opportunity/update-opportunity.mjs +56 -54
- package/actions/update-record/update-record.mjs +67 -20
- package/common/all-sobjects.mjs +3812 -0
- package/common/constants-props.mjs +1539 -0
- package/common/props-async-options.mjs +154 -0
- package/common/props-utils.mjs +88 -31
- package/common/sobjects/account.mjs +349 -22
- package/common/sobjects/attachment.mjs +56 -17
- package/common/sobjects/campaign.mjs +125 -23
- package/common/sobjects/case.mjs +193 -13
- package/common/sobjects/caseComment.mjs +28 -4
- package/common/sobjects/contact.mjs +207 -43
- package/common/sobjects/event.mjs +218 -18
- package/common/sobjects/lead.mjs +245 -22
- package/common/sobjects/note.mjs +37 -14
- package/common/sobjects/opportunity.mjs +148 -22
- package/common/sobjects/task.mjs +240 -19
- package/common/sobjects/user.mjs +965 -0
- package/package.json +2 -2
- package/salesforce_rest_api.app.mjs +72 -249
- package/sources/common-webhook-methods.mjs +71 -0
- package/sources/common.mjs +85 -22
- package/sources/new-outbound-message/new-outbound-message.mjs +11 -3
- package/sources/new-record-instant/new-record-instant.mjs +77 -6
- package/sources/record-deleted-instant/record-deleted-instant.mjs +40 -5
- package/sources/record-updated-instant/record-updated-instant.mjs +137 -5
- package/actions/common/base.mjs +0 -18
- package/actions/find-create-record/find-create-record.mjs +0 -89
- package/actions/get-sobject-fields-values/get-sobject-fields-values.mjs +0 -57
- package/common/utils.mjs +0 -51
- package/sources/common-instant.mjs +0 -146
- package/sources/new-record/new-record.mjs +0 -91
- package/sources/record-deleted/record-deleted.mjs +0 -51
- package/sources/record-updated/record-updated.mjs +0 -94
- package/sources/updated-field-on-record/updated-field-on-record.mjs +0 -161
- package/sources/updated-field-on-record-instant/updated-field-on-record-instant.mjs +0 -76
package/common/sobjects/lead.mjs
CHANGED
|
@@ -1,27 +1,250 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CLEAN_STATUS_OPTIONS, GEOCODE_ACCURACY_OPTIONS, RECORD_SOURCE_OPTIONS,
|
|
3
|
+
} from "../constants-props.mjs";
|
|
4
|
+
import commonProps from "../props-async-options.mjs";
|
|
5
|
+
|
|
1
6
|
export default {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
7
|
+
createProps: {
|
|
8
|
+
IsConverted: {
|
|
9
|
+
type: "boolean",
|
|
10
|
+
label: "Converted",
|
|
11
|
+
description: "Indicates whether the lead has been converted",
|
|
12
|
+
optional: true,
|
|
13
|
+
},
|
|
6
14
|
},
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
15
|
+
initialProps: {
|
|
16
|
+
Company: {
|
|
17
|
+
type: "string",
|
|
18
|
+
label: "Company",
|
|
19
|
+
description: "The lead's company.",
|
|
20
|
+
},
|
|
21
|
+
Description: {
|
|
22
|
+
type: "string",
|
|
23
|
+
label: "Description",
|
|
24
|
+
description: "The lead's description.",
|
|
25
|
+
optional: true,
|
|
26
|
+
},
|
|
27
|
+
Email: {
|
|
28
|
+
type: "string",
|
|
29
|
+
label: "Email",
|
|
30
|
+
description: "The lead's email address.",
|
|
31
|
+
optional: true,
|
|
32
|
+
},
|
|
33
|
+
FirstName: {
|
|
34
|
+
type: "string",
|
|
35
|
+
label: "First Name",
|
|
36
|
+
description: "The lead's first name.",
|
|
37
|
+
optional: true,
|
|
38
|
+
},
|
|
39
|
+
LastName: {
|
|
40
|
+
type: "string",
|
|
41
|
+
label: "Last Name",
|
|
42
|
+
description: "The lead's last name.",
|
|
43
|
+
},
|
|
44
|
+
Phone: {
|
|
45
|
+
type: "string",
|
|
46
|
+
label: "Phone",
|
|
47
|
+
description: "The lead's phone number.",
|
|
48
|
+
optional: true,
|
|
49
|
+
},
|
|
11
50
|
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
51
|
+
extraProps: {
|
|
52
|
+
ConvertedAccountId: {
|
|
53
|
+
...commonProps.AccountId,
|
|
54
|
+
label: "Converted Account ID",
|
|
55
|
+
description: "The account into which the lead converted.",
|
|
56
|
+
optional: true,
|
|
57
|
+
},
|
|
58
|
+
ConvertedContactId: {
|
|
59
|
+
...commonProps.ContactId,
|
|
60
|
+
label: "Converted Contact ID",
|
|
61
|
+
description: "The contact into which the lead converted.",
|
|
62
|
+
optional: true,
|
|
63
|
+
},
|
|
64
|
+
ConvertedOpportunityId: {
|
|
65
|
+
...commonProps.OpportunityId,
|
|
66
|
+
label: "Converted Opportunity ID",
|
|
67
|
+
description: "The opportunity into which the lead converted.",
|
|
68
|
+
optional: true,
|
|
69
|
+
},
|
|
70
|
+
IndividualId: {
|
|
71
|
+
...commonProps.IndividualId,
|
|
72
|
+
label: "Individual ID",
|
|
73
|
+
description: "ID of the data privacy record associated with this lead.",
|
|
74
|
+
optional: true,
|
|
75
|
+
},
|
|
76
|
+
OwnerId: {
|
|
77
|
+
...commonProps.UserId,
|
|
78
|
+
label: "Owner ID",
|
|
79
|
+
description: "ID of the lead's owner.",
|
|
80
|
+
optional: true,
|
|
81
|
+
},
|
|
82
|
+
RecordTypeId: {
|
|
83
|
+
...commonProps.RecordTypeId,
|
|
84
|
+
optional: true,
|
|
85
|
+
},
|
|
86
|
+
AnnualRevenue: {
|
|
87
|
+
type: "string",
|
|
88
|
+
label: "Annual Revenue",
|
|
89
|
+
description: "Annual revenue for the lead's company.",
|
|
90
|
+
optional: true,
|
|
91
|
+
},
|
|
92
|
+
City: {
|
|
93
|
+
type: "string",
|
|
94
|
+
label: "City",
|
|
95
|
+
description: "City for the lead's address.",
|
|
96
|
+
optional: true,
|
|
97
|
+
},
|
|
98
|
+
CleanStatus: {
|
|
99
|
+
type: "string",
|
|
100
|
+
label: "Clean Status",
|
|
101
|
+
description:
|
|
102
|
+
"Indicates the record's clean status compared with Data.com.",
|
|
103
|
+
options: CLEAN_STATUS_OPTIONS,
|
|
104
|
+
},
|
|
105
|
+
CompanyDunsNumber: {
|
|
106
|
+
type: "string",
|
|
107
|
+
label: "Company D-U-N-S Number",
|
|
108
|
+
description:
|
|
109
|
+
"The Data Universal Numbering System (D-U-N-S) number (max 9 characters).",
|
|
110
|
+
optional: true,
|
|
111
|
+
},
|
|
112
|
+
Country: {
|
|
113
|
+
type: "string",
|
|
114
|
+
label: "Country",
|
|
115
|
+
description: "The lead's country.",
|
|
116
|
+
optional: true,
|
|
117
|
+
},
|
|
118
|
+
Fax: {
|
|
119
|
+
type: "string",
|
|
120
|
+
label: "Fax",
|
|
121
|
+
description: "The lead's fax number.",
|
|
122
|
+
optional: true,
|
|
123
|
+
},
|
|
124
|
+
HasOptedOutOfFax: {
|
|
125
|
+
type: "boolean",
|
|
126
|
+
label: "Fax Opt Out",
|
|
127
|
+
description:
|
|
128
|
+
"Indicates whether the lead doesn't want to receive faxes from Salesforce (`true`) or not (`false`)",
|
|
129
|
+
optional: true,
|
|
130
|
+
},
|
|
131
|
+
GeocodeAccuracy: {
|
|
132
|
+
type: "string",
|
|
133
|
+
label: "Geocode Accuracy",
|
|
134
|
+
description: "Accuracy level of the geocode for the address.",
|
|
135
|
+
optional: true,
|
|
136
|
+
options: GEOCODE_ACCURACY_OPTIONS,
|
|
137
|
+
},
|
|
138
|
+
Industry: {
|
|
139
|
+
type: "string",
|
|
140
|
+
label: "Industry",
|
|
141
|
+
description: "Industry in which the lead works.",
|
|
142
|
+
optional: true,
|
|
143
|
+
},
|
|
144
|
+
IsUnreadByOwner: {
|
|
145
|
+
type: "boolean",
|
|
146
|
+
label: "Unread by Owner",
|
|
147
|
+
description: "If true, lead has been assigned, but not yet viewed.",
|
|
148
|
+
optional: true,
|
|
149
|
+
},
|
|
150
|
+
Latitude: {
|
|
151
|
+
type: "string",
|
|
152
|
+
label: "Latitude",
|
|
153
|
+
description:
|
|
154
|
+
"A number between -90 and 90 with up to 15 decimal places. Use with `Longitude` to specify the precise geolocation of an address.",
|
|
155
|
+
optional: true,
|
|
156
|
+
},
|
|
157
|
+
Longitude: {
|
|
158
|
+
type: "string",
|
|
159
|
+
label: "Longitude",
|
|
160
|
+
description:
|
|
161
|
+
"A number between -180 and 180 with up to 15 decimal places. Use with `Latitude` to specify the precise geolocation of an address.",
|
|
162
|
+
optional: true,
|
|
163
|
+
},
|
|
164
|
+
LeadSource: {
|
|
165
|
+
type: "string",
|
|
166
|
+
label: "Lead Source",
|
|
167
|
+
description: "The lead's source.",
|
|
168
|
+
optional: true,
|
|
169
|
+
options: RECORD_SOURCE_OPTIONS,
|
|
170
|
+
},
|
|
171
|
+
MiddleName: {
|
|
172
|
+
type: "string",
|
|
173
|
+
label: "Middle Name",
|
|
174
|
+
description: "The lead's middle name up to 40 characters.",
|
|
175
|
+
optional: true,
|
|
176
|
+
},
|
|
177
|
+
MobilePhone: {
|
|
178
|
+
type: "string",
|
|
179
|
+
label: "Mobile Phone",
|
|
180
|
+
description: "The lead's mobile phone number.",
|
|
181
|
+
optional: true,
|
|
182
|
+
},
|
|
183
|
+
NumberOfEmployees: {
|
|
184
|
+
type: "integer",
|
|
185
|
+
label: "Employees",
|
|
186
|
+
description: "Number of employees at the lead's company.",
|
|
187
|
+
optional: true,
|
|
188
|
+
},
|
|
189
|
+
PostalCode: {
|
|
190
|
+
type: "string",
|
|
191
|
+
label: "Zip/Postal Code",
|
|
192
|
+
description: "The lead's postal code.",
|
|
193
|
+
optional: true,
|
|
194
|
+
},
|
|
195
|
+
Rating: {
|
|
196
|
+
type: "string",
|
|
197
|
+
label: "Rating",
|
|
198
|
+
description: "Rating of the lead.",
|
|
199
|
+
optional: true,
|
|
200
|
+
options: [
|
|
201
|
+
"Hot",
|
|
202
|
+
"Warm",
|
|
203
|
+
"Cold",
|
|
204
|
+
],
|
|
205
|
+
},
|
|
206
|
+
State: {
|
|
207
|
+
type: "string",
|
|
208
|
+
label: "State/Province",
|
|
209
|
+
description: "State for the address of the lead.",
|
|
210
|
+
optional: true,
|
|
211
|
+
},
|
|
212
|
+
Status: {
|
|
213
|
+
type: "string",
|
|
214
|
+
label: "Status",
|
|
215
|
+
description: "Status code for this converted lead.",
|
|
216
|
+
optional: true,
|
|
217
|
+
options: [
|
|
218
|
+
"Open - Not Contacted",
|
|
219
|
+
"Working - Contacted",
|
|
220
|
+
"Closed - Converted",
|
|
221
|
+
"Closed - Not Converted",
|
|
222
|
+
],
|
|
223
|
+
},
|
|
224
|
+
Street: {
|
|
225
|
+
type: "string",
|
|
226
|
+
label: "Street",
|
|
227
|
+
description: "Street number and name for the address of the lead.",
|
|
228
|
+
optional: true,
|
|
229
|
+
},
|
|
230
|
+
Suffix: {
|
|
231
|
+
type: "string",
|
|
232
|
+
label: "Suffix",
|
|
233
|
+
description: "The lead's name suffix up to 40 characters.",
|
|
234
|
+
optional: true,
|
|
235
|
+
},
|
|
236
|
+
Title: {
|
|
237
|
+
type: "string",
|
|
238
|
+
label: "Title",
|
|
239
|
+
description:
|
|
240
|
+
"Title for the lead, such as CFO or CEO. The maximum size is 128 characters. ",
|
|
241
|
+
optional: true,
|
|
242
|
+
},
|
|
243
|
+
Website: {
|
|
244
|
+
type: "string",
|
|
245
|
+
label: "Website",
|
|
246
|
+
description: "Website for the lead.",
|
|
247
|
+
optional: true,
|
|
248
|
+
},
|
|
26
249
|
},
|
|
27
250
|
};
|
package/common/sobjects/note.mjs
CHANGED
|
@@ -1,17 +1,40 @@
|
|
|
1
|
+
import salesforce from "../../salesforce_rest_api.app.mjs";
|
|
2
|
+
|
|
1
3
|
export default {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
initialProps: {
|
|
5
|
+
Body: {
|
|
6
|
+
type: "string",
|
|
7
|
+
label: "Body",
|
|
8
|
+
description: "Body of the note. Limited to 32 KB.",
|
|
9
|
+
},
|
|
10
|
+
IsPrivate: {
|
|
11
|
+
type: "boolean",
|
|
12
|
+
label: "Private",
|
|
13
|
+
description: "If true, only the note owner or a user with the “Modify All Data” permission can view the note or query it via the API.",
|
|
14
|
+
optional: true,
|
|
15
|
+
},
|
|
16
|
+
OwnerId: {
|
|
17
|
+
propDefinition: [
|
|
18
|
+
salesforce,
|
|
19
|
+
"recordId",
|
|
20
|
+
() => ({
|
|
21
|
+
objType: "User",
|
|
22
|
+
nameField: "Name",
|
|
23
|
+
}),
|
|
24
|
+
],
|
|
25
|
+
label: "Owner ID",
|
|
26
|
+
description: "ID of the user who owns the note.",
|
|
27
|
+
optional: true,
|
|
28
|
+
},
|
|
29
|
+
ParentId: {
|
|
30
|
+
type: "string",
|
|
31
|
+
label: "Parent ID",
|
|
32
|
+
description: "ID of the object associated with the note. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_note.htm) for which objects can be referenced.",
|
|
33
|
+
},
|
|
34
|
+
Title: {
|
|
35
|
+
type: "string",
|
|
36
|
+
label: "Title",
|
|
37
|
+
description: "Title of the note.",
|
|
38
|
+
},
|
|
16
39
|
},
|
|
17
40
|
};
|
|
@@ -1,27 +1,153 @@
|
|
|
1
|
+
import { RECORD_SOURCE_OPTIONS } from "../constants-props.mjs";
|
|
2
|
+
import commonProps from "../props-async-options.mjs";
|
|
3
|
+
import salesforce from "../../salesforce_rest_api.app.mjs";
|
|
4
|
+
|
|
1
5
|
export default {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
createProps: {
|
|
7
|
+
ContactId: {
|
|
8
|
+
propDefinition: [
|
|
9
|
+
salesforce,
|
|
10
|
+
"recordId",
|
|
11
|
+
() => ({
|
|
12
|
+
objType: "Contact",
|
|
13
|
+
nameField: "Name",
|
|
14
|
+
}),
|
|
15
|
+
],
|
|
16
|
+
label: "Contact ID",
|
|
17
|
+
description:
|
|
18
|
+
"ID of the contact associated with this opportunity, set as the primary contact.",
|
|
19
|
+
optional: true,
|
|
20
|
+
},
|
|
6
21
|
},
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
22
|
+
initialProps: {
|
|
23
|
+
CloseDate: {
|
|
24
|
+
type: "string",
|
|
25
|
+
label: "Close Date",
|
|
26
|
+
description: "Date when the opportunity is expected to close.",
|
|
27
|
+
},
|
|
28
|
+
Description: {
|
|
29
|
+
type: "string",
|
|
30
|
+
label: "Description",
|
|
31
|
+
description:
|
|
32
|
+
"Text description of the opportunity. Limit: 32,000 characters.",
|
|
33
|
+
optional: true,
|
|
34
|
+
},
|
|
35
|
+
Name: {
|
|
36
|
+
type: "string",
|
|
37
|
+
label: "Name",
|
|
38
|
+
description: "A name for this opportunity. Limit: 120 characters",
|
|
39
|
+
},
|
|
40
|
+
StageName: {
|
|
41
|
+
type: "string",
|
|
42
|
+
label: "Stage Name",
|
|
43
|
+
description:
|
|
44
|
+
"Current stage of this record. This controls several other fields on an opportunity.",
|
|
45
|
+
options: [
|
|
46
|
+
"Prospecting",
|
|
47
|
+
"Qualification",
|
|
48
|
+
"Needs Analysis",
|
|
49
|
+
"Value Proposition",
|
|
50
|
+
"Id. Decision Makers",
|
|
51
|
+
"Perception Analysis",
|
|
52
|
+
"Proposal/Price Quote",
|
|
53
|
+
"Negotiation/Review",
|
|
54
|
+
"Closed Won",
|
|
55
|
+
"Closed Lost",
|
|
56
|
+
],
|
|
57
|
+
},
|
|
11
58
|
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
59
|
+
extraProps: {
|
|
60
|
+
AccountId: {
|
|
61
|
+
...commonProps.AccountId,
|
|
62
|
+
description: "ID of the account associated with this opportunity.",
|
|
63
|
+
optional: true,
|
|
64
|
+
},
|
|
65
|
+
CampaignId: {
|
|
66
|
+
...commonProps.CampaignId,
|
|
67
|
+
description: "ID of a related Campaign.",
|
|
68
|
+
optional: true,
|
|
69
|
+
},
|
|
70
|
+
OwnerId: {
|
|
71
|
+
...commonProps.UserId,
|
|
72
|
+
description:
|
|
73
|
+
"ID of the User who has been assigned to work this opportunity.",
|
|
74
|
+
optional: true,
|
|
75
|
+
},
|
|
76
|
+
Pricebook2Id: {
|
|
77
|
+
...commonProps.Pricebook2Id,
|
|
78
|
+
description: "ID of a related Pricebook2 object.",
|
|
79
|
+
optional: true,
|
|
80
|
+
},
|
|
81
|
+
RecordTypeId: {
|
|
82
|
+
...commonProps.RecordTypeId,
|
|
83
|
+
optional: true,
|
|
84
|
+
},
|
|
85
|
+
Amount: {
|
|
86
|
+
type: "string",
|
|
87
|
+
label: "Amount",
|
|
88
|
+
description:
|
|
89
|
+
"Estimated total sale amount. For opportunities with products, the amount is the sum of the related products.",
|
|
90
|
+
optional: true,
|
|
91
|
+
},
|
|
92
|
+
ForecastCategoryName: {
|
|
93
|
+
type: "string",
|
|
94
|
+
label: "Forecast Category Name",
|
|
95
|
+
description: "The name of the forecast category.",
|
|
96
|
+
optional: true,
|
|
97
|
+
options: [
|
|
98
|
+
"Omitted",
|
|
99
|
+
"Pipeline",
|
|
100
|
+
"Best Case",
|
|
101
|
+
"Commit",
|
|
102
|
+
"Closed",
|
|
103
|
+
],
|
|
104
|
+
},
|
|
105
|
+
IsExcludedFromTerritory2Filter: {
|
|
106
|
+
type: "boolean",
|
|
107
|
+
label: "Excluded from Filter",
|
|
108
|
+
description:
|
|
109
|
+
"Used for Filter-Based Opportunity Territory Assignment. Indicates whether the opportunity is excluded (`true`) or included (`false`) each time the APEX filter is executed.",
|
|
110
|
+
optional: true,
|
|
111
|
+
},
|
|
112
|
+
LeadSource: {
|
|
113
|
+
type: "string",
|
|
114
|
+
label: "Lead Source",
|
|
115
|
+
description:
|
|
116
|
+
"Source of this opportunity.",
|
|
117
|
+
optional: true,
|
|
118
|
+
options: RECORD_SOURCE_OPTIONS,
|
|
119
|
+
},
|
|
120
|
+
NextStep: {
|
|
121
|
+
type: "string",
|
|
122
|
+
label: "Next Step",
|
|
123
|
+
description:
|
|
124
|
+
"Description of next task in closing opportunity. Limit: 255 characters.",
|
|
125
|
+
optional: true,
|
|
126
|
+
},
|
|
127
|
+
Probability: {
|
|
128
|
+
type: "string",
|
|
129
|
+
label: "Probability (%)",
|
|
130
|
+
description:
|
|
131
|
+
"Percentage of estimated confidence in closing the opportunity.",
|
|
132
|
+
optional: true,
|
|
133
|
+
},
|
|
134
|
+
TotalOpportunityQuantity: {
|
|
135
|
+
type: "integer",
|
|
136
|
+
label: "Quantity",
|
|
137
|
+
description: "Number of items included in this opportunity.",
|
|
138
|
+
optional: true,
|
|
139
|
+
},
|
|
140
|
+
Type: {
|
|
141
|
+
type: "string",
|
|
142
|
+
label: "Opportunity Type",
|
|
143
|
+
description: "Type of opportunity.",
|
|
144
|
+
optional: true,
|
|
145
|
+
options: [
|
|
146
|
+
"Existing Customer - Upgrade",
|
|
147
|
+
"Existing Customer - Replacement",
|
|
148
|
+
"Existing Customer - Downgrade",
|
|
149
|
+
"New Customer",
|
|
150
|
+
],
|
|
151
|
+
},
|
|
26
152
|
},
|
|
27
153
|
};
|