Minor improvements zu Salesforce-Node

This commit is contained in:
Jan Oberhauser 2020-02-12 22:35:56 -08:00
parent 2eaeb4f4c2
commit f64a1a9bf1
10 changed files with 1553 additions and 1542 deletions

View file

@ -13,40 +13,40 @@ export const accountOperations = [
},
},
options: [
{
name: 'Add Note',
value: 'addNote',
description: 'Add note to an account',
},
{
name: 'Create',
value: 'create',
description: 'Create an account',
},
{
name: 'Update',
value: 'update',
description: 'Update an account',
},
{
name: 'Get',
value: 'get',
description: 'Get an account',
},
{
name: 'Get Summary',
value: 'getSummary',
description: `Returns an overview of account's metadata.`,
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all accounts',
},
{
name: 'Get Summary',
value: 'getSummary',
description: `Returns an overview of account's metadata.`,
},
{
name: 'Delete',
value: 'delete',
description: 'Delete an account',
},
{
name: 'Add Note',
value: 'addNote',
description: 'Add note to an account',
name: 'Update',
value: 'update',
description: 'Update an account',
},
],
default: 'create',
@ -94,108 +94,6 @@ export const accountFields = [
},
},
options: [
{
displayName: 'Fax',
name: 'fax',
type: 'string',
default: '',
description: 'Fax number for the account.',
},
{
displayName: 'Type',
name: 'type',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getAccountTypes',
},
description: 'Type of account',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the account.',
},
{
displayName: 'Jigsaw',
name: 'jigsaw',
type: 'string',
default: '',
description: 'references the ID of a company in Data.com',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the account.',
},
{
displayName: 'SicDesc',
name: 'sicDesc',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
description: 'A brief description of an organizations line of business, based on its SIC code.',
},
{
displayName: 'Website',
name: 'website',
type: 'string',
default: '',
description: 'The website of this account. Maximum of 255 characters.',
},
{
displayName: 'Industry',
name: 'industry',
type: 'string',
default: '',
description: 'The website of this account. Maximum of 255 characters.',
},
{
displayName: 'Parent Id',
name: 'parentId',
type: 'string',
default: '',
description: 'ID of the parent object, if any.',
},
{
displayName: 'Billing City',
name: 'billingCity',
type: 'string',
default: '',
description: 'Details for the billing address of this account. Maximum size is 40 characters.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: 'Text description of the account. Limited to 32,000 KB.',
},
{
displayName: 'Billing State',
name: 'billingState',
type: 'string',
default: '',
description: 'Details for the billing address of this account. Maximum size is 80 characters.',
},
{
displayName: 'Shipping City',
name: 'shippingCity',
type: 'string',
default: '',
description: 'Details of the shipping address for this account. City maximum size is 40 characters',
},
{
displayName: 'Account Source',
name: 'accountSource',
@ -217,18 +115,11 @@ export const accountFields = [
description: 'Estimated annual revenue of the account.',
},
{
displayName: 'Billing Street',
name: 'billingStreet',
displayName: 'Billing City',
name: 'billingCity',
type: 'string',
default: '',
description: 'Street address for the billing address of this account.',
},
{
displayName: 'Shipping State',
name: 'shippingState',
type: 'string',
default: '',
description: 'Details of the shipping address for this account. State maximum size is 80 characters.',
description: 'Details for the billing address of this account. Maximum size is 40 characters.',
},
{
displayName: 'Billing Country',
@ -237,20 +128,6 @@ export const accountFields = [
default: '',
description: 'Details for the billing address of this account. Maximum size is 80 characters.',
},
{
displayName: 'Shipping Street',
name: 'shippingStreet',
type: 'string',
default: '',
description: 'The street address of the shipping address for this account. Maximum of 255 characters.',
},
{
displayName: 'Shipping Country',
name: 'shippingCountry',
type: 'string',
default: '',
description: 'Details of the shipping address for this account. Country maximum size is 80 characters.',
},
{
displayName: 'Billing Postal Code',
name: 'billingPostalCode',
@ -258,6 +135,51 @@ export const accountFields = [
default: '',
description: 'Details for the billing address of this account. Maximum size is 20 characters.',
},
{
displayName: 'Billing State',
name: 'billingState',
type: 'string',
default: '',
description: 'Details for the billing address of this account. Maximum size is 80 characters.',
},
{
displayName: 'Billing Street',
name: 'billingStreet',
type: 'string',
default: '',
description: 'Street address for the billing address of this account.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: 'Text description of the account. Limited to 32,000 KB.',
},
{
displayName: 'Fax',
name: 'fax',
type: 'string',
default: '',
description: 'Fax number for the account.',
},
{
displayName: 'Jigsaw',
name: 'jigsaw',
type: 'string',
default: '',
description: 'references the ID of a company in Data.com',
},
{
displayName: 'Industry',
name: 'industry',
type: 'string',
default: '',
description: 'The website of this account. Maximum of 255 characters.',
},
{
displayName: 'Number Of Employees',
name: 'numberOfEmployees',
@ -265,6 +187,63 @@ export const accountFields = [
default: '',
description: 'Number of employees',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the account.',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the account.',
},
{
displayName: 'SicDesc',
name: 'sicDesc',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
description: 'A brief description of an organizations line of business, based on its SIC code.',
},
{
displayName: 'Type',
name: 'type',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getAccountTypes',
},
description: 'Type of account',
},
{
displayName: 'Parent Id',
name: 'parentId',
type: 'string',
default: '',
description: 'ID of the parent object, if any.',
},
{
displayName: 'Shipping City',
name: 'shippingCity',
type: 'string',
default: '',
description: 'Details of the shipping address for this account. City maximum size is 40 characters',
},
{
displayName: 'Shipping Country',
name: 'shippingCountry',
type: 'string',
default: '',
description: 'Details of the shipping address for this account. Country maximum size is 80 characters.',
},
{
displayName: 'Shipping Postal Code',
name: 'shippingPostalCode',
@ -272,6 +251,27 @@ export const accountFields = [
default: '',
description: 'Details of the shipping address for this account. Postal code maximum size is 20 characters.',
},
{
displayName: 'Shipping State',
name: 'shippingState',
type: 'string',
default: '',
description: 'Details of the shipping address for this account. State maximum size is 80 characters.',
},
{
displayName: 'Shipping Street',
name: 'shippingStreet',
type: 'string',
default: '',
description: 'The street address of the shipping address for this account. Maximum of 255 characters.',
},
{
displayName: 'Website',
name: 'website',
type: 'string',
default: '',
description: 'The website of this account. Maximum of 255 characters.',
},
],
},
/* -------------------------------------------------------------------------- */
@ -312,115 +312,6 @@ export const accountFields = [
},
},
options: [
{
displayName: 'Name',
name: 'name',
type: 'string',
default: '',
description: 'Name of the account. Maximum size is 255 characters.',
},
{
displayName: 'Fax',
name: 'fax',
type: 'string',
default: '',
description: 'Fax number for the account.',
},
{
displayName: 'Type',
name: 'type',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getAccountTypes',
},
description: 'Type of account',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the account.',
},
{
displayName: 'Jigsaw',
name: 'jigsaw',
type: 'string',
default: '',
description: 'references the ID of a company in Data.com',
},
{
displayName: 'Owner',
name: 'ownerId',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the account.',
},
{
displayName: 'SicDesc',
name: 'sicDesc',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
description: 'A brief description of an organizations line of business, based on its SIC code.',
},
{
displayName: 'Website',
name: 'website',
type: 'string',
default: '',
description: 'The website of this account. Maximum of 255 characters.',
},
{
displayName: 'Industry',
name: 'industry',
type: 'string',
default: '',
description: 'The website of this account. Maximum of 255 characters.',
},
{
displayName: 'Parent Id',
name: 'parentId',
type: 'string',
default: '',
description: 'ID of the parent object, if any.',
},
{
displayName: 'Billing City',
name: 'billingCity',
type: 'string',
default: '',
description: 'Details for the billing address of this account. Maximum size is 40 characters.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: 'Text description of the account. Limited to 32,000 KB.',
},
{
displayName: 'Billing State',
name: 'billingState',
type: 'string',
default: '',
description: 'Details for the billing address of this account. Maximum size is 80 characters.',
},
{
displayName: 'Shipping City',
name: 'shippingCity',
type: 'string',
default: '',
description: 'Details of the shipping address for this account. City maximum size is 40 characters',
},
{
displayName: 'Account Source',
name: 'accountSource',
@ -442,18 +333,11 @@ export const accountFields = [
description: 'Estimated annual revenue of the account.',
},
{
displayName: 'Billing Street',
name: 'billingStreet',
displayName: 'Billing City',
name: 'billingCity',
type: 'string',
default: '',
description: 'Street address for the billing address of this account.',
},
{
displayName: 'Shipping State',
name: 'shippingState',
type: 'string',
default: '',
description: 'Details of the shipping address for this account. State maximum size is 80 characters.',
description: 'Details for the billing address of this account. Maximum size is 40 characters.',
},
{
displayName: 'Billing Country',
@ -462,20 +346,6 @@ export const accountFields = [
default: '',
description: 'Details for the billing address of this account. Maximum size is 80 characters.',
},
{
displayName: 'Shipping Street',
name: 'shippingStreet',
type: 'string',
default: '',
description: 'The street address of the shipping address for this account. Maximum of 255 characters.',
},
{
displayName: 'Shipping Country',
name: 'shippingCountry',
type: 'string',
default: '',
description: 'Details of the shipping address for this account. Country maximum size is 80 characters.',
},
{
displayName: 'Billing Postal Code',
name: 'billingPostalCode',
@ -483,6 +353,85 @@ export const accountFields = [
default: '',
description: 'Details for the billing address of this account. Maximum size is 20 characters.',
},
{
displayName: 'Billing State',
name: 'billingState',
type: 'string',
default: '',
description: 'Details for the billing address of this account. Maximum size is 80 characters.',
},
{
displayName: 'Billing Street',
name: 'billingStreet',
type: 'string',
default: '',
description: 'Street address for the billing address of this account.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: 'Text description of the account. Limited to 32,000 KB.',
},
{
displayName: 'Fax',
name: 'fax',
type: 'string',
default: '',
description: 'Fax number for the account.',
},
{
displayName: 'Industry',
name: 'industry',
type: 'string',
default: '',
description: 'The website of this account. Maximum of 255 characters.',
},
{
displayName: 'Jigsaw',
name: 'jigsaw',
type: 'string',
default: '',
description: 'references the ID of a company in Data.com',
},
{
displayName: 'Owner',
name: 'ownerId',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the account.',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the account.',
},
{
displayName: 'Type',
name: 'type',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getAccountTypes',
},
description: 'Type of account',
},
{
displayName: 'Name',
name: 'name',
type: 'string',
default: '',
description: 'Name of the account. Maximum size is 255 characters.',
},
{
displayName: 'Number Of Employees',
name: 'numberOfEmployees',
@ -490,6 +439,36 @@ export const accountFields = [
default: '',
description: 'Number of employees',
},
{
displayName: 'Parent Id',
name: 'parentId',
type: 'string',
default: '',
description: 'ID of the parent object, if any.',
},
{
displayName: 'SicDesc',
name: 'sicDesc',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
description: 'A brief description of an organizations line of business, based on its SIC code.',
},
{
displayName: 'Shipping City',
name: 'shippingCity',
type: 'string',
default: '',
description: 'Details of the shipping address for this account. City maximum size is 40 characters',
},
{
displayName: 'Shipping Country',
name: 'shippingCountry',
type: 'string',
default: '',
description: 'Details of the shipping address for this account. Country maximum size is 80 characters.',
},
{
displayName: 'Shipping Postal Code',
name: 'shippingPostalCode',
@ -497,6 +476,27 @@ export const accountFields = [
default: '',
description: 'Details of the shipping address for this account. Postal code maximum size is 20 characters.',
},
{
displayName: 'Shipping State',
name: 'shippingState',
type: 'string',
default: '',
description: 'Details of the shipping address for this account. State maximum size is 80 characters.',
},
{
displayName: 'Shipping Street',
name: 'shippingStreet',
type: 'string',
default: '',
description: 'The street address of the shipping address for this account. Maximum of 255 characters.',
},
{
displayName: 'Website',
name: 'website',
type: 'string',
default: '',
description: 'The website of this account. Maximum of 255 characters.',
},
],
},
@ -678,6 +678,13 @@ export const accountFields = [
},
description: 'Body of the note. Limited to 32 KB.',
},
{
displayName: 'Is Private',
name: 'isPrivate',
type: 'boolean',
default: false,
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',
},
{
displayName: 'Owner',
name: 'ownerId',
@ -688,13 +695,6 @@ export const accountFields = [
default: '',
description: 'ID of the user who owns the note.',
},
{
displayName: 'Is Private',
name: 'isPrivate',
type: 'boolean',
default: false,
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',
},
]
},
] as INodeProperties[];

