
Configuring AskSuite as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the AskSuite option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need your AskSuite Integration User Token for this connection. This token authenticates your requests to the AskSuite API.Obtaining Your Integration User Token
Access AskSuite
Log in to your AskSuite account at control.asksuite.com.
Configuration Fields
The following configurations are available:- Integration User Token: The token to authenticate against the AskSuite API service. You can find your token at Menu > Integrações in AskSuite.
- Company IDs: The company IDs to filter conversation leads. You can specify multiple company IDs to extract data from multiple properties.
- Start Date: The earliest date from which records will be synced. This is used for incremental sync of conversation leads.
Company IDs allow you to filter conversations by specific properties or hotels in your AskSuite account. This is useful when managing multiple properties.
2. Select streams
Choose which data streams you want to sync. AskSuite provides access to conversation data, tasks, tags, and messaging templates.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix and make this process faster!
-
Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can determine when to execute a full sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while. Once you are ready, click Next to finalize the setup.5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.Streams and Fields
Below you’ll find all available data streams from AskSuite and their corresponding fields:Conversations
Conversations
Stream containing conversation leads from your AskSuite chatbot interactions. This stream supports incremental sync based on the
updatedAt field.| Field | Type | Description |
|---|---|---|
id | Integer | Unique identifier for the conversation record |
conversationId | String | Unique identifier for the conversation |
groupId | String | Group identifier |
companyId | String | Company identifier |
companyName | String | Company name |
name | String | Customer name |
email | String | Customer email |
phone | String | Customer phone |
city | String | City |
state | String | State or region |
country | String | Country |
language | String | Language code (e.g., pt-br) |
custom | String | Custom field |
platform | String | Platform where conversation originated |
source | String | Source of the conversation (e.g., chat_web) |
humanRequest | Boolean | Whether human assistance was requested |
attendant | String | Attendant name |
attendantEmail | String | Attendant email |
linkToLiveChat | String | Link to live chat |
page | String | Page URL where conversation started |
arrivalDate | String | Arrival date |
departureDate | String | Departure date |
adults | Integer | Number of adults |
children | Integer | Number of children |
requestPrice | Boolean | Whether price was requested |
linkQuotationOpened | Boolean | Whether quotation link was opened |
hasReservation | Boolean | Whether conversation has reservation |
groupQuote | Boolean | Whether it’s a group quote |
eventQuote | Boolean | Whether it’s an event quote |
totalReservation | Number | Total reservation value |
lastReservationDate | Integer | Last reservation date as timestamp |
lastReservationDateFormatted | String | Last reservation date formatted |
lastReservationCurrency | String | Last reservation currency |
lastReservationValue | Number | Last reservation value |
lastReservationCode | String | Last reservation code |
lastReservationSalesman | String | Last reservation salesman |
minTotalValuePriceQuote | Number | Minimum total value price quote |
maxTotalValuePriceQuote | Number | Maximum total value price quote |
currencyPriceQuote | String | Currency for price quote |
tags | Array | List of tag names |
tagsString | String | Tags as string |
events | Array | List of event IDs |
utmSource | String | UTM source parameter |
utmMedium | String | UTM medium parameter |
utmCampaign | String | UTM campaign parameter |
dateFormatted | String | Formatted date and time |
lastMessageReceivedAt | Integer | Timestamp of last message received in milliseconds |
finished | Boolean | Whether conversation is finished |
unavailable | Boolean | Whether unavailable |
updatedAt | Integer | Last update timestamp in milliseconds |
createdAt | Integer | Creation timestamp in milliseconds |
Conversation Tasks
Conversation Tasks
Stream containing tasks associated with conversations, such as follow-ups and reminders.
| Field | Type | Description |
|---|---|---|
id | Integer | Unique identifier for the conversation task |
conversationId | String | Identifier of the conversation |
companyId | String | Company identifier |
parentCompanyId | String | Parent company identifier |
genericRuleEngineId | Integer | Generic rule engine identifier |
conversationTaskMessage | Object | Conversation task message with template details |
conversationTaskMessage.templateId | String | Template ID |
conversationTaskMessage.templateCategory | String | Template category |
conversationTaskMessage.companyId | String | Company ID |
conversationTaskMessage.status | String | Message status |
conversationTaskMessage.params | Array | Array of parameters |
conversationTaskMessage.text | String | Message text |
conversationTaskMessage.image | String | Message image |
conversationTaskMessage.sentAt | Integer | Sent timestamp |
conversationTaskMessage.deliveredAt | Integer | Delivered timestamp |
conversationTaskMessage.answeredAt | Integer | Answered timestamp |
conversationTaskMessage.failedAt | Integer | Failed timestamp |
conversationTaskMessage.buttons | Array | Message buttons |
conversationTaskMessage.quickReplies | Array | Quick replies |
message | Object | Message object with template ID and status |
message.text | String | Message text |
message.image | String | Message image |
message.params | Array | Message parameters |
message.buttons | Array | Message buttons |
message.quickReplies | Array | Quick replies |
message.sentAt | Integer | Sent timestamp |
message.failedAt | Integer | Failed timestamp |
message.status | String | Message status |
message.companyId | String | Company ID |
message.answeredAt | Integer | Answered timestamp |
message.templateId | String | Template ID |
message.deliveredAt | Integer | Delivered timestamp |
message.templateCategory | String | Template category |
title | String | Task title |
description | String | Task description |
status | String | Task status (e.g., TODO, DONE, EXPIRED, CANCELED) |
userCreatorId | Integer | ID of the user who created the task |
userAssign | Integer | ID of the user assigned to the task |
externalData | Object | External data with lead and user information |
externalData.lead.name | String | Lead name |
externalData.lead.email | String | Lead email |
externalData.lead.phone | String | Lead phone |
externalData.user.id | Integer | User ID |
createdAt | Integer | Creation timestamp in milliseconds |
updatedAt | Integer | Last update timestamp in milliseconds |
expirationDate | Integer | Expiration date as timestamp in milliseconds |
Tags
Tags
Transmission List
Transmission List
Stream containing broadcast/transmission lists for WhatsApp campaigns and bulk messaging.
| Field | Type | Description |
|---|---|---|
transmissionListId | String | Unique identifier for the transmission list |
name | String | Name of the transmission list |
templateId | String | Template identifier used for this transmission |
companyId | String | Company identifier |
status | String | Status of the transmission (e.g., SENT) |
messages | Array | List of messages in the transmission |
messages.phone | String | Recipient phone number |
messages.params | Array | Array of parameters |
messages.channelRulesCheck | Boolean | Channel rules check status |
failedMessages | String | Failed messages, if any |
stopBot | Boolean | Whether to stop the bot |
tags | String | Tags associated with the transmission as key-value pairs |
trackData | String | Tracking data |
actions | String | Actions associated with the transmission |
createdAt | Integer | Creation timestamp in milliseconds |
isCampaign | Boolean | Whether this is a campaign |
expirationDate | Integer | Expiration date as timestamp in milliseconds |
userCreatorId | Integer | ID of the user who created the transmission |
WhatsApp Message Templates
WhatsApp Message Templates
Stream containing WhatsApp message templates used for automated and campaign messaging.
| Field | Type | Description |
|---|---|---|
idMessageTemplate | Integer | Unique identifier for the message template |
title | String | Template title |
content | String | Template content |
companyId | String | Company identifier |
language | String | Template language code |
category | String | Template category (e.g., ACCOUNT_UPDATE) |
templateType | String | Template type (e.g., CAMPAIGN) |
status | String | Template status (e.g., active) |
platformStatus | String | Platform status (e.g., APPROVED) |
platform | String | Platform name (e.g., GUPSHUP) |
platformId | String | Platform identifier |
platformContent | String | Platform-specific content |
reason | String | Reason for template status |
buttons | Array | List of buttons in the template |
buttons.id | String | Button ID |
buttons.label | String | Button label |
buttons.type | String | Button type |
buttons.defaultValue | String | Default value |
quickReplies | Array | List of quick replies |
parameters | Array | List of template parameters |
parameters.id | String | Parameter ID |
parameters.name | String | Parameter name |
parameters.type | String | Parameter type |
parameters.visible | Boolean | Whether parameter is visible |
parameters.contentReplace | String | Content to replace |
parameters.dataSourceField | String | Data source field |
image | String | Template image URL or data |
userCreatorId | Integer | ID of the user who created the template |
createdAt | Integer | Creation timestamp in milliseconds |
lastCategoryUpdateAt | Integer | Last category update timestamp in milliseconds |
categoryUpdates | Integer | Number of category updates |
Data Model
The following diagram illustrates the relationships between the core data streams in AskSuite. The arrows indicate the join keys that link the different entities.Implementation Notes
Data Sync Considerations
-
Incremental Sync: The
Conversationsstream supports incremental sync using theupdatedAtfield. Other streams (Tags, Conversation Tasks, Transmission List, WhatsApp Message Templates) are extracted as full table syncs. - Timestamps: All timestamps in AskSuite data are stored as milliseconds since epoch. You may need to convert these to standard datetime formats for analysis.
-
Company Filtering: The
company_idsconfiguration allows you to filter data by specific properties. Make sure to include all relevant company IDs to capture complete data.
Multi-Property Support
If you manage multiple hotels or properties in AskSuite, you can specify multiple Company IDs in the configuration. This will extract conversation data from all specified properties in a single sync.Skills for agents
Download AskSuite skills file
AskSuite connector documentation as plain markdown, for use in AI agent contexts.