The following areas should be considered when designing an integration to drive an intent workflow. Here you will find output references for:
Ideas on how to build the required JSONata queries can be found in our JSONata Enablement.
CHAT TEXT
All CRMs can send one or more messages in a row which you can populate with dynamic data. You can output information directly using shorthand {{paramName}} to render the value in a bot message, or use the parameter name to customize bot messages based on the individual possible param values using Conditional Blocks.
TICKET & EMAIL TEXT
Ticket and Email bots can send one singular message in reply to a recognized intent. Therefore it’s usually better to send too much (relevant) information rather than too little.
Structuring messages for multiple results can be tricky if you’re only able to send one message though - try to use Conditional Blocks to segment out different response bodies as much as possible.
CARDS & CAROUSELS
Dynamic Cards & Carousels can be populated with incoming API data. They’re a great option if you want to display multiple options at once, e.g. if a customer has multiple shipments in a single order. Once the end-user clicks on a card of their choice, information that only pertains to that specific item will be released to the dialogue.
Specifically for Cards & Carousels, consider carefully how you want to populate the following fields. All of them can be dynamic API content, static text / URLs or a combination of both.
Card data: Image URL, Card Title, and Description.
Card button: Button Text.
Dialogue: Any additional parameters you want to release to the rest of the dialogue to customize the resulting flow, e.g. tracking link, shipping country, days since last update etc.
Please keep in mind that your CRM restricts what can and should be displayed - keep an eye on the limitations here.
Generally, none of the fields should come back with API data of null, undefined or empty. Consider adding a fallback value if you think that might be the case for certain edge cases.