View file

@ -19,29 +19,29 @@ export const attachmentOperations = [
description: 'Create a attachment',
},
{
name: 'Update',
value: 'update',
description: 'Update a attachment',
name: 'Delete',
value: 'delete',
description: 'Delete a attachment',
},
{
name: 'Get',
value: 'get',
description: 'Get a attachment',
},
{
name: 'Get Summary',
value: 'getSummary',
description: `Returns an overview of attachment's metadata.`,
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all attachments',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a attachment',
name: 'Get Summary',
value: 'getSummary',
description: `Returns an overview of attachment's metadata.`,
},
{
name: 'Update',
value: 'update',
description: 'Update a attachment',
},
],
default: 'create',
@ -127,14 +127,11 @@ export const attachmentFields = [
},
options: [
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'ID of the User who owns the attachment.',
description: `Text description of the Document. Limit: 255 characters.`,
},
{
displayName: 'Is Private',
@ -144,11 +141,14 @@ export const attachmentFields = [
description: 'Indicates whether this record is viewable only by the owner and administrators (true) or viewable by all otherwise-allowed users (false). ',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: `Text description of the Document. Limit: 255 characters.`,
description: 'ID of the User who owns the attachment.',
},
],
},
@ -190,6 +190,28 @@ export const attachmentFields = [
},
},
options: [
{
displayName: 'Binary Property',
name: 'binaryPropertyName',
type: 'string',
default: 'data',
placeholder: '',
description: 'Name of the binary property which contains<br />the data for the file to be uploaded.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: `Text description of the Document. Limit: 255 characters.`,
},
{
displayName: 'Is Private',
name: 'isPrivate',
type: 'boolean',
default: false,
description: 'Indicates whether this record is viewable only by the owner and administrators (true) or viewable by all otherwise-allowed users (false). ',
},
{
displayName: 'Name',
name: 'name',
@ -207,28 +229,6 @@ export const attachmentFields = [
default: '',
description: 'ID of the User who owns the attachment.',
},
{
displayName: 'Is Private',
name: 'isPrivate',
type: 'boolean',
default: false,
description: 'Indicates whether this record is viewable only by the owner and administrators (true) or viewable by all otherwise-allowed users (false). ',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: `Text description of the Document. Limit: 255 characters.`,
},
{
displayName: 'Binary Property',
name: 'binaryPropertyName',
type: 'string',
default: 'data',
placeholder: '',
description: 'Name of the binary property which contains<br />the data for the file to be uploaded.',
},
],
},

View file

@ -13,40 +13,40 @@ export const caseOperations = [
},
},
options: [
{
name: 'Add Comment',
value: 'addComment',
description: 'Add a comment to a case',
},
{
name: 'Create',
value: 'create',
description: 'Create a case',
},
{
name: 'Update',
value: 'update',
description: 'Update a case',
},
{
name: 'Get',
value: 'get',
description: 'Get a case',
},
{
name: 'Get Summary',
value: 'getSummary',
description: `Returns an overview of case's metadata.`,
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all cases',
},
{
name: 'Get Summary',
value: 'getSummary',
description: `Returns an overview of case's metadata.`,
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a case',
},
{
name: 'Add Comment',
value: 'addComment',
description: 'Add a comment to a case',
name: 'Update',
value: 'update',
description: 'Update a case',
},
],
default: 'create',
@ -97,70 +97,6 @@ export const caseFields = [
},
},
options: [
{
displayName: 'Origin',
name: 'origin',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getCaseOrigins',
},
default: '',
description: 'The source of the case, such as Email, Phone, or Web. Label is Case Origin.',
},
{
displayName: 'Reason',
name: 'reason',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getCaseReasons',
},
default: '',
description: 'The reason why the case was created, such as Instructions not clear, or User didnt attend training.',
},
{
displayName: 'Status',
name: 'status',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getCaseStatuses',
},
default: '',
description: 'The status of the case, such as “New,” “Closed,” or “Escalated.” This field directly controls the IsClosed flag',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the case.',
},
{
displayName: 'Subject',
name: 'subject',
type: 'string',
default: '',
description: 'The subject of the case. Limit: 255 characters.',
},
{
displayName: 'Parent Id',
name: 'ParentId',
type: 'string',
default: '',
description: 'The ID of the parent case in the hierarchy. The label is Parent Case.',
},
{
displayName: 'Priority',
name: 'priority',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getCasePriorities',
},
default: '',
description: 'The importance or urgency of the case, such as High, Medium, or Low.',
},
{
displayName: 'Account Id',
name: 'accountId',
@ -190,11 +126,75 @@ export const caseFields = [
description: 'Indicates whether the case has been escalated (true) or not.',
},
{
displayName: 'Supplied Name',
name: 'suppliedName',
displayName: 'Origin',
name: 'origin',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getCaseOrigins',
},
default: '',
description: 'The source of the case, such as Email, Phone, or Web. Label is Case Origin.',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the case.',
},
{
displayName: 'Parent Id',
name: 'ParentId',
type: 'string',
default: '',
description: `The name that was entered when the case was created. This field can't be updated after the case has been created`,
description: 'The ID of the parent case in the hierarchy. The label is Parent Case.',
},
{
displayName: 'Priority',
name: 'priority',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getCasePriorities',
},
default: '',
description: 'The importance or urgency of the case, such as High, Medium, or Low.',
},
{
displayName: 'Reason',
name: 'reason',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getCaseReasons',
},
default: '',
description: 'The reason why the case was created, such as Instructions not clear, or User didnt attend training.',
},
{
displayName: 'Status',
name: 'status',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getCaseStatuses',
},
default: '',
description: 'The status of the case, such as “New,” “Closed,” or “Escalated.” This field directly controls the IsClosed flag',
},
{
displayName: 'Subject',
name: 'subject',
type: 'string',
default: '',
description: 'The subject of the case. Limit: 255 characters.',
},
{
displayName: 'Supplied Company',
name: 'suppliedCompany',
type: 'string',
default: '',
description: `The company name that was entered when the case was created. This field can't be updated after the case has been created..`,
},
{
displayName: 'Supplied Email',
@ -203,6 +203,13 @@ export const caseFields = [
default: '',
description: `The email address that was entered when the case was created. This field can't be updated after the case has been created.`,
},
{
displayName: 'Supplied Name',
name: 'suppliedName',
type: 'string',
default: '',
description: `The name that was entered when the case was created. This field can't be updated after the case has been created`,
},
{
displayName: 'Supplied Phone',
name: 'suppliedPhone',
@ -210,13 +217,6 @@ export const caseFields = [
default: '',
description: `The phone number that was entered when the case was created. This field can't be updated after the case has been created.`,
},
{
displayName: 'Supplied Company',
name: 'suppliedCompany',
type: 'string',
default: '',
description: `The company name that was entered when the case was created. This field can't be updated after the case has been created..`,
},
],
},
/* -------------------------------------------------------------------------- */

View file

