
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
1
Access AskSuite
Log in to your AskSuite account at control.asksuite.com.
2
Navigate to Integrations
Go to Menu > Integrações (Integrations).
3
Generate or Copy Your Token
Locate or generate your Integration User Token. This token is used to authenticate API requests.
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.Identifiers:id: Unique identifier for the conversation recordconversationId: Unique identifier for the conversationgroupId: Group identifiercompanyId: Company identifiercompanyName: Company name
name: Customer nameemail: Customer emailphone: Customer phonecity: Citystate: State or regioncountry: Countrylanguage: Language code (e.g., pt-br)custom: Custom field
platform: Platform where conversation originatedsource: Source of the conversation (e.g., chat_web)humanRequest: Whether human assistance was requestedattendant: Attendant nameattendantEmail: Attendant emaillinkToLiveChat: Link to live chatpage: Page URL where conversation started
arrivalDate: Arrival datedepartureDate: Departure dateadults: Number of adultschildren: Number of childrenrequestPrice: Whether price was requestedlinkQuotationOpened: Whether quotation link was openedhasReservation: Whether conversation has reservationgroupQuote: Whether it’s a group quoteeventQuote: Whether it’s an event quote
totalReservation: Total reservation valuelastReservationDate: Last reservation datelastReservationCurrency: Last reservation currencylastReservationValue: Last reservation valuelastReservationCode: Last reservation codelastReservationSalesman: Last reservation salesman
minTotalValuePriceQuote: Minimum total value price quotemaxTotalValuePriceQuote: Maximum total value price quotecurrencyPriceQuote: Currency for price quote
tags: List of tag namestagsIds: Tag IDstagsString: Tags as stringevents: List of event IDsutmSource: UTM source parameterutmMedium: UTM medium parameterutmCampaign: UTM campaign parameter
updatedAt: Last update timestamp in milliseconds
Conversation Tasks
Conversation Tasks
Stream containing tasks associated with conversations, such as follow-ups and reminders.Key Fields:
id: Unique identifier for the conversation taskconversationId: Identifier of the conversationcompanyId: Company identifierdescription: Task descriptionstatus: Task status (e.g., TODO, DONE, EXPIRED, CANCELED)
userCreatorId: ID of the user who created the taskuserAssign: ID of the user assigned to the task
message: Message object containing:templateId: Template IDstatus: Message status
genericRuleEngineId: Generic rule engine identifier
expirationDate: Expiration date as timestamp in millisecondscreatedAt: Creation timestamp in millisecondsupdatedAt: Last update timestamp in milliseconds
Tags
Tags
Transmission List
Transmission List
Stream containing broadcast/transmission lists for WhatsApp campaigns and bulk messaging.Key Fields:
transmissionListId: Unique identifier for the transmission listname: Name of the transmission listtemplateId: Template identifier used for this transmissioncompanyId: Company identifierstatus: Status of the transmission (e.g., SENT)campaign: Whether this is a campaign
messages: List of messages in the transmission, each containing:phone: Recipient phone numberparams: Array of parameters
failedMessages: Failed messages, if any
stopBot: Whether to stop the bottags: Tags associated with the transmissionexpirationDate: Expiration date as timestamp in milliseconds
userCreatorId: ID of the user who created the transmissioncreatedAt: Creation timestamp in milliseconds
WhatsApp Message Templates
WhatsApp Message Templates
Stream containing WhatsApp message templates used for automated and campaign messaging.Key Fields:
idMessageTemplate: Unique identifier for the message templatetitle: Template titlecontent: Template contentlanguage: Template language codecategory: Template category (e.g., ACCOUNT_UPDATE)templateType: Template type (e.g., CAMPAIGN)
status: Template status (e.g., active)platformStatus: Platform status (e.g., APPROVED)platform: Platform name (e.g., GUPSHUP)platformId: Platform identifierreason: Reason for template status
buttons: List of buttons in the template, each containing:id: Button IDlabel: Button labeltype: Button typedefaultValue: Default value
quickReplies: List of quick replies
parameters: List of template parameters, each containing:id: Parameter IDname: Parameter nametype: Parameter typevisible: Whether parameter is visiblecontentReplace: Content to replacedataSourceField: Data source field
image: Template image URL or data
userCreatorId: ID of the user who created the templatecreatedAt: Creation timestamp in milliseconds
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.