/** * SendGrid Node - Version 1 * Discriminator: resource=contact, operation=upsert */ interface Credentials { sendGridApi: CredentialReference; } /** Create a new contact, or update the current one if it already exists (upsert) */ export type SendGridV1ContactUpsertParams = { resource: 'contact'; operation: 'upsert'; /** * Primary email for the contact */ email?: string | Expression | PlaceholderValue; /** * Additional Fields * @default {} */ additionalFields?: { /** Address * @default {} */ addressUi?: { /** Address */ addressValues?: { /** Address Line 1 */ address1?: string | Expression | PlaceholderValue; /** Address Line 2 */ address2?: string | Expression | PlaceholderValue; }; }; /** Alternate Emails */ alternateEmails?: string | Expression | PlaceholderValue; /** City */ city?: string | Expression | PlaceholderValue; /** Country */ country?: string | Expression | PlaceholderValue; /** First Name */ firstName?: string | Expression | PlaceholderValue; /** Last Name */ lastName?: string | Expression | PlaceholderValue; /** Postal Code */ postalCode?: string | Expression | PlaceholderValue; /** State/Province/Region */ stateProvinceRegion?: string | Expression | PlaceholderValue; /** Adds a custom field to set also values which have not been predefined * @default {} */ listIdsUi?: { /** List IDs */ listIdValues?: { /** ID of the field to set. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>. * @default [] */ listIds?: string[]; }; }; /** Adds custom fields * @default {} */ customFieldsUi?: { /** Field */ customFieldValues?: Array<{ /** ID of the field. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>. */ fieldId?: string | Expression; /** Value for the field */ fieldValue?: string | Expression | PlaceholderValue; }>; }; }; }; export type SendGridV1ContactUpsertNode = { type: 'n8n-nodes-base.sendGrid'; version: 1; credentials?: Credentials; config: NodeConfig; };