@ -13,15 +13,25 @@ export const contactOperations = [
},
},
options: [
{
name: 'Add Lead To Campaign',
value: 'addToCampaign',
description: 'Add lead to a campaign',
},
{
name: 'Add Note',
value: 'addNote',
description: 'Add note to a contact',
},
{
name: 'Create',
value: 'create',
description: 'Create a contact',
},
{
name: 'Update',
value: 'update',
description: 'Update a contact',
name: 'Delete',
value: 'delete',
description: 'Delete a contact',
},
{
name: 'Get',
@ -39,19 +49,9 @@ export const contactOperations = [
description: 'Get all contacts',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a contact',
},
{
name: 'Add Lead To Campaign',
value: 'addToCampaign',
description: 'Add lead to a campaign',
},
{
name: 'Add Note',
value: 'addNote',
description: 'Add note to a contact',
name: 'Update',
value: 'update',
description: 'Update a contact',
},
],
default: 'create',
@ -99,52 +99,6 @@ export const contactFields = [
},
},
options: [
{
displayName: 'Fax',
name: 'fax',
type: 'string',
default: '',
description: 'Fax number for the contact. Label is Business Fax.',
},
{
displayName: 'Email',
name: 'email',
type: 'string',
default: '',
description: 'Email address for the contact.',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the contact.',
},
{
displayName: 'Title',
name: 'title',
type: 'string',
default: '',
description: 'Title of the contact such as CEO or Vice President.',
},
{
displayName: 'Jigsaw',
name: 'jigsaw',
type: 'string',
default: '',
description: `references the ID of a contact in Data.com.
If a contact has a value in this field, it means that a contact was imported as a contact from Data.com.`,
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the contact.',
},
{
displayName: 'Account',
name: 'acconuntId',
@ -156,11 +110,67 @@ export const contactFields = [
description: 'ID of the account that is the parent of this contact.',
},
{
displayName: 'Birthdate',
name: 'birthdate',
displayName: 'Assistant Name',
name: 'assistantName',
type: 'string',
default: '',
description: 'The birthdate of the contact.',
description: 'The name of the assistant.',
},
{
displayName: 'Assistant Phone',
name: 'Assistant Phone',
type: 'string',
default: '',
description: 'The telephone number of the assistant.',
},
{
displayName: 'Birth Date',
name: 'birthdate',
type: 'dateTime',
default: '',
description: 'The birth date of the contact.',
},
{
displayName: 'Department',
name: 'department',
type: 'string',
default: '',
description: 'The department of the contact.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'A description of the contact. Label is Contact Description. Limit: 32 KB.',
},
{
displayName: 'Email',
name: 'email',
type: 'string',
default: '',
description: 'Email address for the contact.',
},
{
displayName: 'Email Bounced Date',
name: 'otherPostalCode',
type: 'dateTime',
default: '',
description: 'If bounce management is activated and an email sent to the contact bounces, the date and time the bounce occurred.',
},
{
displayName: 'Email Bounced Reason',
name: 'emailBouncedReason',
type: 'string',
default: '',
description: 'If bounce management is activated and an email sent to the contact bounces, the reason the bounce occurred.',
},
{
displayName: 'Fax',
name: 'fax',
type: 'string',
default: '',
description: 'Fax number for the contact. Label is Business Fax.',
},
{
displayName: 'First Name',
@ -177,17 +187,12 @@ export const contactFields = [
description: 'Home telephone number for the contact',
},
{
displayName: 'Other City',
name: 'otherCity',
displayName: 'Jigsaw',
name: 'jigsaw',
type: 'string',
default: '',
},
{
displayName: 'Department',
name: 'department',
type: 'string',
default: '',
description: 'The department of the contact.',
description: `references the ID of a contact in Data.com.
If a contact has a value in this field, it means that a contact was imported as a contact from Data.com.`,
},
{
displayName: 'Lead Source',
@ -199,39 +204,18 @@ export const contactFields = [
default: '',
description: 'Source from which the lead was obtained.',
},
{
displayName: 'Other Phone',
name: 'otherPhone',
type: 'string',
default: '',
description: 'Telephone for alternate address.',
},
{
displayName: 'Other State',
name: 'otherState',
type: 'string',
default: '',
},
{
displayName: 'Salutation',
name: 'salutation',
type: 'string',
default: '',
description: 'Honorific abbreviation, word, or phrase to be used in front of name in greetings, such as Dr. or Mrs.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'A description of the contact. Label is Contact Description. Limit: 32 KB.',
},
{
displayName: 'Mailing City',
name: 'mailingCity',
type: 'string',
default: '',
},
{
displayName: 'Mailing Country',
name: 'mailingCountry',
type: 'string',
default: '',
},
{
displayName: 'Mobile Phone',
name: 'mobilePhone',
@ -240,11 +224,10 @@ export const contactFields = [
description: `Contacts mobile phone number.`,
},
{
displayName: 'Other Street',
name: 'otherStreet',
displayName: 'Mailing Postal Code',
name: 'mailingPostalCode',
type: 'string',
default: '',
description: 'Street for alternate address.',
},
{
displayName: 'Mailing State',
@ -252,6 +235,19 @@ export const contactFields = [
type: 'string',
default: '',
},
{
displayName: 'Mailing Street',
name: 'mailingStreet',
type: 'string',
default: '',
description: 'Street address for mailing address.',
},
{
displayName: 'Other City',
name: 'otherCity',
type: 'string',
default: '',
},
{
displayName: 'Other Country',
name: 'otherCountry',
@ -259,31 +255,11 @@ export const contactFields = [
default: '',
},
{
displayName: 'Assistant Name',
name: 'assistantName',
type: 'string',
default: '',
description: 'The name of the assistant.',
},
{
displayName: 'Mailing Street',
name: 'mailingStreet',
type: 'string',
default: '',
description: 'Street address for mailing address.',
},
{
displayName: 'Assistant Phone',
name: 'Assistant Phone',
type: 'string',
default: '',
description: 'The telephone number of the assistant.',
},
{
displayName: 'Mailing Country',
name: 'mailingCountry',
displayName: 'Other Phone',
name: 'otherPhone',
type: 'string',
default: '',
description: 'Telephone for alternate address.',
},
{
displayName: 'Other Postal Code',
@ -292,24 +268,48 @@ export const contactFields = [
default: '',
},
{
displayName: 'Email Bounced Date',
name: 'otherPostalCode',
type: 'dateTime',
default: '',
description: 'If bounce management is activated and an email sent to the contact bounces, the date and time the bounce occurred.',
},
{
displayName: 'Mailing Postal Code',
name: 'mailingPostalCode',
displayName: 'Other State',
name: 'otherState',
type: 'string',
default: '',
},
{
displayName: 'Email Bounced Reason',
name: 'emailBouncedReason',
displayName: 'Other Street',
name: 'otherStreet',
type: 'string',
default: '',
description: 'If bounce management is activated and an email sent to the contact bounces, the reason the bounce occurred.',
description: 'Street for alternate address.',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the contact.',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the contact.',
},
{
displayName: 'Title',
name: 'title',
type: 'string',
default: '',
description: 'Title of the contact such as CEO or Vice President.',
},
{
displayName: 'Salutation',
name: 'salutation',
type: 'string',
default: '',
description: 'Honorific abbreviation, word, or phrase to be used in front of name in greetings, such as Dr. or Mrs.',
},
],
},
@ -351,52 +351,6 @@ export const contactFields = [
},
},
options: [
{
displayName: 'Fax',
name: 'fax',
type: 'string',
default: '',
description: 'Fax number for the contact. Label is Business Fax.',
},
{
displayName: 'Email',
name: 'email',
type: 'string',
default: '',
description: 'Email address for the contact.',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the contact.',
},
{
displayName: 'Title',
name: 'title',
type: 'string',
default: '',
description: 'Title of the contact such as CEO or Vice President.',
},
{
displayName: 'Jigsaw',
name: 'jigsaw',
type: 'string',
default: '',
description: `references the ID of a contact in Data.com.
If a contact has a value in this field, it means that a contact was imported as a contact from Data.com.`,
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the contact.',
},
{
displayName: 'Account',
name: 'acconuntId',
@ -408,11 +362,67 @@ export const contactFields = [
description: 'ID of the account that is the parent of this contact.',
},
{
displayName: 'Birthdate',
name: 'birthdate',
displayName: 'Assistant Name',
name: 'assistantName',
type: 'string',
default: '',
description: 'The birthdate of the contact.',
description: 'The name of the assistant.',
},
{
displayName: 'Assistant Phone',
name: 'Assistant Phone',
type: 'string',
default: '',
description: 'The telephone number of the assistant.',
},
{
displayName: 'Birth Date',
name: 'birthdate',
type: 'dateTime',
default: '',
description: 'The birth date of the contact.',
},
{
displayName: 'Department',
name: 'department',
type: 'string',
default: '',
description: 'The department of the contact.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'A description of the contact. Label is Contact Description. Limit: 32 KB.',
},
{
displayName: 'Email',
name: 'email',
type: 'string',
default: '',
description: 'Email address for the contact.',
},
{
displayName: 'Email Bounced Date',
name: 'emailBouncedDate',
type: 'dateTime',
default: '',
description: 'If bounce management is activated and an email sent to the contact bounces, the date and time the bounce occurred.',
},
{
displayName: 'Email Bounced Reason',
name: 'emailBouncedReason',
type: 'string',
default: '',
description: 'If bounce management is activated and an email sent to the contact bounces, the reason the bounce occurred.',
},
{
displayName: 'Fax',
name: 'fax',
type: 'string',
default: '',
description: 'Fax number for the contact. Label is Business Fax.',
},
{
displayName: 'First Name',
@ -429,17 +439,12 @@ export const contactFields = [
description: 'Home telephone number for the contact.',
},
{
displayName: 'Other City',
name: 'otherCity',
displayName: 'Jigsaw',
name: 'jigsaw',
type: 'string',
default: '',
},
{
displayName: 'Department',
name: 'department',
type: 'string',
default: '',
description: 'The department of the contact.',
description: `references the ID of a contact in Data.com.
If a contact has a value in this field, it means that a contact was imported as a contact from Data.com.`,
},
{
displayName: 'Lead Source',
@ -451,39 +456,37 @@ export const contactFields = [
default: '',
description: 'Source from which the lead was obtained.',
},
{
displayName: 'Other Phone',
name: 'otherPhone',
type: 'string',
default: '',
description: 'Telephone for alternate address.',
},
{
displayName: 'Other State',
name: 'otherState',
type: 'string',
default: '',
},
{
displayName: 'Salutation',
name: 'salutation',
type: 'string',
default: '',
description: 'Honorific abbreviation, word, or phrase to be used in front of name in greetings, such as Dr. or Mrs.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'A description of the contact. Label is Contact Description. Limit: 32 KB.',
},
{
displayName: 'Mailing City',
name: 'mailingCity',
type: 'string',
default: '',
},
{
displayName: 'Mailing Country',
name: 'mailingCountry',
type: 'string',
default: '',
},
{
displayName: 'Mailing State',
name: 'mailingState',
type: 'string',
default: '',
},
{
displayName: 'Mailing Street',
name: 'mailingStreet',
type: 'string',
default: '',
description: 'Street address for mailing address.',
},
{
displayName: 'Mailing Postal Code',
name: 'mailingPostalCode',
type: 'string',
default: '',
},
{
displayName: 'Mobile Phone',
name: 'mobilePhone',
@ -492,15 +495,8 @@ export const contactFields = [
description: `Contacts mobile phone number.`,
},
{
displayName: 'Other Street',
name: 'otherStreet',
type: 'string',
default: '',
description: 'Street for alternate address.',
},
{
displayName: 'Mailing State',
name: 'mailingState',
displayName: 'Other City',
name: 'otherCity',
type: 'string',
default: '',
},
@ -511,31 +507,11 @@ export const contactFields = [
default: '',
},
{
displayName: 'Assistant Name',
name: 'assistantName',
type: 'string',
default: '',
description: 'The name of the assistant.',
},
{
displayName: 'Mailing Street',
name: 'mailingStreet',
type: 'string',
default: '',
description: 'Street address for mailing address.',
},
{
displayName: 'Assistant Phone',
name: 'Assistant Phone',
type: 'string',
default: '',
description: 'The telephone number of the assistant.',
},
{
displayName: 'Mailing Country',
name: 'mailingCountry',
displayName: 'Other Phone',
name: 'otherPhone',
type: 'string',
default: '',
description: 'Telephone for alternate address.',
},
{
displayName: 'Other Postal Code',
@ -544,24 +520,48 @@ export const contactFields = [
default: '',
},
{
displayName: 'Email Bounced Date',
name: 'emailBouncedDate',
type: 'dateTime',
default: '',
description: 'If bounce management is activated and an email sent to the contact bounces, the date and time the bounce occurred.',
},
{
displayName: 'Mailing Postal Code',
name: 'mailingPostalCode',
displayName: 'Other State',
name: 'otherState',
type: 'string',
default: '',
},
{
displayName: 'Email Bounced Reason',
name: 'emailBouncedReason',
displayName: 'Other Street',
name: 'otherStreet',
type: 'string',
default: '',
description: 'If bounce management is activated and an email sent to the contact bounces, the reason the bounce occurred.',
description: 'Street for alternate address.',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the contact.',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the contact.',
},
{
displayName: 'Salutation',
name: 'salutation',
type: 'string',
default: '',
description: 'Honorific abbreviation, word, or phrase to be used in front of name in greetings, such as Dr. or Mrs.',
},
{
displayName: 'Title',
name: 'title',
type: 'string',
default: '',
description: 'Title of the contact such as CEO or Vice President.',
},
],
},
@ -813,6 +813,13 @@ export const contactFields = [
},
description: 'Body of the note. Limited to 32 KB.',
},
{
displayName: 'Is Private',
name: 'isPrivate',
type: 'boolean',
default: false,
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',
},
{
displayName: 'Owner',
name: 'owner',
@ -823,13 +830,6 @@ export const contactFields = [
default: '',
description: 'ID of the user who owns the note.',
},
{
displayName: 'Is Private',
name: 'isPrivate',
type: 'boolean',
default: false,
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',
},
]
},
] as INodeProperties[];

View file

@ -22,7 +22,7 @@ export async function salesforceApiRequest(this: IExecuteFunctions | IExecuteSin
//@ts-ignore
return await this.helpers.requestOAuth.call(this, 'salesforceOAuth2Api', options);
} catch (error) {
if (error.response && error.response.body && error.response.body[0].message) {
if (error.response && error.response.body && error.response.body[0] && error.response.body[0].message) {
// Try to return the error prettier
throw new Error(`Salesforce error response [${error.statusCode}]: ${error.response.body[0].message}`);
}

View file

@ -13,36 +13,6 @@ export const leadOperations = [
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a lead',
},
{
name: 'Update',
value: 'update',
description: 'Update a lead',
},
{
name: 'Get',
value: 'get',
description: 'Get a lead',
},
{
name: 'Get Summary',
value: 'getSummary',
description: `Returns an overview of Lead's metadata.`,
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all leads',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a lead',
},
{
name: 'Add Lead To Campaign',
value: 'addToCampaign',
@ -53,6 +23,36 @@ export const leadOperations = [
value: 'addNote',
description: 'Add note to a lead',
},
{
name: 'Create',
value: 'create',
description: 'Create a lead',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a lead',
},
{
name: 'Get',
value: 'get',
description: 'Get a lead',
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all leads',
},
{
name: 'Get Summary',
value: 'getSummary',
description: `Returns an overview of Lead's metadata.`,
},
{
name: 'Update',
value: 'update',
description: 'Update a lead',
},
],
default: 'create',
description: 'The operation to perform.',
@ -117,6 +117,17 @@ export const leadFields = [
},
},
options: [
{
displayName: 'Annual Revenue',
name: 'annualRevenue',
type: 'number',
typeOptions: {
numberPrecision: 2,
numberStepSize: 1,
},
default: '',
description: 'Annual revenue for the company of the lead.',
},
{
displayName: 'City',
name: 'city',
@ -124,6 +135,16 @@ export const leadFields = [
default: '',
description: 'City for the address of the lead.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: 'Description of the lead.',
},
{
displayName: 'Email',
name: 'email',
@ -132,25 +153,25 @@ export const leadFields = [
description: 'Email address for the lead.',
},
{
displayName: 'Phone',
name: 'phone',
displayName: 'Fist Name',
name: 'firstname',
type: 'string',
default: '',
description: 'Phone number for the lead.',
description: 'First name of the lead. Limited to 40 characters.',
},
{
displayName: 'State',
name: 'state',
displayName: 'Industry',
name: 'industry',
type: 'string',
default: '',
description: 'State for the address of the lead.',
description: 'Website for the lead.',
},
{
displayName: 'Title',
name: 'title',
type: 'string',
default: '',
description: 'Title for the lead, for example CFO or CEO.',
displayName: 'Is Unread By Owner',
name: 'IsUnreadByOwner',
type: 'Boolean',
default: false,
description: 'If true, lead has been assigned, but not yet viewed. See Unread Leads for more information. Label is Unread By Owner.',
},
{
displayName: 'Jigsaw',
@ -160,6 +181,50 @@ export const leadFields = [
description: `references the ID of a contact in Data.com.
If a lead has a value in this field, it means that a contact was imported as a lead from Data.com.`,
},
{
displayName: 'Lead Source',
name: 'leadSource',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getLeadSources',
},
default: '',
description: 'Source from which the lead was obtained.',
},
{
displayName: 'Number Of Employees',
name: 'numberOfEmployees',
type: 'number',
typeOptions: {
numberStepSize: 1,
},
default: '',
description: 'Number of employees at the leads company. Label is Employees.',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the lead.',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the lead.',
},
{
displayName: 'Postal Code',
name: 'postalCode',
type: 'string',
default: '',
description: 'Postal code for the address of the lead. Label is Zip/Postal Code.',
},
{
displayName: 'Rating',
name: 'rating',
@ -167,6 +232,20 @@ export const leadFields = [
default: '',
description: 'Rating of the lead.',
},
{
displayName: 'Salutation',
name: 'salutation',
type: 'string',
default: '',
description: 'Salutation for the lead.',
},
{
displayName: 'State',
name: 'state',
type: 'string',
default: '',
description: 'State for the address of the lead.',
},
{
displayName: 'Status',
name: 'status',
@ -185,14 +264,11 @@ export const leadFields = [
description: 'Street number and name for the address of the lead',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
displayName: 'Title',
name: 'title',
type: 'string',
default: '',
description: 'The owner of the lead.',
description: 'Title for the lead, for example CFO or CEO.',
},
{
displayName: 'Website',
@ -201,82 +277,6 @@ export const leadFields = [
default: '',
description: 'Website for the lead.',
},
{
displayName: 'Industry',
name: 'industry',
type: 'string',
default: '',
description: 'Website for the lead.',
},
{
displayName: 'Fist Name',
name: 'firstname',
type: 'string',
default: '',
description: 'First name of the lead. Limited to 40 characters.',
},
{
displayName: 'Lead Source',
name: 'leadSource',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getLeadSources',
},
default: '',
description: 'Source from which the lead was obtained.',
},
{
displayName: 'Postal Code',
name: 'postalCode',
type: 'string',
default: '',
description: 'Postal code for the address of the lead. Label is Zip/Postal Code.',
},
{
displayName: 'Salutation',
name: 'salutation',
type: 'string',
default: '',
description: 'Salutation for the lead.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: 'Description of the lead.',
},
{
displayName: 'Annual Revenue',
name: 'annualRevenue',
type: 'number',
typeOptions: {
numberPrecision: 2,
numberStepSize: 1,
},
default: '',
description: 'Annual revenue for the company of the lead.',
},
{
displayName: 'Number Of Employees',
name: 'numberOfEmployees',
type: 'number',
typeOptions: {
numberStepSize: 1,
},
default: '',
description: 'Number of employees at the leads company. Label is Employees.',
},
{
displayName: 'Is Unread By Owner',
name: 'IsUnreadByOwner',
type: 'Boolean',
default: false,
description: 'If true, lead has been assigned, but not yet viewed. See Unread Leads for more information. Label is Unread By Owner.',
},
]
},
/* -------------------------------------------------------------------------- */
@ -318,18 +318,15 @@ export const leadFields = [
},
options: [
{
displayName: 'Company',
name: 'company',
type: 'string',
displayName: 'Annual Revenue',
name: 'annualRevenue',
type: 'number',
typeOptions: {
numberPrecision: 2,
numberStepSize: 1,
},
default: '',
description: 'Company of the lead. If person account record types have been enabled, and if the value of Company is null, the lead converts to a person account.',
},
{
displayName: 'Last Name',
name: 'lastname',
type: 'string',
default: '',
description: 'Required. Last name of the lead. Limited to 80 characters.',
description: 'Annual revenue for the company of the lead.',
},
{
displayName: 'City',
@ -338,6 +335,23 @@ export const leadFields = [
default: '',
description: 'City for the address of the lead.',
},
{
displayName: 'Company',
name: 'company',
type: 'string',
default: '',
description: 'Company of the lead. If person account record types have been enabled, and if the value of Company is null, the lead converts to a person account.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: 'Description of the lead.',
},
{
displayName: 'Email',
name: 'email',
@ -346,25 +360,25 @@ export const leadFields = [
description: 'Email address for the lead.',
},
{
displayName: 'Phone',
name: 'phone',
displayName: 'Fist Name',
name: 'firstname',
type: 'string',
default: '',
description: 'Phone number for the lead.',
description: 'First name of the lead. Limited to 40 characters.',
},
{
displayName: 'State',
name: 'state',
displayName: 'Industry',
name: 'industry',
type: 'string',
default: '',
description: 'State for the address of the lead.',
description: 'Website for the lead.',
},
{
displayName: 'Title',
name: 'title',
type: 'string',
default: '',
description: 'Title for the lead, for example CFO or CEO.',
displayName: 'Is Unread By Owner',
name: 'IsUnreadByOwner',
type: 'Boolean',
default: false,
description: 'If true, lead has been assigned, but not yet viewed. See Unread Leads for more information. Label is Unread By Owner.',
},
{
displayName: 'Jigsaw',
@ -374,6 +388,57 @@ export const leadFields = [
description: `references the ID of a contact in Data.com.
If a lead has a value in this field, it means that a contact was imported as a lead from Data.com.`,
},
{
displayName: 'Last Name',
name: 'lastname',
type: 'string',
default: '',
description: 'Required. Last name of the lead. Limited to 80 characters.',
},
{
displayName: 'Lead Source',
name: 'leadSource',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getLeadSources',
},
default: '',
description: 'Source from which the lead was obtained.',
},
{
displayName: 'Number Of Employees',
name: 'numberOfEmployees',
type: 'number',
typeOptions: {
numberStepSize: 1,
},
default: '',
description: 'Number of employees at the leads company. Label is Employees.',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the lead.',
},
{
displayName: 'Postal Code',
name: 'postalCode',
type: 'string',
default: '',
description: 'Postal code for the address of the lead. Label is Zip/Postal Code.',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the lead.',
},
{
displayName: 'Rating',
name: 'rating',
@ -381,6 +446,20 @@ export const leadFields = [
default: '',
description: 'Rating of the lead.',
},
{
displayName: 'Salutation',
name: 'salutation',
type: 'string',
default: '',
description: 'Salutation for the lead.',
},
{
displayName: 'State',
name: 'state',
type: 'string',
default: '',
description: 'State for the address of the lead.',
},
{
displayName: 'Status',
name: 'status',
@ -399,14 +478,11 @@ export const leadFields = [
description: 'Street number and name for the address of the lead',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
displayName: 'Title',
name: 'title',
type: 'string',
default: '',
description: 'The owner of the lead.',
description: 'Title for the lead, for example CFO or CEO.',
},
{
displayName: 'Website',
@ -415,82 +491,6 @@ export const leadFields = [
default: '',
description: 'Website for the lead.',
},
{
displayName: 'Industry',
name: 'industry',
type: 'string',
default: '',
description: 'Website for the lead.',
},
{
displayName: 'Fist Name',
name: 'firstname',
type: 'string',
default: '',
description: 'First name of the lead. Limited to 40 characters.',
},
{
displayName: 'Lead Source',
name: 'leadSource',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getLeadSources',
},
default: '',
description: 'Source from which the lead was obtained.',
},
{
displayName: 'Postal Code',
name: 'postalCode',
type: 'string',
default: '',
description: 'Postal code for the address of the lead. Label is Zip/Postal Code.',
},
{
displayName: 'Salutation',
name: 'salutation',
type: 'string',
default: '',
description: 'Salutation for the lead.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: 'Description of the lead.',
},
{
displayName: 'Annual Revenue',
name: 'annualRevenue',
type: 'number',
typeOptions: {
numberPrecision: 2,
numberStepSize: 1,
},
default: '',
description: 'Annual revenue for the company of the lead.',
},
{
displayName: 'Number Of Employees',
name: 'numberOfEmployees',
type: 'number',
typeOptions: {
numberStepSize: 1,
},
default: '',
description: 'Number of employees at the leads company. Label is Employees.',
},
{
displayName: 'Is Unread By Owner',
name: 'IsUnreadByOwner',
type: 'Boolean',
default: false,
description: 'If true, lead has been assigned, but not yet viewed. See Unread Leads for more information. Label is Unread By Owner.',
},
]
},
@ -740,6 +740,13 @@ export const leadFields = [
},
description: 'Body of the note. Limited to 32 KB.',
},
{
displayName: 'Is Private',
name: 'isPrivate',
type: 'boolean',
default: false,
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',
},
{
displayName: 'Owner',
name: 'owner',
@ -750,13 +757,6 @@ export const leadFields = [
default: '',
description: 'ID of the user who owns the note.',
},
{
displayName: 'Is Private',
name: 'isPrivate',
type: 'boolean',
default: false,
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',
},
]
},
] as INodeProperties[];

View file

@ -13,40 +13,40 @@ export const opportunityOperations = [
},
},
options: [
{
name: 'Add Note',
value: 'addNote',
description: 'Add note to an opportunity',
},
{
name: 'Create',
value: 'create',
description: 'Create an opportunity',
},
{
name: 'Update',
value: 'update',
description: 'Update an opportunity',
},
{
name: 'Get',
value: 'get',
description: 'Get an opportunity',
},
{
name: 'Get Summary',
value: 'getSummary',
description: `Returns an overview of opportunity's metadata.`,
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all opportunitys',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete an opportunity',
},
{
name: 'Add Note',
value: 'addNote',
description: 'Add note to an opportunity',
name: 'Get',
value: 'get',
description: 'Get an opportunity',
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all opportunitys',
},
{
name: 'Get Summary',
value: 'getSummary',
description: `Returns an overview of opportunity's metadata.`,
},
{
name: 'Update',
value: 'update',
description: 'Update an opportunity',
},
],
default: 'create',
@ -133,6 +133,101 @@ export const opportunityFields = [
},
},
options: [
{
displayName: 'Account',
name: 'accountId',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getAccounts',
},
description: 'ID of the account associated with this opportunity.',
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
typeOptions: {
numberPrecision: 2,
},
default: '',
description: 'Estimated total sale amount',
},
{
displayName: 'Campaign',
name: 'campaignId',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getCampaigns',
},
default: '',
description: 'Id of the campaign that needs to be fetched',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'A description of the opportunity. Label is Contact Description. Limit: 32 KB.',
},
{
displayName: 'Forecast Category Name',
name: 'forecastCategoryName',
type: 'string',
default: '',
description: 'It is implied, but not directly controlled, by the StageName field',
},
{
displayName: 'Lead Source',
name: 'leadSource',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getLeadSources',
},
default: '',
description: 'Source from which the lead was obtained.',
},
{
displayName: 'Next Step',
name: 'nextStep',
type: 'string',
default: '',
description: 'Description of next task in closing opportunity. Limit: 255 characters.',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the opportunity.',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the opportunity.',
},
{
displayName: 'Pricebook2 Id',
name: 'pricebook2Id',
type: 'string',
default: '',
description: 'ID of a related Pricebook2 object',
},
{
displayName: 'Probability',
name: 'probability',
type: 'number',
typeOptions: {
numberPrecision: 1,
},
default: '',
description: 'Percentage of estimated confidence in closing the opportunity',
},
{
displayName: 'Type',
name: 'type',
@ -150,101 +245,6 @@ export const opportunityFields = [
],
description: 'Type of opportunity. For example, Existing Business or New Business. Label is Opportunity Type.',
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
typeOptions: {
numberPrecision: 2,
},
default: '',
description: 'Estimated total sale amount',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the opportunity.',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the opportunity.',
},
{
displayName: 'Next Step',
name: 'nextStep',
type: 'string',
default: '',
description: 'Description of next task in closing opportunity. Limit: 255 characters.',
},
{
displayName: 'Account',
name: 'accountId',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getAccounts',
},
description: 'ID of the account associated with this opportunity.',
},
{
displayName: 'Campaign',
name: 'campaignId',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getCampaigns',
},
default: '',
description: 'Id of the campaign that needs to be fetched',
},
{
displayName: 'Lead Source',
name: 'leadSource',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getLeadSources',
},
default: '',
description: 'Source from which the lead was obtained.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'A description of the opportunity. Label is Contact Description. Limit: 32 KB.',
},
{
displayName: 'Probability',
name: 'probability',
type: 'number',
typeOptions: {
numberPrecision: 1,
},
default: '',
description: 'Percentage of estimated confidence in closing the opportunity',
},
{
displayName: 'Pricebook2 Id',
name: 'pricebook2Id',
type: 'string',
default: '',
description: 'ID of a related Pricebook2 object',
},
{
displayName: 'Forecast Category Name',
name: 'forecastCategoryName',
type: 'string',
default: '',
description: 'It is implied, but not directly controlled, by the StageName field',
},
],
},
/* -------------------------------------------------------------------------- */
@ -286,11 +286,34 @@ export const opportunityFields = [
},
options: [
{
displayName: 'Name',
name: 'name',
type: 'string',
displayName: 'Account',
name: 'accountId',
type: 'options',
default: '',
description: 'Required. Last name of the opportunity. Limited to 80 characters.',
typeOptions: {
loadOptionsMethod: 'getAccounts',
},
description: 'ID of the account associated with this opportunity.',
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
typeOptions: {
numberPrecision: 2,
},
default: '',
description: 'Estimated total sale amount',
},
{
displayName: 'Campaign',
name: 'campaignId',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getCampaigns',
},
default: '',
description: 'Id of the campaign that needs to be fetched',
},
{
displayName: 'Close Date',
@ -299,6 +322,78 @@ export const opportunityFields = [
default: '',
description: 'Required. Date when the opportunity is expected to close.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'A description of the opportunity. Label is Contact Description. Limit: 32 KB.',
},
{
displayName: 'Forecast Category Name',
name: 'forecastCategoryName',
type: 'string',
default: '',
description: 'It is implied, but not directly controlled, by the StageName field',
},
{
displayName: 'Lead Source',
name: 'leadSource',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getLeadSources',
},
default: '',
description: 'Source from which the lead was obtained.',
},
{
displayName: 'Name',
name: 'name',
type: 'string',
default: '',
description: 'Required. Last name of the opportunity. Limited to 80 characters.',
},
{
displayName: 'Next Step',
name: 'nextStep',
type: 'string',
default: '',
description: 'Description of next task in closing opportunity. Limit: 255 characters.',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the opportunity.',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the opportunity.',
},
{
displayName: 'Pricebook2 Id',
name: 'pricebook2Id',
type: 'string',
default: '',
description: 'ID of a related Pricebook2 object',
},
{
displayName: 'Probability',
name: 'probability',
type: 'number',
typeOptions: {
numberPrecision: 1,
},
default: '',
description: 'Percentage of estimated confidence in closing the opportunity',
},
{
displayName: 'Stage Name',
name: 'stageName',
@ -326,101 +421,6 @@ export const opportunityFields = [
],
description: 'Type of opportunity. For example, Existing Business or New Business. Label is Opportunity Type.',
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
typeOptions: {
numberPrecision: 2,
},
default: '',
description: 'Estimated total sale amount',
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
description: 'Phone number for the opportunity.',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'The owner of the opportunity.',
},
{
displayName: 'Next Step',
name: 'nextStep',
type: 'string',
default: '',
description: 'Description of next task in closing opportunity. Limit: 255 characters.',
},
{
displayName: 'Account',
name: 'accountId',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getAccounts',
},
description: 'ID of the account associated with this opportunity.',
},
{
displayName: 'Campaign',
name: 'campaignId',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getCampaigns',
},
default: '',
description: 'Id of the campaign that needs to be fetched',
},
{
displayName: 'Lead Source',
name: 'leadSource',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getLeadSources',
},
default: '',
description: 'Source from which the lead was obtained.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'A description of the opportunity. Label is Contact Description. Limit: 32 KB.',
},
{
displayName: 'Probability',
name: 'probability',
type: 'number',
typeOptions: {
numberPrecision: 1,
},
default: '',
description: 'Percentage of estimated confidence in closing the opportunity',
},
{
displayName: 'Pricebook2 Id',
name: 'pricebook2Id',
type: 'string',
default: '',
description: 'ID of a related Pricebook2 object',
},
{
displayName: 'Forecast Category Name',
name: 'forecastCategoryName',
type: 'string',
default: '',
description: 'It is implied, but not directly controlled, by the StageName field',
},
],
},
@ -603,6 +603,13 @@ export const opportunityFields = [
},
description: 'Body of the note. Limited to 32 KB.',
},
{
displayName: 'Is Private',
name: 'isPrivate',
type: 'boolean',
default: false,
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',
},
{
displayName: 'Owner',
name: 'owner',
@ -613,13 +620,6 @@ export const opportunityFields = [
default: '',
description: 'ID of the user who owns the note.',
},
{
displayName: 'Is Private',
name: 'isPrivate',
type: 'boolean',
default: false,
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',
},
]
},
] as INodeProperties[];

