Cards and Messages types

Raquel Updated by Raquel

Let's dive into all the Message and Action cards available in the Journey page.

Clicking on the plus button, select any of the available message types to build your engaging chat service.

Message types

Text 

Plain and simple card with copy. You can also add media here: Image, Video, Document or Audio.

You can add multimedia attachments, including images, audio clips, video clips and documents as long as they adhere to size restrictions and supported content types.

Use the text formatting (bold, italics, etc.) and emoji shortcuts to make your messages more readable.
Size restrictions
  • Images under 5MB 
  • Documents / PDF under 100 MB
  • Videos and audio clips under 16MB
WhatsApp official documentation on media size restrictions.
Supported content-types
WhatsApp official documentation on supported media types.
Please ensure that you are using only the supported content-types listed above since Turn only guarantees the sending and receival of these content type

Question 

When you send a text question, Turn will wait for the user to respond before moving on to the next interaction.

Buttons 

One-click replies for users. This reduces errors and improves the user experience. You can use up to 3 buttons per message.

List 

Expand up to 10 options for users to choose from. Great for menus.

Template 

Pre-approved messages to re-open conversations. They are mandatory for time-based triggers. Remember WhatsApp dictates a couple of rules around templates.

AI

Once you have your AI integration set up successfully and provided relevant information for your AI assistant, 6 AI-powered blocks will be available:

  • Generate text
  • Answer a question
  • Classify text
  • Classify image
  • Text to voice and
  • Voice to text

Action blocks

Update profile field

Sometimes you need to dynamically update a contact profile field, even when the user is not messaging you. That is now possible with the new UPDATE PROFILE FIELD block in Journeys.

The UPDATE PROFILE FILED block makes it possible to do things like:

  • Fetching data from an external service through an API and saving it to a user profile.
  • Controlling how a user flows through different a journey, e.g. the user’s grade, level, etc.
  • Keeping track of someone’s health, e.g. the result of an anxiety risk questionnaire.
  • Saving the results of a user response that don’t directly translate to a variable format.

You can still update a contact profile with the result of a user’s reply to a button, question or list message via the Settings panel, however the new block expands the functionality and makes it explicit on the canvas.

Dynamically update a contact profile field, even when the user is not messaging you.

Save insights 

Journeys allow you to build complex chat experiences with your users. Not all of your user interactions will be important to save, however, at times you want to save responses so that you can learn from them.

  • On a no-code journey, you need to use the Save insights block to do this.
  • In a code journey, you need to use the write_result() function to capture specific responses and store them for analysis.
Using the Actions section in the sidebar

The Action sidebar appears after clicking on the card on the right panel:

Using the Save Insights block

In the image below, we have added a Profile field on our insights CSV file as Completed after the Name question.

Once set up, you can download these important interactions as CSV files using the Export Insights button. You will be emailed a CSV containing the stored interactions per user.

Although the Update contact and Save insights actions do different things, you save responses in the same way.

Responses from the following message types are saveable:

  • Text questions
  • Reply buttons; and/or
  • List messages
Steps to save responses:

Let's image a case where you are using text question to ask a person what their name is and you want to save their selection:

  • Click on the text question card so that the settings panel shows on the right-hand side.
  • Go to the Actions sections and click + to expand the Update contact and/or the Save insights.
  • From the dropdown, select the contact profile field you want to save the information to. Remember, the contact field you want to save should already exist. If not, you need to create it first.
    In the image below you can see that we are saving the User's Response to the question in the Name contact field.
Both 'Update contact' and 'Write results' will only collect data once they are explicitly set up. If you are used to Thread Data Exports, it is important to remember that only the Journey interactions that are explicitly stored with the write_result() function/action will be downloadable.Code

More freedom and flexibility to extend the power of your journey.

Branch

Split journeys to make sure users get the correct information and help suitable to their personal situation.

Branching allows you to one or multiple rules. You can also decide if the conditions should both match (AND) or only if only one needs to be true (OR).

Switch to advanced mode

You can also use advanced rules to filter your contacts into the correct branches. You can switch between the basic and advanced modes with a simple toggle.

Use functions that are not supported in simple mode

You can use any of the Expressions in our documentation.

Group expressions using parentheses

Start a journey

Imagine your chat service has a menu with 5 options. Whenever users make a selection a new journey is triggered that facilitates and executes that logic. Nice and simple!

Route to Operator

Seamless handover between a bot and a human. You can add this card when a contact chooses to talk to a Human/Operator.

Here’s how:

  • In the Journey, add a card Route to Operator: click on the card to open the side menu. In the Behavior section, add a label to this card if needed.
  • This label will now be assigned to the message on your Inbox. It will also remain in your list of labels for future use.
  • In the same way, you can use labels to categorize and find all your content. You have the option to filter by labels and create a Collection with this label.
    Adding a label can be achieved with the add_label() function in a code block

Was this article helpful?

Triggers

Journeys Data

Contact