Skip to main content
AskSuite is a conversational AI platform designed for the hospitality industry. It provides AI-powered chatbots and automation tools that help hotels manage guest inquiries, generate leads, and streamline communication across multiple channels including web chat, WhatsApp, and social media.

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.
Store your token securely. Treat it like a password and do not share it publicly.

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.
Once you’re done, click Next.

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.
Once you are done configuring, click Next.

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.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Below you’ll find all available data streams from AskSuite and their corresponding fields:
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 record
  • conversationId: Unique identifier for the conversation
  • groupId: Group identifier
  • companyId: Company identifier
  • companyName: Company name
Customer Information:
  • name: Customer name
  • email: Customer email
  • phone: Customer phone
  • city: City
  • state: State or region
  • country: Country
  • language: Language code (e.g., pt-br)
  • custom: Custom field
Conversation Details:
  • platform: Platform where conversation originated
  • source: Source of the conversation (e.g., chat_web)
  • humanRequest: Whether human assistance was requested
  • attendant: Attendant name
  • attendantEmail: Attendant email
  • linkToLiveChat: Link to live chat
  • page: Page URL where conversation started
Booking Information:
  • arrivalDate: Arrival date
  • departureDate: Departure date
  • adults: Number of adults
  • children: Number of children
  • requestPrice: Whether price was requested
  • linkQuotationOpened: Whether quotation link was opened
  • hasReservation: Whether conversation has reservation
  • groupQuote: Whether it’s a group quote
  • eventQuote: Whether it’s an event quote
Reservation Details:
  • totalReservation: Total reservation value
  • lastReservationDate: Last reservation date
  • lastReservationCurrency: Last reservation currency
  • lastReservationValue: Last reservation value
  • lastReservationCode: Last reservation code
  • lastReservationSalesman: Last reservation salesman
Quote Information:
  • minTotalValuePriceQuote: Minimum total value price quote
  • maxTotalValuePriceQuote: Maximum total value price quote
  • currencyPriceQuote: Currency for price quote
Tags & Tracking:
  • tags: List of tag names
  • tagsIds: Tag IDs
  • tagsString: Tags as string
  • events: List of event IDs
  • utmSource: UTM source parameter
  • utmMedium: UTM medium parameter
  • utmCampaign: UTM campaign parameter
Timestamps:
  • updatedAt: Last update timestamp in milliseconds
Stream containing tasks associated with conversations, such as follow-ups and reminders.Key Fields:
  • id: Unique identifier for the conversation task
  • conversationId: Identifier of the conversation
  • companyId: Company identifier
  • description: Task description
  • status: Task status (e.g., TODO, DONE, EXPIRED, CANCELED)
Assignment:
  • userCreatorId: ID of the user who created the task
  • userAssign: ID of the user assigned to the task
Message:
  • message: Message object containing:
    • templateId: Template ID
    • status: Message status
Rule Engine:
  • genericRuleEngineId: Generic rule engine identifier
Timestamps:
  • expirationDate: Expiration date as timestamp in milliseconds
  • createdAt: Creation timestamp in milliseconds
  • updatedAt: Last update timestamp in milliseconds
Stream containing all tags used to categorize and organize conversations.Key Fields:
  • tagId: Unique identifier for the tag
  • name: Tag name
  • color: Tag color in hex format
  • type: Tag type (e.g., custom)
  • status: Tag status (e.g., active)
  • active: Whether the tag is active
  • standard: Whether the tag is standard
Visibility & Access:
  • visibleToClients: Whether the tag is visible to clients
  • companyId: Company identifier
  • companiesIds: List of company IDs associated with the tag
  • disabledCompaniesIds: List of disabled company IDs
Metadata:
  • translations: Translations for the tag
  • triggeredBy: What triggered the tag
  • createdAt: Creation timestamp in milliseconds
Stream containing broadcast/transmission lists for WhatsApp campaigns and bulk messaging.Key Fields:
  • transmissionListId: Unique identifier for the transmission list
  • name: Name of the transmission list
  • templateId: Template identifier used for this transmission
  • companyId: Company identifier
  • status: Status of the transmission (e.g., SENT)
  • campaign: Whether this is a campaign
Messages:
  • messages: List of messages in the transmission, each containing:
    • phone: Recipient phone number
    • params: Array of parameters
  • failedMessages: Failed messages, if any
Settings:
  • stopBot: Whether to stop the bot
  • tags: Tags associated with the transmission
  • expirationDate: Expiration date as timestamp in milliseconds
Timestamps:
  • userCreatorId: ID of the user who created the transmission
  • createdAt: Creation timestamp in milliseconds
Stream containing WhatsApp message templates used for automated and campaign messaging.Key Fields:
  • idMessageTemplate: Unique identifier for the message template
  • title: Template title
  • content: Template content
  • language: Template language code
  • category: Template category (e.g., ACCOUNT_UPDATE)
  • templateType: Template type (e.g., CAMPAIGN)
Status & Platform:
  • status: Template status (e.g., active)
  • platformStatus: Platform status (e.g., APPROVED)
  • platform: Platform name (e.g., GUPSHUP)
  • platformId: Platform identifier
  • reason: Reason for template status
Interactive Elements:
  • buttons: List of buttons in the template, each containing:
    • id: Button ID
    • label: Button label
    • type: Button type
    • defaultValue: Default value
  • quickReplies: List of quick replies
Parameters:
  • parameters: List of template parameters, each containing:
    • id: Parameter ID
    • name: Parameter name
    • type: Parameter type
    • visible: Whether parameter is visible
    • contentReplace: Content to replace
    • dataSourceField: Data source field
Media:
  • image: Template image URL or data
Metadata:
  • userCreatorId: ID of the user who created the template
  • createdAt: 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 Conversations stream supports incremental sync using the updatedAt field. 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_ids configuration 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.