Followup Tasks (Full Update)
Description
Upsert Followup Task Resource
See the Aerial Spec for more details.
File Naming Convention
TGEN_followupTasks_fullupdate_2026-08_<optionalSuffix>.csv
importType:fullupdateapiVersion:2026-08
Columns
Nested object fields are flattened into columns using dot notation (parent.child). Array fields are flattened using zero-based index notation, one element per column (field[0], field[1], and so on).
Note: A whole array cannot be passed in a single column: a literal value such as ['value-1','value-2'] will be rejected. To import multiple array elements, add one indexed column per element. Rows in the table below with type array describe the field as a whole and are not valid CSV column headers.
| Column Header | Description | Key Information | Type | Required |
|---|---|---|---|---|
externalId | External ID of the followupTask | Max Length: 255 | string | No |
title | Title of the task | Max Length: 255 | string | Yes |
description | Description of the task | string | Yes | |
status | Status of this follow up | Allowed: ACTIVE, IGNORED, COMPLETED, INACTIVE | string | Yes |
assignedEmployee | Employee to whom this task is assigned. A UUID, or the full object when expanded. | mixed | No | |
assignedEmployee.externalId | Integrator provided unique identifier for the employee. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | Yes |
assignedEmployee.samlNameId | If using SSO for authentication against a third party system, set the login username in this field if different than the value set in externalId. | string | No | |
assignedEmployee.disabled | Boolean dictating if employee is disabled (true or false) | boolean | No | |
assignedEmployee.store | Unique Tulip identifier of the store the employee is associated with | Max Length: 36 | string | No |
assignedEmployee.displayName | Name that will be displayed for the employee | string | No | |
assignedEmployee.firstName | First name of the employee | Max Length: 255 | string | No |
assignedEmployee.lastName | Last name of the employee | Max Length: 255 | string | No |
assignedEmployee.emailAddress | Email address of the employee | Max Length: 255 | string | No |
assignedEmployee.image | Image associated with the employee. On create/update, supply a publicly reachable URL; the image is fetched and uploaded to our image server asynchronously after the API responds. As a result, the image field on the create/update response (and on reads made immediately after) will be empty until the upload job completes — typically within a couple of seconds. | string | No | |
assignedEmployee.mobileNumber | Mobile number for the employee in E.164 standard | string | No | |
assignedEmployee.jobTitle | Job title of the employee | Max Length: 255 | string | No |
assignedEmployee.liveConnectAvailability | Boolean dictating whether live connect is available or not for the employee (true or false) | boolean | No | |
assignedEmployee.attributes | Array of Attribute Values associated with this employee | Not a CSV column header. Pass each array element in its own indexed column (assignedEmployee.attributes[0], assignedEmployee.attributes[1], and so on). | array | No |
assignedEmployee.attributes[0] | Array element | mixed | No | |
assignedEmployee.attributes[0].value | Value of the attribute, this will be any type casted to string but supports all basic types | mixed | Yes | |
assignedEmployee.attributes[0].name | External ID of the attribute | Max Length: 255 | string | Yes |
assignedEmployee.attributes[0].languageExternalId | External ID of the language, defaults to english | Max Length: 255 | string | Yes |
assignedEmployee.attributes[0].description | Tulip Attribute description | Max Length: 255 | string | Yes |
assignedEmployee.attributes[0].type | Tulip Attribute Type | Allowed: string, boolean, integer, float | string | Yes |
assignedEmployee.orgAccess | The complete set of org-chart nodes (Division, Region, District, or Store) this employee has access to. Each entry grants access to the whole node including everything beneath it, and the array replaces the employee’s existing assignment set. Omit the field to leave existing assignments untouched. Read assignments back from GET /storeOps/employeeOrgAccess. | Not a CSV column header. Pass each array element in its own indexed column (assignedEmployee.orgAccess[0], assignedEmployee.orgAccess[1], and so on). | array | No |
assignedEmployee.orgAccess[0] | Array element | mixed | No | |
assignedEmployee.orgAccess[0].type | The kind of node access is granted at | Allowed: Division, Region, District, Store | string | Yes |
assignedEmployee.orgAccess[0].uuid | Unique Tulip identifier of the node. One of uuid, externalId, or id is required. | string | No | |
assignedEmployee.orgAccess[0].externalId | External identifier of the node (store organization resource external ID, or store code for stores). One of uuid, externalId, or id is required. | Max Length: 255 | string | No |
assignedEmployee.orgAccess[0].id | Internal Tulip identifier of the node. One of uuid, externalId, or id is required. | integer | No | |
assignedEmployee.signature | Object containing the signature of the employee | mixed | No | |
assignedEmployee.signature.content | The signature of the employee | string | Yes | |
assignedEmployee.profile | Object containing the profile of the employee | mixed | No | |
assignedEmployee.profile.phoneNumber | The profile phone number of the employee in E.164 format | string | No | |
assignedEmployee.offlineNotificationConfig | Object containing the offline notification config of the employee | mixed | No | |
assignedEmployee.offlineNotificationConfig.forwardingNumber | Forwarding number for the employee in E.164 standard | string | No | |
assignedEmployee.offlineNotificationConfig.forwardingEnabled | Boolean dictating if employee has forwarding enabled (true or false) | boolean | No | |
assignedEmployee.offlineNotificationConfig.forwardAllEnabled | Boolean dictating if all messages should be forwarded to the employee (true or false) | boolean | No | |
assignedEmployee.offlineNotificationConfig.forwardLoggedOutEnabled | Boolean dictating if messages should be forwarded when employee is logged out (true or false) | boolean | No | |
assignedEmployee.authUser | Object containing the user of the employee | mixed | No | |
assignedEmployee.authUser.username | The username of the employee | string | Yes | |
assignedEmployee.authUser.password | For standard integrations, this field is used exclusively to set a temporary password during user creation; the password field is ignored when updating existing users. Unless configured otherwise, temporary passwords must be at least 12 characters long and must include one letter, one number, and one special character. Legacy configurations support ongoing (and non-temporary) password updates. | string | No | |
assignedEmployee.authUser.disabled | Boolean dictating if user is disabled (true or false) | boolean | No | |
assignedEmployee.authUser.roles | Array of role external ID’s | Not a CSV column header. Pass each array element in its own indexed column (assignedEmployee.authUser.roles[0], assignedEmployee.authUser.roles[1], and so on). | array | No |
assignedEmployee.authUser.roles[0] | Array element | string | No | |
assignedByEmployee | Employee who assigned this task. A UUID, or the full object when expanded. | mixed | No | |
assignedByEmployee.externalId | Integrator provided unique identifier for the employee. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | Yes |
assignedByEmployee.samlNameId | If using SSO for authentication against a third party system, set the login username in this field if different than the value set in externalId. | string | No | |
assignedByEmployee.disabled | Boolean dictating if employee is disabled (true or false) | boolean | No | |
assignedByEmployee.store | Unique Tulip identifier of the store the employee is associated with | Max Length: 36 | string | No |
assignedByEmployee.displayName | Name that will be displayed for the employee | string | No | |
assignedByEmployee.firstName | First name of the employee | Max Length: 255 | string | No |
assignedByEmployee.lastName | Last name of the employee | Max Length: 255 | string | No |
assignedByEmployee.emailAddress | Email address of the employee | Max Length: 255 | string | No |
assignedByEmployee.image | Image associated with the employee. On create/update, supply a publicly reachable URL; the image is fetched and uploaded to our image server asynchronously after the API responds. As a result, the image field on the create/update response (and on reads made immediately after) will be empty until the upload job completes — typically within a couple of seconds. | string | No | |
assignedByEmployee.mobileNumber | Mobile number for the employee in E.164 standard | string | No | |
assignedByEmployee.jobTitle | Job title of the employee | Max Length: 255 | string | No |
assignedByEmployee.liveConnectAvailability | Boolean dictating whether live connect is available or not for the employee (true or false) | boolean | No | |
assignedByEmployee.attributes | Array of Attribute Values associated with this employee | Not a CSV column header. Pass each array element in its own indexed column (assignedByEmployee.attributes[0], assignedByEmployee.attributes[1], and so on). | array | No |
assignedByEmployee.attributes[0] | Array element | mixed | No | |
assignedByEmployee.attributes[0].value | Value of the attribute, this will be any type casted to string but supports all basic types | mixed | Yes | |
assignedByEmployee.attributes[0].name | External ID of the attribute | Max Length: 255 | string | Yes |
assignedByEmployee.attributes[0].languageExternalId | External ID of the language, defaults to english | Max Length: 255 | string | Yes |
assignedByEmployee.attributes[0].description | Tulip Attribute description | Max Length: 255 | string | Yes |
assignedByEmployee.attributes[0].type | Tulip Attribute Type | Allowed: string, boolean, integer, float | string | Yes |
assignedByEmployee.orgAccess | The complete set of org-chart nodes (Division, Region, District, or Store) this employee has access to. Each entry grants access to the whole node including everything beneath it, and the array replaces the employee’s existing assignment set. Omit the field to leave existing assignments untouched. Read assignments back from GET /storeOps/employeeOrgAccess. | Not a CSV column header. Pass each array element in its own indexed column (assignedByEmployee.orgAccess[0], assignedByEmployee.orgAccess[1], and so on). | array | No |
assignedByEmployee.orgAccess[0] | Array element | mixed | No | |
assignedByEmployee.orgAccess[0].type | The kind of node access is granted at | Allowed: Division, Region, District, Store | string | Yes |
assignedByEmployee.orgAccess[0].uuid | Unique Tulip identifier of the node. One of uuid, externalId, or id is required. | string | No | |
assignedByEmployee.orgAccess[0].externalId | External identifier of the node (store organization resource external ID, or store code for stores). One of uuid, externalId, or id is required. | Max Length: 255 | string | No |
assignedByEmployee.orgAccess[0].id | Internal Tulip identifier of the node. One of uuid, externalId, or id is required. | integer | No | |
assignedByEmployee.signature | Object containing the signature of the employee | mixed | No | |
assignedByEmployee.signature.content | The signature of the employee | string | Yes | |
assignedByEmployee.profile | Object containing the profile of the employee | mixed | No | |
assignedByEmployee.profile.phoneNumber | The profile phone number of the employee in E.164 format | string | No | |
assignedByEmployee.offlineNotificationConfig | Object containing the offline notification config of the employee | mixed | No | |
assignedByEmployee.offlineNotificationConfig.forwardingNumber | Forwarding number for the employee in E.164 standard | string | No | |
assignedByEmployee.offlineNotificationConfig.forwardingEnabled | Boolean dictating if employee has forwarding enabled (true or false) | boolean | No | |
assignedByEmployee.offlineNotificationConfig.forwardAllEnabled | Boolean dictating if all messages should be forwarded to the employee (true or false) | boolean | No | |
assignedByEmployee.offlineNotificationConfig.forwardLoggedOutEnabled | Boolean dictating if messages should be forwarded when employee is logged out (true or false) | boolean | No | |
assignedByEmployee.authUser | Object containing the user of the employee | mixed | No | |
assignedByEmployee.authUser.username | The username of the employee | string | Yes | |
assignedByEmployee.authUser.password | For standard integrations, this field is used exclusively to set a temporary password during user creation; the password field is ignored when updating existing users. Unless configured otherwise, temporary passwords must be at least 12 characters long and must include one letter, one number, and one special character. Legacy configurations support ongoing (and non-temporary) password updates. | string | No | |
assignedByEmployee.authUser.disabled | Boolean dictating if user is disabled (true or false) | boolean | No | |
assignedByEmployee.authUser.roles | Array of role external ID’s | Not a CSV column header. Pass each array element in its own indexed column (assignedByEmployee.authUser.roles[0], assignedByEmployee.authUser.roles[1], and so on). | array | No |
assignedByEmployee.authUser.roles[0] | Array element | string | No | |
createdByEmployee | Employee who created this task. A UUID, or the full object when expanded. | mixed | No | |
createdByEmployee.externalId | Integrator provided unique identifier for the employee. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | Yes |
createdByEmployee.samlNameId | If using SSO for authentication against a third party system, set the login username in this field if different than the value set in externalId. | string | No | |
createdByEmployee.disabled | Boolean dictating if employee is disabled (true or false) | boolean | No | |
createdByEmployee.store | Unique Tulip identifier of the store the employee is associated with | Max Length: 36 | string | No |
createdByEmployee.displayName | Name that will be displayed for the employee | string | No | |
createdByEmployee.firstName | First name of the employee | Max Length: 255 | string | No |
createdByEmployee.lastName | Last name of the employee | Max Length: 255 | string | No |
createdByEmployee.emailAddress | Email address of the employee | Max Length: 255 | string | No |
createdByEmployee.image | Image associated with the employee. On create/update, supply a publicly reachable URL; the image is fetched and uploaded to our image server asynchronously after the API responds. As a result, the image field on the create/update response (and on reads made immediately after) will be empty until the upload job completes — typically within a couple of seconds. | string | No | |
createdByEmployee.mobileNumber | Mobile number for the employee in E.164 standard | string | No | |
createdByEmployee.jobTitle | Job title of the employee | Max Length: 255 | string | No |
createdByEmployee.liveConnectAvailability | Boolean dictating whether live connect is available or not for the employee (true or false) | boolean | No | |
createdByEmployee.attributes | Array of Attribute Values associated with this employee | Not a CSV column header. Pass each array element in its own indexed column (createdByEmployee.attributes[0], createdByEmployee.attributes[1], and so on). | array | No |
createdByEmployee.attributes[0] | Array element | mixed | No | |
createdByEmployee.attributes[0].value | Value of the attribute, this will be any type casted to string but supports all basic types | mixed | Yes | |
createdByEmployee.attributes[0].name | External ID of the attribute | Max Length: 255 | string | Yes |
createdByEmployee.attributes[0].languageExternalId | External ID of the language, defaults to english | Max Length: 255 | string | Yes |
createdByEmployee.attributes[0].description | Tulip Attribute description | Max Length: 255 | string | Yes |
createdByEmployee.attributes[0].type | Tulip Attribute Type | Allowed: string, boolean, integer, float | string | Yes |
createdByEmployee.orgAccess | The complete set of org-chart nodes (Division, Region, District, or Store) this employee has access to. Each entry grants access to the whole node including everything beneath it, and the array replaces the employee’s existing assignment set. Omit the field to leave existing assignments untouched. Read assignments back from GET /storeOps/employeeOrgAccess. | Not a CSV column header. Pass each array element in its own indexed column (createdByEmployee.orgAccess[0], createdByEmployee.orgAccess[1], and so on). | array | No |
createdByEmployee.orgAccess[0] | Array element | mixed | No | |
createdByEmployee.orgAccess[0].type | The kind of node access is granted at | Allowed: Division, Region, District, Store | string | Yes |
createdByEmployee.orgAccess[0].uuid | Unique Tulip identifier of the node. One of uuid, externalId, or id is required. | string | No | |
createdByEmployee.orgAccess[0].externalId | External identifier of the node (store organization resource external ID, or store code for stores). One of uuid, externalId, or id is required. | Max Length: 255 | string | No |
createdByEmployee.orgAccess[0].id | Internal Tulip identifier of the node. One of uuid, externalId, or id is required. | integer | No | |
createdByEmployee.signature | Object containing the signature of the employee | mixed | No | |
createdByEmployee.signature.content | The signature of the employee | string | Yes | |
createdByEmployee.profile | Object containing the profile of the employee | mixed | No | |
createdByEmployee.profile.phoneNumber | The profile phone number of the employee in E.164 format | string | No | |
createdByEmployee.offlineNotificationConfig | Object containing the offline notification config of the employee | mixed | No | |
createdByEmployee.offlineNotificationConfig.forwardingNumber | Forwarding number for the employee in E.164 standard | string | No | |
createdByEmployee.offlineNotificationConfig.forwardingEnabled | Boolean dictating if employee has forwarding enabled (true or false) | boolean | No | |
createdByEmployee.offlineNotificationConfig.forwardAllEnabled | Boolean dictating if all messages should be forwarded to the employee (true or false) | boolean | No | |
createdByEmployee.offlineNotificationConfig.forwardLoggedOutEnabled | Boolean dictating if messages should be forwarded when employee is logged out (true or false) | boolean | No | |
createdByEmployee.authUser | Object containing the user of the employee | mixed | No | |
createdByEmployee.authUser.username | The username of the employee | string | Yes | |
createdByEmployee.authUser.password | For standard integrations, this field is used exclusively to set a temporary password during user creation; the password field is ignored when updating existing users. Unless configured otherwise, temporary passwords must be at least 12 characters long and must include one letter, one number, and one special character. Legacy configurations support ongoing (and non-temporary) password updates. | string | No | |
createdByEmployee.authUser.disabled | Boolean dictating if user is disabled (true or false) | boolean | No | |
createdByEmployee.authUser.roles | Array of role external ID’s | Not a CSV column header. Pass each array element in its own indexed column (createdByEmployee.authUser.roles[0], createdByEmployee.authUser.roles[1], and so on). | array | No |
createdByEmployee.authUser.roles[0] | Array element | string | No | |
customer | Customer associated with this task. A UUID, or the full object when expanded. | mixed | No | |
customer.externalId | Integrator provided unique identifier for the customer. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
customer.firstName | First name of the customer | Max Length: 64 | string | Yes |
customer.lastName | Last name of the customer | Max Length: 64 | string | Yes |
customer.prefix | Customer name prefix (Title) | Max Length: 64 | string | No |
customer.suffix | Customer name suffix | Max Length: 64 | string | No |
customer.disabled | Boolean dictating if customer status is disabled or not | boolean | No | |
customer.excludeFromCampaigns | Boolean dictating if a customer is excluded from Tulip Outreach Plus campaigns or not | boolean | No | |
customer.image | Image URL of the customer | Max Length: 64 | string | No |
customer.attributes | Array of Attribute Values associated with this customer | Not a CSV column header. Pass each array element in its own indexed column (customer.attributes[0], customer.attributes[1], and so on). | array | Yes |
customer.attributes[0] | Array element | mixed | No | |
customer.attributes[0].value | Value of the attribute | mixed | Yes | |
customer.attributes[0].attributeExternalId | “Integrator provided unique identifier for the attribute. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | Yes |
customer.attributes[0].languageExternalId | External ID of the language | Max Length: 255 | string | No |
customer.addresses | Array of Addresses associated with this Customer Expandable | Not a CSV column header. Pass each array element in its own indexed column (customer.addresses[0], customer.addresses[1], and so on). | mixed | Yes |
customer.addresses[0] | Array element | mixed | No | |
customer.addresses[0].address1 | Address line 1: street number and street name | Max Length: 64 | string | Yes |
customer.addresses[0].city | City | Max Length: 32 | string | Yes |
customer.addresses[0].countryCode | ISO-3166-1 alpha-2 (e.g. CA) or alpha-3 (e.g. CAN) on write; returned as alpha-2 | Max Length: 3 | string | Yes |
customer.addresses[0].zoneCode | The ISO-3166-2 region code (including the country code portion) for the state/province/region | Max Length: 255 | string | No |
customer.addresses[0].postCode | Postal code of the address | Max Length: 10 | string | Yes |
customer.addresses[0].address2 | Address line 2 | Max Length: 64 | string | No |
customer.addresses[0].externalId | Integrator provided unique identifier for the address. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
customer.addresses[0].firstName | First name associated to the address | Max Length: 64 | string | No |
customer.addresses[0].lastName | Last name associated to the address | Max Length: 64 | string | No |
customer.addresses[0].phone | Phone number associated to the address (E.164 standard) | Max Length: 32 | string | No |
customer.addresses[0].emailAddress | Email address associated to the address | Max Length: 255 | string | No |
customer.addresses[0].type | Type of address | Max Length: 255 | string | Yes |
customer.addresses[0].disabled | Boolean dictating if address is disabled (true or false) | boolean | No | |
customer.addresses[0].isPrimary | Boolean dictating if address is the primary address for the customer | boolean | No | |
customer.importantDates | Array of Important Dates associated with this Customer Expandable | Not a CSV column header. Pass each array element in its own indexed column (customer.importantDates[0], customer.importantDates[1], and so on). | mixed | Yes |
customer.importantDates[0] | Array element | mixed | No | |
customer.importantDates[0].type | Type of important date | Max Length: 255 | string | Yes |
customer.importantDates[0].title | Description of the important date | Max Length: 255 | string | No |
customer.importantDates[0].date | Important date of the customer in RFC3339 format | string | Yes | |
customer.importantDates[0].externalId | Integrator provided unique identifier for the important date. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
customer.emailAddresses | Array of Email Addresses associated with this Customer Expandable | Not a CSV column header. Pass each array element in its own indexed column (customer.emailAddresses[0], customer.emailAddresses[1], and so on). | mixed | Yes |
customer.emailAddresses[0] | Array element | mixed | No | |
customer.emailAddresses[0].emailAddress | Email Address of the customer | Max Length: 255 | string | Yes |
customer.emailAddresses[0].externalId | Integrator provided unique identifier for the email address. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
customer.emailAddresses[0].disabled | Boolean dictating if the email address is disabled (true or false) | boolean | No | |
customer.emailAddresses[0].isPrimary | Boolean dictating if this email address is the primary email address for the customer | boolean | No | |
customer.emailAddresses[0].type | Type of email address | Max Length: 11 | string | Yes |
customer.emailAddresses[0].attributes | Array of Attribute Values associated with this email address | Not a CSV column header. Pass each array element in its own indexed column (customer.emailAddresses[0].attributes[0], customer.emailAddresses[0].attributes[1], and so on). | array | Yes |
customer.emailAddresses[0].attributes[0] | Array element | mixed | No | |
customer.emailAddresses[0].attributes[0].value | Value of the attribute | mixed | Yes | |
customer.emailAddresses[0].attributes[0].attributeExternalId | “Integrator provided unique identifier for the attribute. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | Yes |
customer.emailAddresses[0].attributes[0].languageExternalId | External ID of the language | Max Length: 255 | string | No |
customer.phoneNumbers | Array of Phone Numbers associated with this Customer Expandable | Not a CSV column header. Pass each array element in its own indexed column (customer.phoneNumbers[0], customer.phoneNumbers[1], and so on). | mixed | Yes |
customer.phoneNumbers[0] | Array element | mixed | No | |
customer.phoneNumbers[0].externalId | Integrator provided unique identifier for the phone number. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
customer.phoneNumbers[0].type | Type of phone number | Max Length: 255 | string | Yes |
customer.phoneNumbers[0].disabled | Boolean dictating if the phone number is disabled (true or false) | boolean | No | |
customer.phoneNumbers[0].isPrimary | Boolean dictating if the phone number is the primary phone number for the customer | boolean | No | |
customer.phoneNumbers[0].number | Phone number for the customer in E.164 standard | Max Length: 32 | string | Yes |
customer.phoneNumbers[0].countryExternalId | External ID of the country this phone number belongs to. Detected automatically using number if not provided. | string | No | |
customer.phoneNumbers[0].attributes | Array of Attribute Values associated with the phone number | Not a CSV column header. Pass each array element in its own indexed column (customer.phoneNumbers[0].attributes[0], customer.phoneNumbers[0].attributes[1], and so on). | array | Yes |
customer.phoneNumbers[0].attributes[0] | Array element | mixed | No | |
customer.phoneNumbers[0].attributes[0].value | Value of the attribute | mixed | Yes | |
customer.phoneNumbers[0].attributes[0].attributeExternalId | “Integrator provided unique identifier for the attribute. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | Yes |
customer.phoneNumbers[0].attributes[0].languageExternalId | External ID of the language | Max Length: 255 | string | No |
customer.loyaltyTiers | Array of Loyalty Tiers associated with this Customer Expandable | Not a CSV column header. Pass each array element in its own indexed column (customer.loyaltyTiers[0], customer.loyaltyTiers[1], and so on). | array | No |
customer.loyaltyTiers[0] | Array element | mixed | No | |
customer.loyaltyTiers[0].tier | Identifier of the associated Customer Tier | string | Yes | |
customer.loyaltyTiers[0].colour | The colour associated with the tier in Hex format | Max Length: 255 | string | No |
customer.loyaltyTiers[0].definition | The definition of this tier value | string | No | |
customer.loyaltyTiers[0].externalId | External identifier of the Tier Value | Max Length: 255 | string | No |
customer.loyaltyTiers[0].isHidden | Boolean dictating if Tier Value is hidden (true or false) | boolean | Yes | |
customer.loyaltyTiers[0].localizedData | Array of localized Tier Value descriptions | Not a CSV column header. Pass each array element in its own indexed column (customer.loyaltyTiers[0].localizedData[0], customer.loyaltyTiers[0].localizedData[1], and so on). | array | No |
customer.loyaltyTiers[0].localizedData[0] | Array element | mixed | No | |
customer.loyaltyTiers[0].localizedData[0].languageCode | Language code the Tier Value is in | string | Yes | |
customer.loyaltyTiers[0].localizedData[0].name | The localized name of the Tier Value | Max Length: 255 | string | Yes |
customer.preferences | Array of Preferences associated with this Customer Expandable | mixed | Yes | |
customer.preferences.likes | Array of liked customer preferences Expandable | Not a CSV column header. Pass each array element in its own indexed column (customer.preferences.likes[0], customer.preferences.likes[1], and so on). | mixed | Yes |
customer.preferences.likes[0] | Array element | mixed | No | |
customer.preferences.likes[0].externalId | External ID of the customerPreferenceValue | Max Length: 255 | string | No |
customer.preferences.likes[0].disabled | Boolean dictating if this preference value is disabled (true or false) | boolean | No | |
customer.preferences.likes[0].aiGenerated | Boolean dictating if this preference value is generated by AI (true or false) | boolean | No | |
customer.preferences.likes[0].type | The customer preference this value belongs to (External ID or UUID) | mixed | Yes | |
customer.preferences.likes[0].sortOrder | Sort order for this preference value in the list | integer | Yes | |
customer.preferences.likes[0].localizedData | Localized data for value and presentation with associated language | Not a CSV column header. Pass each array element in its own indexed column (customer.preferences.likes[0].localizedData[0], customer.preferences.likes[0].localizedData[1], and so on). | array | No |
customer.preferences.likes[0].localizedData[0] | Array element | mixed | No | |
customer.preferences.dislikes | Array of disliked customer preferences Expandable | Not a CSV column header. Pass each array element in its own indexed column (customer.preferences.dislikes[0], customer.preferences.dislikes[1], and so on). | mixed | Yes |
customer.preferences.dislikes[0] | Array element | mixed | No | |
customer.preferences.dislikes[0].externalId | External ID of the customerPreferenceValue | Max Length: 255 | string | No |
customer.preferences.dislikes[0].disabled | Boolean dictating if this preference value is disabled (true or false) | boolean | No | |
customer.preferences.dislikes[0].aiGenerated | Boolean dictating if this preference value is generated by AI (true or false) | boolean | No | |
customer.preferences.dislikes[0].type | The customer preference this value belongs to (External ID or UUID) | mixed | Yes | |
customer.preferences.dislikes[0].sortOrder | Sort order for this preference value in the list | integer | Yes | |
customer.preferences.dislikes[0].localizedData | Localized data for value and presentation with associated language | Not a CSV column header. Pass each array element in its own indexed column (customer.preferences.dislikes[0].localizedData[0], customer.preferences.dislikes[0].localizedData[1], and so on). | array | No |
customer.preferences.dislikes[0].localizedData[0] | Array element | mixed | No | |
customer.socialProfiles | Array of social profiles associated with this customer | Not a CSV column header. Pass each array element in its own indexed column (customer.socialProfiles[0], customer.socialProfiles[1], and so on). | mixed | Yes |
customer.socialProfiles[0] | Array element | mixed | No | |
customer.socialProfiles[0].externalId | Integrator provided unique identifier for the social profile. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
customer.socialProfiles[0].value | Value of the social profile | Max Length: 255 | string | Yes |
customer.socialProfiles[0].type | Type of social profile | Max Length: 11 Allowed: whatsapp, wechat, line | string | Yes |
customer.socialProfiles[0].isPrimary | Boolean dictating if this social profile is the primary social profile for the customer | boolean | No | |
customer.socialProfiles[0].disabled | Boolean dictating if the social profile is disabled (true or false) | boolean | No | |
customer.notes | Internal notes on the customer | Not a CSV column header. Pass each array element in its own indexed column (customer.notes[0], customer.notes[1], and so on). | array | No |
customer.notes[0] | Array element | mixed | No | |
customer.notes[0].externalId | Integrator provided unique identifier for the customer notes. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
customer.notes[0].customer | Customer who is associated with the note | Max Length: 255 | string | Yes |
customer.notes[0].employee | Employee who is associated with the note | Max Length: 255 | string | No |
customer.notes[0].store | Store associated with the note | Max Length: 255 | string | No |
customer.notes[0].comments | Comments associated with the note | string | Yes | |
customer.notes[0].isPrivate | Boolean dictating if customer note is private or not | boolean | No | |
customer.notes[0].isDeleted | Boolean dictating if customer note is deleted or not | boolean | No | |
customer.notes[0].type | Type of the note. Leave it out on an edit to keep the note’s current type. | Allowed: CUSTOMER_OPTIN_LOG | string | Yes |
customer.notes[0].wishlist | Wishlist associated with the note (UUID or External ID on write, UUID on read) | Max Length: 255 | string | No |
customer.notes[0].wishListId | Deprecated: use wishlist. Ignored on write. | integer | No | |
customer.addedToBookByDate | Datetime when the customer was added to the book | string | No | |
customer.lifetimeSalesValue | Lifetime sales value of the customer as a decimal string | string | No | |
store | Store to which this task belongs - required if assignedEmployee is not supplied. A UUID, or the full object when expanded. | mixed | Yes | |
store.externalId | Integrator provided unique identifier for the store. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | Yes |
store.disabled | Boolean dictating if store is disabled (true or false) | boolean | No | |
store.name | Name of the store | string | Yes | |
store.businessEntityName | Business entity name of the store | string | No | |
store.address | Address of the store | string | Yes | |
store.city | City of the store | string | No | |
store.postalCode | Postal code of the store | string | Yes | |
store.zoneCode | Zone code of the store: The ISO-3166-2 region code (including the country code portion) for the state/province/region | string | No | |
store.countryCode | Country ISO code in ISO-3166-1 alpha-3 format | string | Yes | |
store.latitude | Latitude of the store (up to 6 decimal places of precision) | string | No | |
store.longitude | Longitude of the store (up to 6 decimal places of precision) | string | No | |
store.taxDivision | Tax Division of the store | string | No | |
store.taxProvider | Tax Provider of the store - use an ID from the tax provider API | string | No | |
store.remotePayAdyenMerchantAccount | Remote Pay Adyen Merchant Account | string | No | |
store.onlineStore | Online store associated with this store. | string | No | |
store.emailAddress | Email Address of the store | string | No | |
store.phoneNumber | Phone number of the store (E.164 standard) | string | No | |
store.mobilePhoneNumber | Mobile phone number of the store (E.164 standard) | string | No | |
store.receiptLanguageCode | Language code to use for receipts from this store | string | No | |
store.district | UUID of the district associated with this store. | string | No | |
store.timeZone | Time zone in IANA format this store is in | string | No | |
store.settings | N/A | mixed | Yes | |
store.settings.runnerEnabled | Boolean dictating whether runner is enabled for the store (true or false) | boolean | No | |
store.settings.liveConnectEnabled | Boolean dictating if store has live connect enabled (true or false) | boolean | No | |
store.settings.fulfillFromMultipleStoresEnabled | Boolean dictating if store is fulfilled from multiple stores (true or false) | boolean | No | |
store.settings.conditionalOrderFlowEnabled | Boolean dictating if conditional order flow is enabled for the store (true or false) | boolean | No | |
store.settings.twilioCallingEnabled | Boolean dictating if Twilio calling is enabled for the store (true or false) | boolean | No | |
store.settings.clientelingLoginEnabled | Boolean dictating if this store is able to be logged into for the Clienteling app | boolean | No | |
store.settings.checkoutLoginEnabled | Boolean dictating if this store is able to be logged into for the Checkout app | boolean | No | |
store.settings.useStoreDetailsToSendEmail | Boolean dictating whether store name and email will be used as for the From/Sender details when sending an email (true or false). If false, the associate name and email will be used | boolean | No | |
store.settings.pendingCustomerFlowEnabled | Whether pending customer flow is enabled for this store or not | Allowed: Default, Enabled, Disabled | string | No |
store.hours | N/A | mixed | Yes | |
store.hours.monday | N/A | mixed | Yes | |
store.hours.monday.open | Time the store opens for the day (local timezone, 24-hour format) | string | No | |
store.hours.monday.close | Time the store closes for the day (local timezone, 24-hour format) | string | No | |
store.hours.tuesday | N/A | mixed | Yes | |
store.hours.tuesday.open | Time the store opens for the day (local timezone, 24-hour format) | string | No | |
store.hours.tuesday.close | Time the store closes for the day (local timezone, 24-hour format) | string | No | |
store.hours.wednesday | N/A | mixed | Yes | |
store.hours.wednesday.open | Time the store opens for the day (local timezone, 24-hour format) | string | No | |
store.hours.wednesday.close | Time the store closes for the day (local timezone, 24-hour format) | string | No | |
store.hours.thursday | N/A | mixed | Yes | |
store.hours.thursday.open | Time the store opens for the day (local timezone, 24-hour format) | string | No | |
store.hours.thursday.close | Time the store closes for the day (local timezone, 24-hour format) | string | No | |
store.hours.friday | N/A | mixed | Yes | |
store.hours.friday.open | Time the store opens for the day (local timezone, 24-hour format) | string | No | |
store.hours.friday.close | Time the store closes for the day (local timezone, 24-hour format) | string | No | |
store.hours.saturday | N/A | mixed | Yes | |
store.hours.saturday.open | Time the store opens for the day (local timezone, 24-hour format) | string | No | |
store.hours.saturday.close | Time the store closes for the day (local timezone, 24-hour format) | string | No | |
store.hours.sunday | N/A | mixed | Yes | |
store.hours.sunday.open | Time the store opens for the day (local timezone, 24-hour format) | string | No | |
store.hours.sunday.close | Time the store closes for the day (local timezone, 24-hour format) | string | No | |
store.storeType | Unique Tulip identifier of the store type | mixed | No | |
store.storeType.uuid | Unique Tulip identifier of the store type | Max Length: 36 | string | No |
store.storeType.externalId | Integrator provided unique identifier for the store. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | Yes |
store.storeType.name | Name of the store type | Max Length: 255 | string | Yes |
store.tags | Array of store tag UUIDs associated with this store | Not a CSV column header. Pass each array element in its own indexed column (store.tags[0], store.tags[1], and so on). | array | No |
store.tags[0] | Array element | string | No | |
store.attributes | Array of Attribute Values associated with this store | Not a CSV column header. Pass each array element in its own indexed column (store.attributes[0], store.attributes[1], and so on). | array | No |
store.attributes[0] | Array element | mixed | No | |
store.attributes[0].value | Value of the attribute, this will be any type casted to string but supports all basic types | mixed | Yes | |
store.attributes[0].name | External ID of the attribute | Max Length: 255 | string | Yes |
store.attributes[0].languageExternalId | External ID of the language, defaults to english | Max Length: 255 | string | Yes |
store.attributes[0].description | Tulip Attribute description | Max Length: 255 | string | Yes |
store.attributes[0].type | Tulip Attribute Type | Allowed: string, boolean, integer, float | string | Yes |
store.catalogs | Array of catalog IDs (UUIDs or External IDs) associated with this store | Not a CSV column header. Pass each array element in its own indexed column (store.catalogs[0], store.catalogs[1], and so on). | array | No |
store.catalogs[0] | Array element | string | No | |
campaign | Campaign to which this task belongs. | string | No | |
taskType | Type of followup, see crm/taskTypes API. A UUID, or the full object when expanded. | mixed | Yes | |
dateDue | Datetime of when the followup task is due in Z-normalized RFC3339 format | string | Yes |
Sample CSV
See the following followupTasks CSV sample file.
Note: The sample CSV may contain sample ID fields which reference other resources that do not match the data in your environment.