View file

@ -1,14 +1,48 @@
import {
IExecuteFunctions,
} from 'n8n-core';
import {
IDataObject,
ILoadOptionsFunctions,
INodeTypeDescription,
INodeExecutionData,
INodeType,
INodeTypeDescription,
INodePropertyOptions,
} from 'n8n-workflow';
import {
accountFields,
accountOperations,
} from './AccountDescription';
import {
IAccount,
} from './AccountInterface';
import {
attachmentFields,
attachmentOperations,
} from './AttachmentDescription';
import {
IAttachment,
} from './AttachmentInterface';
import {
ICampaignMember,
} from './CampaignMemberInterface';
import {
caseFields,
caseOperations,
} from './CaseDescription';
import {
ICase,
ICaseComment,
} from './CaseInterface';
import {
contactFields,
contactOperations,
} from './ContactDescription';
import {
IContact,
} from './ContactInterface';
import {
salesforceApiRequest,
salesforceApiRequestAllItems,
@ -17,58 +51,27 @@ import {
leadFields,
leadOperations,
} from './LeadDescription';
import {
contactFields,
contactOperations,
} from './ContactDescription';
import {
opportunityOperations,
opportunityFields,
} from './OpportunityDescription';
import {
accountOperations,
accountFields,
} from './AccountDescription';
import {
caseOperations,
caseFields,
} from './CaseDescription';
import {
taskOperations,
taskFields,
} from './TaskDescription';
import {
attachmentOperations,
attachmentFields,
} from './AttachmentDescription';
import {
IOpportunity,
} from './OpportunityInterface';
import {
ICampaignMember,
} from './CampaignMemberInterface';
import {
ILead,
} from './LeadInterface';
import {
IContact,
} from './ContactInterface';
import {
IAccount,
} from './AccountInterface';
import {
INote,
} from './NoteInterface';
import {
ICase,
ICaseComment,
} from './CaseInterface';
opportunityFields,
opportunityOperations,
} from './OpportunityDescription';
import {
IOpportunity,
} from './OpportunityInterface';
import {
taskFields,
taskOperations,
} from './TaskDescription';
import {
ITask,
} from './TaskInterface';
import {
IAttachment,
} from './AttachmentInterface';
export class Salesforce implements INodeType {
description: INodeTypeDescription = {
@ -97,41 +100,42 @@ export class Salesforce implements INodeType {
name: 'resource',
type: 'options',
options: [
{
name: 'Lead',
value: 'lead',
description: 'Represents a prospect or potential .',
},
{
name: 'Contact',
value: 'contact',
description: 'Represents a contact, which is an individual associated with an account.',
},
{
name: 'Opportunity',
value: 'opportunity',
description: 'Represents an opportunity, which is a sale or pending deal.',
},
{
name: 'Account',
value: 'account',
description: 'Represents an individual account, which is an organization or person involved with your business (such as customers, competitors, and partners).',
},
{
name: 'Attachment',
value: 'attachment',
description: 'Represents a file that a has uploaded and attached to a parent object.',
},
{
name: 'Case',
value: 'case',
description: 'Represents a case, which is a customer issue or problem.',
},
{
name: 'Contact',
value: 'contact',
description: 'Represents a contact, which is an individual associated with an account.',
},
{
name: 'Lead',
value: 'lead',
description: 'Represents a prospect or potential .',
},
{
name: 'Opportunity',
value: 'opportunity',
description: 'Represents an opportunity, which is a sale or pending deal.',
},
{
name: 'Task',
value: 'task',
description: 'Represents a business activity such as making a phone call or other to-do items. In the user interface, and records are collectively referred to as activities.',
},
{
name: 'Attachment',
value: 'attachment',
description: 'Represents a file that a has uploaded and attached to a parent object.',
},
],
default: 'lead',
description: 'Resource to consume.',
@ -195,7 +199,7 @@ export class Salesforce implements INodeType {
// select them easily
async getLeadSources(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/lead/describe');
for (const field of fields) {
if (field.name === 'LeadSource') {
@ -251,7 +255,7 @@ export class Salesforce implements INodeType {
// select them easily
async getStages(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/opportunity/describe');
for (const field of fields) {
if (field.name === 'StageName') {
@ -271,7 +275,7 @@ export class Salesforce implements INodeType {
// select them easily
async getAccountTypes(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/account/describe');
for (const field of fields) {
if (field.name === 'Type') {
@ -291,7 +295,7 @@ export class Salesforce implements INodeType {
// select them easily
async getAccountSources(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/account/describe');
for (const field of fields) {
if (field.name === 'AccountSource') {
@ -311,7 +315,7 @@ export class Salesforce implements INodeType {
// select them easily
async getCaseTypes(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/case/describe');
for (const field of fields) {
if (field.name === 'Type') {
@ -331,7 +335,7 @@ export class Salesforce implements INodeType {
// select them easily
async getCaseStatuses(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/case/describe');
for (const field of fields) {
if (field.name === 'Status') {
@ -351,7 +355,7 @@ export class Salesforce implements INodeType {
// select them easily
async getCaseReasons(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/case/describe');
for (const field of fields) {
if (field.name === 'Reason') {
@ -371,7 +375,7 @@ export class Salesforce implements INodeType {
// select them easily
async getCaseOrigins(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/case/describe');
for (const field of fields) {
if (field.name === 'Origin') {
@ -391,7 +395,7 @@ export class Salesforce implements INodeType {
// select them easily
async getCasePriorities(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/case/describe');
for (const field of fields) {
if (field.name === 'Priority') {
@ -411,7 +415,7 @@ export class Salesforce implements INodeType {
// select them easily
async getTaskStatuses(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/task/describe');
for (const field of fields) {
if (field.name === 'Status') {
@ -431,7 +435,7 @@ export class Salesforce implements INodeType {
// select them easily
async getTaskSubjects(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/task/describe');
for (const field of fields) {
if (field.name === 'Subject') {
@ -451,7 +455,7 @@ export class Salesforce implements INodeType {
// select them easily
async getTaskCallTypes(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/task/describe');
for (const field of fields) {
if (field.name === 'CallType') {
@ -471,7 +475,7 @@ export class Salesforce implements INodeType {
// select them easily
async getTaskPriorities(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/task/describe');
for (const field of fields) {
if (field.name === 'Priority') {
@ -491,7 +495,7 @@ export class Salesforce implements INodeType {
// select them easily
async getTaskRecurrenceTypes(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/task/describe');
for (const field of fields) {
if (field.name === 'RecurrenceType') {
@ -511,7 +515,7 @@ export class Salesforce implements INodeType {
// select them easily
async getTaskRecurrenceInstances(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const returnData: INodePropertyOptions[] = [];
//find a way to filter this object to get just the lead sources instead of the whole object
// TODO: find a way to filter this object to get just the lead sources instead of the whole object
const { fields } = await salesforceApiRequest.call(this, 'GET', '/sobjects/task/describe');
for (const field of fields) {
if (field.name === 'RecurrenceInstance') {
@ -533,13 +537,12 @@ export class Salesforce implements INodeType {
async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
const items = this.getInputData();
const returnData: IDataObject[] = [];
const length = items.length as unknown as number;
let responseData;
const qs: IDataObject = {};
const resource = this.getNodeParameter('resource', 0) as string;
const operation = this.getNodeParameter('operation', 0) as string;
for (let i = 0; i < length; i++) {
for (let i = 0; i < items.length; i++) {
if (resource === 'lead') {
//https://developer.salesforce.com/docs/api-explorer/sobject/Lead/post-lead
if (operation === 'create') {
@ -703,10 +706,10 @@ export class Salesforce implements INodeType {
if (operation === 'getAll') {
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
const options = this.getNodeParameter('options', i) as IDataObject;
const fields = ['id'];
const fields = ['id,company,firstname,lastname,street,postalCode,city,email,status'];
if (options.fields) {
// @ts-ignore
fields.push(...options.fields.split(','))
fields.push(...options.fields.split(','));
}
try {
if (returnAll) {
@ -978,10 +981,10 @@ export class Salesforce implements INodeType {
if (operation === 'getAll') {
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
const options = this.getNodeParameter('options', i) as IDataObject;
const fields = ['id'];
const fields = ['id,firstname,lastname,email'];
if (options.fields) {
// @ts-ignore
fields.push(...options.fields.split(','))
fields.push(...options.fields.split(','));
}
try {
if (returnAll) {
@ -1149,10 +1152,10 @@ export class Salesforce implements INodeType {
if (operation === 'getAll') {
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
const options = this.getNodeParameter('options', i) as IDataObject;
const fields = ['id'];
const fields = ['id,accountId,amount,probability,type'];
if (options.fields) {
// @ts-ignore
fields.push(...options.fields.split(','))
fields.push(...options.fields.split(','));
}
try {
if (returnAll) {
@ -1374,10 +1377,10 @@ export class Salesforce implements INodeType {
if (operation === 'getAll') {
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
const options = this.getNodeParameter('options', i) as IDataObject;
const fields = ['id'];
const fields = ['id,name,type'];
if (options.fields) {
// @ts-ignore
fields.push(...options.fields.split(','))
fields.push(...options.fields.split(','));
}
try {
if (returnAll) {
@ -1539,10 +1542,10 @@ export class Salesforce implements INodeType {
if (operation === 'getAll') {
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
const options = this.getNodeParameter('options', i) as IDataObject;
const fields = ['id'];
const fields = ['id,accountId,contactId,priority,status,subject,type'];
if (options.fields) {
// @ts-ignore
fields.push(...options.fields.split(','))
fields.push(...options.fields.split(','));
}
try {
if (returnAll) {
@ -1753,10 +1756,10 @@ export class Salesforce implements INodeType {
if (operation === 'getAll') {
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
const options = this.getNodeParameter('options', i) as IDataObject;
const fields = ['id'];
const fields = ['id,subject,status,priority'];
if (options.fields) {
// @ts-ignore
fields.push(...options.fields.split(','))
fields.push(...options.fields.split(','));
}
try {
if (returnAll) {
@ -1850,10 +1853,10 @@ export class Salesforce implements INodeType {
if (operation === 'getAll') {
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
const options = this.getNodeParameter('options', i) as IDataObject;
const fields = ['id'];
const fields = ['id,name'];
if (options.fields) {
// @ts-ignore
fields.push(...options.fields.split(','))
fields.push(...options.fields.split(','));
}
try {
if (returnAll) {
@ -1885,6 +1888,14 @@ export class Salesforce implements INodeType {
if (Array.isArray(responseData)) {
returnData.push.apply(returnData, responseData as IDataObject[]);
} else {
if (responseData === undefined) {
// Make sure that always valid JSON gets returned which also matches the
// Salesforce default response
responseData = {
errors: [],
success: true,
};
}
returnData.push(responseData as IDataObject);
}
}

View file

@ -19,29 +19,29 @@ export const taskOperations = [
description: 'Create a task',
},
{
name: 'Update',
value: 'update',
description: 'Update a task',
name: 'Delete',
value: 'delete',
description: 'Delete a task',
},
{
name: 'Get',
value: 'get',
description: 'Get a task',
},
{
name: 'Get Summary',
value: 'getSummary',
description: `Returns an overview of task's metadata.`,
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all tasks',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a task',
name: 'Get Summary',
value: 'getSummary',
description: `Returns an overview of task's metadata.`,
},
{
name: 'Update',
value: 'update',
description: 'Update a task',
},
],
default: 'create',
@ -92,85 +92,6 @@ export const taskFields = [
},
},
options: [
{
displayName: 'Who Id',
name: 'whoId',
type: 'string',
default: '',
description: `The WhoId represents a human such as a lead or a contact.<br/>
WhoIds are polymorphic. Polymorphic means a WhoId is equivalent to a contacts ID or a leads ID.`,
},
{
displayName: 'What Id',
name: 'whatId',
type: 'string',
default: '',
description: `The WhatId represents nonhuman objects such as accounts, opportunities,<br/>
campaigns, cases, or custom objects. WhatIds are polymorphic. Polymorphic means a<br/>
WhatId is equivalent to the ID of a related object.`,
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'ID of the User who owns the record.',
},
{
displayName: 'Subject',
name: 'subject',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskSubjects',
},
description: 'The subject line of the task, such as “Call” or “Send Quote.” Limit: 255 characters.',
},
{
displayName: 'Call Type',
name: 'callType',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskCallTypes',
},
description: 'The type of call being answered: Inbound, Internal, or Outbound.',
},
{
displayName: 'Priority',
name: 'priority',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskPriorities',
},
description: `Indicates the importance or urgency of a task, such as high or low.`,
},
{
displayName: 'Call Object',
name: 'callObject',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: `Name of a call center. Limit is 255 characters. <br/>
Not subject to field-level security, available for any user in an <br/>
organization with Salesforce CRM Call Center.`,
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
typeOptions: {
alwaysOpenEditWindow: true,
},
description: 'Contains a text description of the task.',
},
{
displayName: 'Activity Date',
name: 'activityDate',
@ -180,23 +101,6 @@ export const taskFields = [
This field has a timestamp that is always set to midnight <br/>
in the Coordinated Universal Time (UTC) time zone.`,
},
{
displayName: 'Is ReminderSet',
name: 'isReminderSet',
type: 'boolean',
default: false,
description: 'Indicates whether a popup reminder has been set for the task (true) or not (false).',
},
{
displayName: 'Recurrence Type',
name: 'recurrenceType',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskRecurrenceTypes'
},
description: 'Website for the task.',
},
{
displayName: 'Call Disposition',
name: 'callDisposition',
@ -210,14 +114,81 @@ export const taskFields = [
in an organization with Salesforce CRM Call Center.`,
},
{
displayName: 'Reminder Date Time',
name: 'reminderDateTime',
type: 'dateTime',
displayName: 'Call Duration In Seconds',
name: 'callDurationInSeconds',
type: 'number',
default: '',
description: `Represents the time when the reminder is scheduled to fire,<br/>
if IsReminderSet is set to true. If IsReminderSet is set to false, then the<br/>
user may have deselected the reminder checkbox in the Salesforce user interface,<br/>
or the reminder has already fired at the time indicated by the value.`,
description: `Duration of the call in seconds. Not subject to field-level security,<br/>
available for any user in an organization with Salesforce CRM Call Cente`,
},
{
displayName: 'Call Object',
name: 'callObject',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: `Name of a call center. Limit is 255 characters. <br/>
Not subject to field-level security, available for any user in an <br/>
organization with Salesforce CRM Call Center.`,
},
{
displayName: 'Call Type',
name: 'callType',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskCallTypes',
},
description: 'The type of call being answered: Inbound, Internal, or Outbound.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
typeOptions: {
alwaysOpenEditWindow: true,
},
description: 'Contains a text description of the task.',
},
{
displayName: 'Is ReminderSet',
name: 'isReminderSet',
type: 'boolean',
default: false,
description: 'Indicates whether a popup reminder has been set for the task (true) or not (false).',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'ID of the User who owns the record.',
},
{
displayName: 'Priority',
name: 'priority',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskPriorities',
},
description: `Indicates the importance or urgency of a task, such as high or low.`,
},
{
displayName: 'Recurrence Type',
name: 'recurrenceType',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskRecurrenceTypes'
},
description: 'Recurrence Type of the task.',
},
{
displayName: 'Recurrence Instance',
@ -244,12 +215,15 @@ export const taskFields = [
description: 'The day of the month in which the task repeats.',
},
{
displayName: 'Call Duration In Seconds',
name: 'callDurationInSeconds',
displayName: 'Recurrence Day Of Week Mask',
name: 'recurrenceDayOfWeekMask',
type: 'number',
default: '',
description: `Duration of the call in seconds. Not subject to field-level security,<br/>
available for any user in an organization with Salesforce CRM Call Cente`,
description: `The day or days of the week on which the task repeats.<br/>
This field contains a bitmask. The values are as follows: Sunday = 1 Monday = 2<br/>
Tuesday = 4 Wednesday = 8 Thursday = 16 Friday = 32 Saturday = 64<br/>
Multiple days are represented as the sum of their numerical values.<br/>
For example, Tuesday and Thursday = 4 + 16 = 20.`,
},
{
displayName: 'Recurrence End Date Only',
@ -316,33 +290,6 @@ export const taskFields = [
default: '',
description: 'The month of the year in which the task repeats.',
},
{
displayName: 'Recurrence Day Of Week Mask',
name: 'recurrenceDayOfWeekMask',
type: 'number',
default: '',
description: `The day or days of the week on which the task repeats.<br/>
This field contains a bitmask. The values are as follows: Sunday = 1 Monday = 2<br/>
Tuesday = 4 Wednesday = 8 Thursday = 16 Friday = 32 Saturday = 64<br/>
Multiple days are represented as the sum of their numerical values.<br/>
For example, Tuesday and Thursday = 4 + 16 = 20.`,
},
{
displayName: 'recurrence Start Date Only',
name: 'recurrenceEndDateOnly',
type: 'dateTime',
default: '',
description: `The date when the recurring task begins.<br/>
Must be a date and time before RecurrenceEndDateOnly.`,
},
{
displayName: 'Recurrence TimeZone SidKey',
name: 'recurrenceTimeZoneSidKey',
type: 'string',
default: '',
description: `The time zone associated with the recurring task.<br/>
For example, UTC-8:00 for Pacific Standard Time.`,
},
{
displayName: 'Recurrence Regenerated Type',
name: 'recurrenceRegeneratedType',
@ -367,6 +314,59 @@ export const taskFields = [
which determines the number of days between the triggering date (due date or close date)<br/>
and the due date of the next repeating task in the series.Label is Repeat This Task.`,
},
{
displayName: 'Recurrence Start Date Only',
name: 'recurrenceEndDateOnly',
type: 'dateTime',
default: '',
description: `The date when the recurring task begins.<br/>
Must be a date and time before RecurrenceEndDateOnly.`,
},
{
displayName: 'Recurrence TimeZone SidKey',
name: 'recurrenceTimeZoneSidKey',
type: 'string',
default: '',
description: `The time zone associated with the recurring task.<br/>
For example, UTC-8:00 for Pacific Standard Time.`,
},
{
displayName: 'Reminder Date Time',
name: 'reminderDateTime',
type: 'dateTime',
default: '',
description: `Represents the time when the reminder is scheduled to fire,<br/>
if IsReminderSet is set to true. If IsReminderSet is set to false, then the<br/>
user may have deselected the reminder checkbox in the Salesforce user interface,<br/>
or the reminder has already fired at the time indicated by the value.`,
},
{
displayName: 'Subject',
name: 'subject',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskSubjects',
},
description: 'The subject line of the task, such as “Call” or “Send Quote.” Limit: 255 characters.',
},
{
displayName: 'What Id',
name: 'whatId',
type: 'string',
default: '',
description: `The WhatId represents nonhuman objects such as accounts, opportunities,<br/>
campaigns, cases, or custom objects. WhatIds are polymorphic. Polymorphic means a<br/>
WhatId is equivalent to the ID of a related object.`,
},
{
displayName: 'Who Id',
name: 'whoId',
type: 'string',
default: '',
description: `The WhoId represents a human such as a lead or a contact.<br/>
WhoIds are polymorphic. Polymorphic means a WhoId is equivalent to a contacts ID or a leads ID.`,
},
]
},
/* -------------------------------------------------------------------------- */
@ -407,95 +407,6 @@ export const taskFields = [
},
},
options: [
{
displayName: 'Who Id',
name: 'whoId',
type: 'string',
default: '',
description: `The WhoId represents a human such as a lead or a contact.<br/>
WhoIds are polymorphic. Polymorphic means a WhoId is equivalent to a contacts ID or a leads ID.`,
},
{
displayName: 'Status',
name: 'status',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskStatuses',
},
description: 'The current status of the task, such as In Progress or Completed.',
},
{
displayName: 'What Id',
name: 'whatId',
type: 'string',
default: '',
description: `The WhatId represents nonhuman objects such as accounts, opportunities,<br/>
campaigns, cases, or custom objects. WhatIds are polymorphic. Polymorphic means a<br/>
WhatId is equivalent to the ID of a related object.`,
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'ID of the User who owns the record.',
},
{
displayName: 'Subject',
name: 'subject',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskSubjects',
},
description: 'The subject line of the task, such as “Call” or “Send Quote.” Limit: 255 characters.',
},
{
displayName: 'Call Type',
name: 'callType',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskCallTypes',
},
description: 'The type of call being answered: Inbound, Internal, or Outbound.',
},
{
displayName: 'Priority',
name: 'priority',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskPriorities',
},
description: `Indicates the importance or urgency of a task, such as high or low.`,
},
{
displayName: 'Call Object',
name: 'callObject',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: `Name of a call center. Limit is 255 characters. <br/>
Not subject to field-level security, available for any user in an <br/>
organization with Salesforce CRM Call Center.`,
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
typeOptions: {
alwaysOpenEditWindow: true,
},
description: 'Contains a text description of the task.',
},
{
displayName: 'Activity Date',
name: 'activityDate',
@ -505,23 +416,6 @@ export const taskFields = [
This field has a timestamp that is always set to midnight <br/>
in the Coordinated Universal Time (UTC) time zone.`,
},
{
displayName: 'Is ReminderSet',
name: 'isReminderSet',
type: 'boolean',
default: false,
description: 'Indicates whether a popup reminder has been set for the task (true) or not (false).',
},
{
displayName: 'Recurrence Type',
name: 'recurrenceType',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskRecurrenceTypes'
},
description: 'Website for the task.',
},
{
displayName: 'Call Disposition',
name: 'callDisposition',
@ -535,14 +429,117 @@ export const taskFields = [
in an organization with Salesforce CRM Call Center.`,
},
{
displayName: 'Reminder Date Time',
name: 'reminderDateTime',
displayName: 'Call Duration In Seconds',
name: 'callDurationInSeconds',
type: 'number',
default: '',
description: `Duration of the call in seconds. Not subject to field-level security,<br/>
available for any user in an organization with Salesforce CRM Call Cente`,
},
{
displayName: 'Call Object',
name: 'callObject',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: `Name of a call center. Limit is 255 characters. <br/>
Not subject to field-level security, available for any user in an <br/>
organization with Salesforce CRM Call Center.`,
},
{
displayName: 'Call Type',
name: 'callType',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskCallTypes',
},
description: 'The type of call being answered: Inbound, Internal, or Outbound.',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
typeOptions: {
alwaysOpenEditWindow: true,
},
description: 'Contains a text description of the task.',
},
{
displayName: 'Is ReminderSet',
name: 'isReminderSet',
type: 'boolean',
default: false,
description: 'Indicates whether a popup reminder has been set for the task (true) or not (false).',
},
{
displayName: 'Owner',
name: 'owner',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUsers',
},
default: '',
description: 'ID of the User who owns the record.',
},
{
displayName: 'Priority',
name: 'priority',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskPriorities',
},
description: `Indicates the importance or urgency of a task, such as high or low.`,
},
{
displayName: 'Status',
name: 'status',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskStatuses',
},
description: 'The current status of the task, such as In Progress or Completed.',
},
{
displayName: 'Subject',
name: 'subject',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskSubjects',
},
description: 'The subject line of the task, such as “Call” or “Send Quote.” Limit: 255 characters.',
},
{
displayName: 'Recurrence Day Of Month',
name: 'recurrenceDayOfMonth',
type: 'number',
default: '',
description: 'The day of the month in which the task repeats.',
},
{
displayName: 'Recurrence Day Of Week Mask',
name: 'recurrenceDayOfWeekMask',
type: 'number',
default: '',
description: `The day or days of the week on which the task repeats.<br/>
This field contains a bitmask. The values are as follows: Sunday = 1 Monday = 2<br/>
Tuesday = 4 Wednesday = 8 Thursday = 16 Friday = 32 Saturday = 64<br/>
Multiple days are represented as the sum of their numerical values.<br/>
For example, Tuesday and Thursday = 4 + 16 = 20.`,
},
{
displayName: 'Recurrence End Date Only',
name: 'recurrenceEndDateOnly',
type: 'dateTime',
default: '',
description: `Represents the time when the reminder is scheduled to fire,<br/>
if IsReminderSet is set to true. If IsReminderSet is set to false, then the<br/>
user may have deselected the reminder checkbox in the Salesforce user interface,<br/>
or the reminder has already fired at the time indicated by the value.`,
description: `The last date on which the task repeats. This field has a timestamp that<br/>
is always set to midnight in the Coordinated Universal Time (UTC) time zone.`,
},
{
displayName: 'Recurrence Instance',
@ -561,29 +558,6 @@ export const taskFields = [
default: '',
description: 'The interval between recurring tasks.',
},
{
displayName: 'Recurrence Day Of Month',
name: 'recurrenceDayOfMonth',
type: 'number',
default: '',
description: 'The day of the month in which the task repeats.',
},
{
displayName: 'Call Duration In Seconds',
name: 'callDurationInSeconds',
type: 'number',
default: '',
description: `Duration of the call in seconds. Not subject to field-level security,<br/>
available for any user in an organization with Salesforce CRM Call Cente`,
},
{
displayName: 'Recurrence End Date Only',
name: 'recurrenceEndDateOnly',
type: 'dateTime',
default: '',
description: `The last date on which the task repeats. This field has a timestamp that<br/>
is always set to midnight in the Coordinated Universal Time (UTC) time zone.`,
},
{
displayName: 'Recurrence Month Of Year',
name: 'recurrenceMonthOfYear',
@ -642,32 +616,13 @@ export const taskFields = [
description: 'The month of the year in which the task repeats.',
},
{
displayName: 'Recurrence Day Of Week Mask',
name: 'recurrenceDayOfWeekMask',
type: 'number',
default: '',
description: `The day or days of the week on which the task repeats.<br/>
This field contains a bitmask. The values are as follows: Sunday = 1 Monday = 2<br/>
Tuesday = 4 Wednesday = 8 Thursday = 16 Friday = 32 Saturday = 64<br/>
Multiple days are represented as the sum of their numerical values.<br/>
For example, Tuesday and Thursday = 4 + 16 = 20.`,
},
{
displayName: 'recurrence Start Date Only',
displayName: 'Recurrence Start Date Only',
name: 'recurrenceEndDateOnly',
type: 'dateTime',
default: '',
description: `The date when the recurring task begins.<br/>
Must be a date and time before RecurrenceEndDateOnly.`,
},
{
displayName: 'Recurrence TimeZone SidKey',
name: 'recurrenceTimeZoneSidKey',
type: 'string',
default: '',
description: `The time zone associated with the recurring task.<br/>
For example, UTC-8:00 for Pacific Standard Time.`,
},
{
displayName: 'Recurrence Regenerated Type',
name: 'recurrenceRegeneratedType',
@ -692,6 +647,51 @@ export const taskFields = [
which determines the number of days between the triggering date (due date or close date)<br/>
and the due date of the next repeating task in the series.Label is Repeat This Task.`,
},
{
displayName: 'Recurrence Type',
name: 'recurrenceType',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'getTaskRecurrenceTypes'
},
description: 'Website for the task.',
},
{
displayName: 'Recurrence TimeZone SidKey',
name: 'recurrenceTimeZoneSidKey',
type: 'string',
default: '',
description: `The time zone associated with the recurring task.<br/>
For example, UTC-8:00 for Pacific Standard Time.`,
},
{
displayName: 'Reminder Date Time',
name: 'reminderDateTime',
type: 'dateTime',
default: '',
description: `Represents the time when the reminder is scheduled to fire,<br/>
if IsReminderSet is set to true. If IsReminderSet is set to false, then the<br/>
user may have deselected the reminder checkbox in the Salesforce user interface,<br/>
or the reminder has already fired at the time indicated by the value.`,
},
{
displayName: 'What Id',
name: 'whatId',
type: 'string',
default: '',
description: `The WhatId represents nonhuman objects such as accounts, opportunities,<br/>
campaigns, cases, or custom objects. WhatIds are polymorphic. Polymorphic means a<br/>
WhatId is equivalent to the ID of a related object.`,
},
{
displayName: 'Who Id',
name: 'whoId',
type: 'string',
default: '',
description: `The WhoId represents a human such as a lead or a contact.<br/>
WhoIds are polymorphic. Polymorphic means a WhoId is equivalent to a contacts ID or a leads ID.`,
},
]
},

View file

@ -66,10 +66,10 @@
"dist/credentials/Redis.credentials.js",
"dist/credentials/RocketchatApi.credentials.js",
"dist/credentials/ShopifyApi.credentials.js",
"dist/credentials/SalesforceOAuth2Api.credentials.js",
"dist/credentials/SlackApi.credentials.js",
"dist/credentials/Smtp.credentials.js",
"dist/credentials/StripeApi.credentials.js",
"dist/credentials/SalesforceOAuth2Api.credentials.js",
"dist/credentials/TelegramApi.credentials.js",
"dist/credentials/TodoistApi.credentials.js",
"dist/credentials/TrelloApi.credentials.js",
@ -152,6 +152,7 @@
"dist/nodes/ReadPdf.node.js",
"dist/nodes/RenameKeys.node.js",
"dist/nodes/RssFeedRead.node.js",
"dist/nodes/Salesforce/Salesforce.node.js",
"dist/nodes/Set.node.js",
"dist/nodes/SseTrigger.node.js",
"dist/nodes/SplitInBatches.node.js",
@ -161,7 +162,6 @@
"dist/nodes/Stripe/StripeTrigger.node.js",
"dist/nodes/Shopify/ShopifyTrigger.node.js",
"dist/nodes/Switch.node.js",
"dist/nodes/Salesforce/Salesforce.node.js",
"dist/nodes/Telegram/Telegram.node.js",
"dist/nodes/Telegram/TelegramTrigger.node.js",
"dist/nodes/Todoist/Todoist.node.js",