Configuring a Webhook with Airtable
Airtable enables you to build and organize databases for just about any project you could imagine. The basic version is totally free to use and allows for real time collaboration with team members, making it an ideal data organization tool. In the example below, we're using the Call Webhook action in a flow to look up sales agents by zip code as stored in an Airtable database that we've created. Build your Airtable DataPopularContact Variables
Contact Variables @contact - references the contact receiving the message. This is the active contact - the person whose responses are being handled by the workflow. When using the Send a Message to Someone Else action, @contact refers to the contact or group of contacts to which the message is being sent. Each extension, e.g. @contact.name or @contact.fields.field_name, references a specific contact field. @contact -PopularCalling a Webhook
In the example above, we're asking contacts to send their name, which will look up their PID using a webhook with Airtable. Webhooks simply POST flow data structured as JSON to an external service every time a contact reaches a Call Webhook action. When a contact reaches this node, we'll call the URL you'vePopularIntroduction to Flows
A flow is a visual representation of conditional branch logic that's applied to your contacts once they enter it. Once a contact has entered a flow, they interact directly with its nodes. Nodes are composed of actions and Split Actions, and determine the length of a flow, which can be as short as a single node or as long as you want. A blank flow editor Choose yourPopularSending Messages with a Flow
In the example below, we've asked an initial question, received a response, and created a new Send Message action that will send automatically when a contact reaches that node in the flow: We'd then go on to create Send Message actions forSome readersGlobal Variables
Globals are shared values that can be referenced in flows, as well as broadcasts and campaigns, within your account, referenced by @globals.value_name. They allow you to create a value once and use it repeatedly without having to re-enter the value. Likewise, globals make updating a shared value much easier. Rather than manually changing a vSome readersAdding Timeouts to a Flow
When your contacts don't respond to a message in a flow, you can add a timeout to send an automatic message. This feature allows you remind your contacts to respond, to let them know they can restart the flow at a later time, or to place other actions on non-responsive contacts, such as adding or removing them in a group, sending an email, and more.Some readersFlow Types
We provide four flow types that are made available depending on the capabilities of the channel you've connected to your account. Messaging flows are applied to SMS and social media channels, while Phone Call, or Interactive Voice Response (IVR), flows differ in structure. Background flows will allow you to run the flow without interruptFew readersStarting a Flow
A flow can be started in one of many ways: You can manually start a flow at any time via the "Start Flow" box in the flow editor. Keep reading below to learn more! You can start a flow directly from a contact page. A flow can be started by a campaign event. A flow can be started by a number of triggers: when a contact sends a [keyword trigger](https://help.texFew readersSetting your Contacts' Language Preferences
Using a Flow Use the Update the Contact action to update your contacts' language preferences from within a flow. Contacts will then receive messages in their preferred languages if the flow they're interacting with has been translated. In the exampleFew readersStarting another Flow
Use the Enter another Flow action to move your contacts from one flow to another from within a flow. Once a contact passes through this node, they will be removed from the current flow and start another. From action selection under Triggers: 'Enter a Flow' , such as ChatGPT, to auto-translate. Once you have selected the languages for your workspace, you can create multi langFew readersFixing Missing Dependencies
In some cases, you might find that a flow depends on something that no longer exists. When this happens, you will see the action title in red (as seen above) to let you know that a flow issue is present. For example, you might be looking at a flow that references a contact field by using an expression like @fields.age. However, at some point you may have deleted the contFew readersIntroduction to Flow Variables
By default, a flow containing Split Actions contains a collection of variables resulting from each Split Action evaluation. For example, the Wait for Response action below will produce the flow variable @results.phone when a contact responds and passes through it to the next node. Each variable starts with the @ symbol, which triggers an auto-complete drop-dowFew readersSplit by Flow Result
Use this Split Action to evaluate a sequence of values separated by a space ( ), period (.) or plus sign (+). As an example, you might record the birth of a child by soliciting messages in the following format: "birth [gender]+[name]+[mother's birth year]," which could yield the result "birth f+Noel+1985". In the case above, the term "birth" acts as a keyword trigger, initiating the flow. In the following examplFew readersStart Somebody Else in a Flow
Use the Start somebody else in a flow action to place a separate contact or group in a flow when a contact reaches this step. In the example below, we're starting fathers, referenced using the contact variable @fields.spouse, in the "Questions for Dads" flow when the expecting mothers reach the second step of a registration flow. Create that step by adding aFew readersExporting Flow Results
Exporting results from a single flow To export your flow results, simply choose the flow you'd like to view under the Flows tab, then click the ☰ menu icon in the upper right-hand corner, then select "Results": You'll be brought to the results page for your flow, (click here to understand how to reaFew readersActions
A flow is a visual representation of conditional branch logic that's applied to your contacts once they enter it. Once a contact has entered a flow, they interact directly with its nodes. Nodes are composed of actions and Split Actions, and determine the length of a flow, which can be as short as a single node or as long as you want. Actions An action represents soFew readersViewing Results
Viewing Results When your contacts interact with a flow, their responses are stored as flow results, which you can access by selecting "Results" from the ☰ menu icon in the flow editor: The results page will provide a 'Download' button in addition to the 'Overview 'Engagement' of the flow, 'Analytics', and 'Runs' tab. Overview Tab In the 'Overview' tab, you'llFew readersNavigating the Flow Editor
The flow editor is where you'll build & edit your flows. Each time you create or click on a flow, you'll enter the flow editor: Anatomy of the Flow Editor 1. Name The name you gave the flow when you created it. 2. Add first Action This button brings add the first step of your flow. We generally recommend beginning a flow with a Send Message actioFew readersCreating an Image Attachment URL
To collect images from your contacts and generate a URL, you'll need to create two nodes: A Wait for Response action to collect the your contact's image using an open-ended response rule: A Split by Expression action to save the imageFew readersAdding Labels to Responses
Use the Label the Incoming Message action to label incoming messages handled by your workflow. Whereas sorting contacts into groups allows you to segment contacts based on their responses, labeling incoming messages allows you to isolate responses to a specific question. Message labels can be viewed - and also created - in the Messages tab. To create a new label, click on the menu icon on your right side: . Contacts not currently in another flow - Since a contact can't be in two Messaging flows at the same time, check this box to avoid interrupting them. See more about Background Flows to avoid interFew readersUse a 'Split Randomly' Action to Create Evenly-Distributed Buckets
The Random Split action can be used for randomly passing your contacts through equally distributed pathways in your flow. In the example below, we're immediately splitting contacts who enter a flow into two different groups named "A Flow" and "B Flow". You can add as many buckets as needed.  Navigate to the flows tab and choose a flow. (2) Select "Edit" from the ☰ menu icon in the top right portion of the flow editor. (3) Add your keyword(s). NFew readersInvalid Regular Expressions
Regular Expressions, commonly referred to as regexes, can be used to build more advanced custom rules. Regexes need to conform to a strict syntax to ensure that they are well understood when they are evaluated. If you find yourself using this advanced form of rule matching, make sure you are familiar with how they are constructed. We use Perl style rules for pattern matching. If you are interested, you can read more on the basic syntax we support, hereFew readersStart Flow Sending Options
When you manually start a flow, you'll notice that there are checkboxes within the dialog box. These are the sending options that: Active contacts: Checking this box means the flow start will only include contacts who have sent a message in the last 90, 180, or 365 days. Skip contacts currently in a flow: To avoid interrupting aFew readersSetting an Expiration for a Flow
When contacts are inactive in a flow, you may want to automatically remove them after a certain period. You can do this by setting an expiration. First, enter your flow's editor and click the ☰ menu icon and choose "Edit". Next, choose an expiration time from the dropdown menu.  to unlock AI assisted features. We've released auto-translation to make multi-language flows even easier to use. Keep reading to learn how to add your LLM and create your auto-translated multi-language flow. In addition to auto-translation in multi-language flows via LLMs, you can alsoFew readersCancelling Flow Starts
New and Improved Ways to Manage Your Flows and Broadcasts When you start a flow or send a broadcast message, –especially to a large volume of contacts– you might notice that not all the contacts will receive the message at the same time. Messages can get queued up waiting to be sent, depending on how many messages your chFew readersDelete or Archive a Flow
Need to inactivate or delete a flow? Read on to learn how. Deleting a Flow When you delete any data from your workspace, it is gone forever. We do not store deleted data on our servers. So, be sure you really don't want the flow! You can delete from inside the flow editor itself. Open the appropriate flow and click the menu icon in the top-left corner. You should see a 'Delete' button. 