Reference
Conversation node
How does reply matching work?
Best practices for creating two way conversations with reply matching
Configure your customer conversations based on anything you receive and progress flow experiences based on what a reply contains, all through the Conversation node on the canvas.
The conversation node allows you to ask your customer a question through the Outbound SMS tab and craft the reply paths depending on their reply through the Replies tab. Before configuring the Replies tab, we strongly recommend reading how Reply Matching works and best practices for configuring workflows with rules.
Usage scenario
The following example demonstrates a practical application of the Conversation message action node within a flow, that sends an confirmation message following a inbound message trigger. Depending on the reply, the experience follows it’s respective path.
Configuring the action
Outbound SMS
Edit the outbound SMS, replies and the reply expiry settings. You can refer to the merge fields section to see how to reference a merge field.
Values in the recipient field must follow the internationally standardised E.164 format: [+]
[country code]
[recipient number
including area code]
. For example, an E.164 format Australian number: +61400000000.
Total characters
The number of characters in your message. Not that this does not account for the merge field values – depending on what it renders to, the final character count will vary.
Non-GSM characters
Non-GSM characters (e.g. emojis) are characters that increase the size of your SMS. These can be identified with the orange highlights over these characters.
Copying and pasting from other programmes such Microsoft Word or Google Docs will surface any non-GSM characters present. These will be highlighted automatically.
Learn more about non-GSM characters and SMS size here.
Preview and test
You can also view a preview of the message as it will appear to recipients in the conversation preview.
Replies
In the replies tab, you can label a path’s name (appears on the canvas) and define how responses are matched to this path. You can tailor what happens in each path, in later nodes.
There are two ways to match responses to a path: 1) Expected reply or 2) Free reply.
Expected reply
Expected replies are replies you anticipate on receiving. This includes listening for exact keywords, a certain phrase or word(s) within a sentence, or formatted text (such as email addresses or mobile numbers). You can choose from a pre-written recipe, or build your own 'rule'.
You can add as many rules or recipes within a path. The relationship between each rule/recipe is "OR".
If a reply matches several paths within a node, the topmost path or rule will always be matched. If a reply matches several rules across different active conversations, the reply will be matched with the recipient's most recent conversation. Learn more about Reply Matching
Free reply
Free replies are replies that anything your customer say. They do not have to fulfil any rule to be matched as a 'free reply'. A free reply can contain alphanumeric characters, with or without emojis, and other special characters (such as è
). We recommend having a Free Reply path for most flows to ensure unprompted customers replies to your message can be matched to this experience. Learn more about best practices
When the Free Reply path is enabled, it will always be positioned as the last path. This is because if a reply can match multiple paths in a node, the top-most path is always matched first. Learn more about rules, regex and recipes
Outcomes
Configure different experiences based on the outcomes of this node:
Replies
The experience continues on the path if an inbound reply is matched to an expected or free reply path. Reply paths can be configured in the Replies tab. Refer to Mergefield explorer section to see possible outputs.
Not sent
The experience will either end or continue on this path depending on the toggle settings. Specifically, the Outbound SMS part of this node has failed to send due to an error.
When toggled off, the experience will end and exit the flow. When toggled on, the Not Sent path will be visible on the canvas, and the experience on this path can be configured. Refer to Mergefield explorer section to see possible outputs.
No reply
Depending on its toggle settings, the experience will either end or continue on this path if no reply is received after the reply expiry period has elapsed. By default, this configurable reply expiry time is set to 2 days.
This configurable wait time determines how long Pendula should keep the flow open to inbound replies. Once the wait time has elapsed with no reply received, the experience will continue on this 'No reply' path. The flow will no longer match the recipient's inbound messages to the keywords in this flow. You can change the wait time by clicking on the pencil icon.
When toggled off, the experience will end and exit the flow. When toggled on, the No Reply path will be visible on the canvas, and the experience on this path can be configured. Refer to Mergefield explorer section to see possible outputs.
Please note this is different to offer expiry. Reply expiry lets your flow successfully ‘complete’. If you want to build offer expiry functionality into your Pendula flow, you should use criteria split nodes. Learn more about criteria split nodes here.
Mergefield explorer
In later nodes, when viewing the available mergefields for the Conversation node in mergefield explorer you can expect to see:
Mergefield name | Description | Possible outputs | Definition and examples |
matchedIntent | The path label (string) | Example: "Yes" would be the matched intent from the path named "Yes". | |
matchedPart | The part of the message body that was matched with your rule (string) |
Example: "annie@acme.com" would be the matched part of the message "my email is annie@acme.com". |
|
matchedType | The reason why a message was matched (string) | Exact Match (Conversation) |
An inbound message has been matched to the |
Rule Match (Conversation) |
An inbound message has been matched to a free response, a rule or recipe in a Conversation Node. | ||
outcome | The final Outbound SMS message delivery status (string) | success |
The Outbound SMS message was sent to the mobile carrier for delivery, and an inbound message was matched to a path in this node. The experience will continue on the 'Sent' path. |
failure |
The Outbound SMS message failed to be sent. See outcomeReason (below) for possible reasons. The experience will continue (if configured) or exit the 'Not Sent' path. | ||
outcomeReason | The reason for a message delivery (string) | expired |
No reply was received within the configure timeframe. The experience will exit the flow. |
reply |
An inbound SMS was matched to a reply path in this node. The experience will continue on the 'Sent' path. |
||
failed: [reason] |
The carrier has accepted the Outbound SMS message, but encountered an error while sending it to the recipient. The experience will continue along the 'Not Sent' path (if configured) or exit the flow. |
||
failed-normalization |
The recipient's phone number is invalid. Ensure it is present and in the correct E.164 format. The experience will continue along the 'Not Sent' path (if configured) or exit the flow. |
||
other-error |
Another error was found while sending the Outbound SMS message to the recipient. Contact Support for further troubleshooting. The experience will continue along the 'Not Sent' path (if configured) or exit the flow. |
||
rejected |
The carrier has rejected the Outbound SMS message. The experience will continue along the 'Not Sent' path (if configured) or exit the flow. |
||
validation-error |
An invalid value was found in the node. Ensure your message body is not empty, and that your expiry time is between 1-10 days. The experience will continue along the 'Not Sent' path (if configured) or exit the flow. |
||
timestamp | The time at which the message was received in Unix Epoch (milliseconds) | Example: "1714975027" |