How to Restrict Access to Flows

TextIt is a visual programming language used to build messaging applications and chat bots. A core concept of this language is the flow: a series of of actions and rules used to build branch logic (also called "conditional branching" or "skip logic"). An application or chat bot may comprise a single flow, or many connected by Start Another Flow or Start Someone Else in a Flow actions. Being that any single account may contain more than one application or bot, we'd like to explain how you can restrict access to each of your flows (and, by extension, your applications or bots). 

First, it's helpful to understand how the modules that comprise your account interact. Each account contains channels, contacts, flows, campaigns and triggers. In this article, we focus on channels, contacts, flows and triggers. 

Channels & Contacts

Your account may contain one or more channels, which are essential for messaging. Each time a new contact sends a message to once of your channels, they're added to the Contacts Tab and assigned to that channel. If you have multiple channels of the same type connected to your account, TextIt will prioritize the channel the contact last messaged. Once a contact is assigned to a channel, they'll only received messages from that channel (until they send a message to a different channel connected to your account). Specifically, the following conditions must be met for a contact to be assigned to a channel:

  1. You have multiple channels of the same type connected to your account.
  2. The contact's address type corresponds with the channel type (e.g. phone number) of one or more of your channels.
  3. The contact messages the channel.

Note that if you have multiple Twilio numbers connected to your account, you can create a Messaging Service via the Twilio console to add additional logic to modify your channels' message routing behavior. See this guide to learn more. 

Flows & Triggers

Flows can be triggered by keywords, dates and times, messages not caught by existing triggers, and more. In this article, we focus on keyword triggers. Keyword triggers are convenient because they enable contacts to initiate flows on their own time. When implemented correctly, they can serve the purpose of assigning a contact to a channel and a flow at the same time. All you need to do is choose the groups you'd like the trigger to apply to: 

Putting it Together

Once you've mapped your desired channel relationships, you can restrict access to your flows by assigning groups to your keyword triggers. If a contact doesn't belong to one of the keyword's groups, they won't be able to interact with the flow. 

Questions? Comments? Let us know; we love hearing from you. 

Follow us on Twitter to interact with a chat bot built with TextIt, or create a free account to build your own. You'll be sending messages in minutes! Get in touch anytime with any questions, comments, or suggestions.

TextIt Updates: Week of May 1st

Each week we highlight new articles and changes to the platform, as well as tips intended to help you get the most out of TextIt:

Updates

  • Consecutive messages sent to the same contact are now delayed by one second to ensure they're delivered in order. Stack away!
  • Your contacts' profiles now display failedunansweredbusy, and canceled calls.

Tips

  • Keyword, missed call, and uncaught message triggers give you the option of selecting the group(s) to which they apply. This allows you to limit flow access. 

  • The Message Tab allows you to see which messages are sent by your flows, and which aren't. The 'Inbox' tab displays incoming messages not handled by your flows, while the 'Flows' tab only displays incoming messages handled by your flows.  
  • Those looking to display flow results in real time can do so via a TextIt/Google Sheets Zapier integration. Follow this tutorial to build your own dashboard to display the results. 

Follow us on Twitter to interact with a chat bot built with TextIt, or create a free account to build your own. You'll be sending messages in minutes! Get in touch anytime with any questions, comments, or suggestions. 

TextIt Updates: Week of April 24th

Each week we highlight new articles and changes to the platform, as well as tips intended to help you get the most out of TextIt:

Updates

  • Full-featured media support is on its way! This quarter, we made changes to enable you to collect images, videos, files and even GPS coordinates. First, we populated incoming Twilio MMS with URLs. Now, we're displaying media collected via Twilio and Telegram channels on each contact's profile (link).  

Tips

  • Those who wish to programmatically export data from TextIt can do so via the flow runs endpoint, which will give you the same data as an Excel export. You can grab contact fields separately using the contacts endpoint
  • You can account for inadvertent message send errors (like Twilio's invalid phone number or invalid phone number format errors) by starting contacts in a flow that asks them to respond (to confirm message receipt), then place only those who responded in a group that receives followup messages. You can view a channel's error log by navigating to your account page and clicking on the channel.

Follow us on Twitter to interact with a chat bot built with TextIt, or create a free account to build your own. You'll be sending messages in minutes! Get in touch anytime with any questions, comments, or suggestions. 


Feature Update: Collect Media via Twilio, Telegram

Full-featured media support is on its way! This quarter, we made changes to enable you to collect images, videos, files and even GPS coordinates. First, we populated incoming Twilio MMS with URLs. Now, we're displaying media collected via Twilio and Telegram channels on each contact's profile. Message content will be displayed based on the format it matches:

Twilio

Check the 'MMS' box when searching for a Twilio number to ensure you'll be able to receive media:

Numbers that support MMS are indicated by a media icon:

Note that Twilio MMS addresses different carrier restrictions by automatically resizing images you send to meet the exact specifications of the receiving carrier. 

Supported Media Types

Supported media types include:

  • photos/videos
  • audio (voice recordings)
  • files (e.g. Google Docs)
  • GPS coordinates (location data)

Considerations

Media is currently loaded in each contact's profile. Elsewhere, it's represented by URLs. This includes flow results exports and contact fields. 

Questions? Comments? Let us know; we love hearing from you. 

TextIt Updates: Week of April 17th

Each week we highlight new articles and changes to the platform, as well as tips intended to help you get the most out of TextIt:

Updates

  • Last week, Facebook launched the Messenger Platform (beta), a platform that allows developers to build interactive chat bots to communicate with over 900 million monthly Facebook Messenger users on behalf of any Facebook Page (the promotional kind). This week, we released a Facebook Messenger channel that will allow you to leverage TextIt’s visual, drag-and-drop interface to build and deploy your own Messenger bot. Each bot will map to a TextIt account. Build just one bot, and your experience is available on all platforms where Messenger exists, including iOS, Android, and the web. Use this guide to submit a Messenger app for review and connect it to your TextIt account (link). 
  • A single account may now contain channels in different countries. How this effects channel-contact behavior: If not yet contacted, TextIt will assign channels to contacts based on their country. Once a contact has responded to a channel, they'll continue to receive messages from that channel unless they send a message to a different channel, in which case they'll become tied to the new channel.

Tips

  • To link contact fields to flow results, simply add contact fields to your flow results export. If you'd like to display results via your own dashboard, checkout TextIt's API, which will allows you to externally display contact fields, flow results and more.  
  • Those interested in visualizing a certain type of response (like the categories through which each contact passes in a flow) should consider updating them to contact fields once they've been evaluated by a RuleSet, then executing a contact export. This allows you to (a) ensure the correct values are assigned to your contacts' fields, and (b) skip the process of pulling specific columns out of a flow results export. Note that response categories can be called using the '.category' extension, e.g. @flow.response_1.category. More on TextIt variables here
  • You can determine a contact's group membership within a flow using a 'Split by Contact Field' RuleSet that evaluates the 'Groups' contact field: 

  • If your application solicits and updates contact information to specific contact fields (like a registration form or the like), you may want to search for contacts missing a value in specific fields. You can do so via the search bar in the contacts tab: simply enter the query contact_field="", where 'contact_field' is the name of the field you're searching. For example, if we want to look for contacts who haven't yet provided their gender, we can use the query gender="". 

Follow us on Twitter to interact with a chat bot built with TextIt, or create a free account to build your own. You'll be sending messages in minutes! Get in touch anytime with any questions, comments, or suggestions. 

Feature Update: Reach your Contacts via Facebook Messenger

Last week, Facebook launched the Messenger Platform (beta), a platform that allows developers to build interactive chat bots to communicate with over 900 million monthly Facebook Messenger users on behalf of any Facebook Page (the promotional kind). This week, we released a Facebook Messenger channel that will allow you to leverage TextIt’s visual, drag-and-drop interface to build and deploy your own Messenger bot. Each bot will map to a single TextIt account. Build just one bot, and your experience is available on all platforms where Messenger exists, including iOS, Android, and the Web.

Bots on Messenger will have the same functionality as anything you’d normally build with TextIt, like weather and traffic updates, and receipts, shipping notifications, and live automated messages. Contextual, convenient, and delightful. 

Facebook is focused on facilitating business <> customer interactions that provide meaningful value to both participants—a cause that aligns with our own. 

We’ve always advocated for SMS and voice (IVR). They’re among the most effective communication channels in today's mobile centric world. That being said, bots are the next step in the evolution of mobile interaction and we’re bullish on their future. Use this guide to submit a Messenger app for review and connect it to your TextIt account. 

Getting Started

Login to your TextIt account to use the following links to access specific pages in your account. 

For this integration, you’ll need: 

  • a Facebook App: Your Facebook App will contain your bot’s Messenger settings. This is where you'll setup your Webhook, retrieve your page access token and submit your app for approval.
  • a Facebook Page: A Facebook Page will be act as your bot’s identity. When people chat with your bot, they’ll see the Page’s name and profile pic.
  • a WebHook URL: Facebook uses secure callbacks to send messaging events to your TextIt account. 

Creating your Facebook App

First, create an account on Facebook's Developer Platform. Once logged in, use the ‘My Apps’ menu in the top righthand corner to select ‘Add a New App’. 

An ‘Add a New App’ dialogue will appear, asking you to select a platform. Click the ‘basic setup’ link near the bottom; you can add your platform at a later step. 

Next, you’ll be prompted to create an App ID for your new app. 

Once you've registered your app, navigate to the ‘Messenger’ tab and click ‘Get Started’. 

At this point, you’ll need to generate a Page Access Token. If you already own a Page, you’ll be able to select it from a drop-down menu. If you don’t, a link will be provided to create a new one

Once you’ve received your Page Access Token, navigate to your TextIt account in a separate tab and claim a Facebook channel. Enter your Page Access Token to receive your callback URL.

Back in the 'Messenger' tab, click ‘Setup Webhooks’ to enter your callback URL and select all of the available fields. 

  • ‘messages’ allows your app receive text messages or messages with attachments (image, video, audio).
  • ‘message_deliveries’ subscribes your app to message delivery receipts. 
  • ‘messaging_postbacks’ subscribes to post back callbacks, in case your app incorporates buttons. 

Next, navigate to the ‘Settings’ tab and click ‘Add Platform’. 

Here, you can add the URL of your website as your platform. Once added, click ‘Save Changes’ to continue. 

Prior to submission, navigate to the ‘App Details’ tab and complete it. 

Submitting your App 

Now you’re ready to submit your app. Note that each new Messenger bot is subject to an internal review process; use the information in this link to ensure your content is acceptable per Facebook's approval criteria. 

Navigate to the ‘App Review’ tab and click ‘Start a Submission’. Select ‘pages_messaging’ from the list on the lefthand side of the dialog and continue. 

Once you've selected the 'items' you'd like to add, click the 'edit' links next to them to fill out their corresponding forms. 

Finally, click 'Submit for Review' to complete the submission process. 

Considerations

Note that the Messenger Platform is intended for customer-initiated interactions. As such, Facebook Messenger doesn't allow you to reach Facebook contacts without them contacting you first. Your contacts can reach you via your Page, or search for your bot via the Messenger app. 

Also note that until your app is approved by Facebook, only admins will be allowed to message your app (even if you've made it 'public' prior to approval). 

Next, head over to TextIt to start building your bot! Questions? Comments? Let us know; we love hearing from you. 

TextIt Updates: Week of March 27th

Updates

  • We're testing a new Zapier integration that allows you connect more than 500 apps to TextIt. It's currently private, but we're giving out an invite link to those who'd like to give it a try (link). 
  • Use this guide to learn about the 'Start Contact in a Flow' action we added to Zapier. Specifically, learn how to use information collected by a Typeform to start a flow (link). 
  • Use this guide to learn about the Webhook trigger we added to Zapier. Specifically, learn how to post information collected by a flow to a Slack channel (link).
  • 'Start Another Flow' actions in IVR (voice) flows now route to the new flow without forcing a hangup. 
  • We shipped a new version of the Nyaruka TextIt Android app, version 1.8.1, which makes TextIt more aggressive when retrying failed messages. This change is intended to offset lack of network reliability in developing cellular markets. 

Tips

+ You can use a 'Split by Contact Field' RuleSet containing an 'is not empty' response rule to check contact fields for missing values, e.g.: 

+ DYK that you can view and export flow results? Flow results exports contain three tabs: 

  • Runs: the runs tab displays all the times your contacts have gone through a flow, as contacts can pass through a flow more than once. 
  • Contacts: the contacts tab shows the values in the last run, as well as the last value for each flow step, which may have been visited more than once if the contact was was ever redirected to it.
  • Messages: the messages tab displays every message sent from the flow to your contacts and vice versa. It provides the message direction (IN/OUT), text, date and contact information. 

Follow us on Twitter to interact with a chat application built with TextIt, or create a free account to build your own. You'll be sending messages in minutes! Get in touch anytime with any questions, comments, or suggestions. 

Starting a Flow via Zapier

Use this guide to learn how to start a flow via one the 500+ apps available on Zapier. Specifically, this guide will show you how to use information collected by a Typeform to start a flow. Typeform is a service that helps you create beautiful, intuitive web forms. If you ever need to run a survey, questionnaire, form, contest, etc...Typeform will help you do so seamlessly across all devices, every time, using its unique platform. Don't have an invite link? Click here.

How it Works

  1. Someone completes a Typeform. 
  2. The fields created by the Typeform entry are sent to TextIt. 
  3. TextIt starts anyone who completes the Typeform in a flow. 

What You'll Need

Setting it Up

Zapier watches your apps for new data, and kicks off triggers and actions based on the rules you set. Each trigger and action pairing is called a 'zap', and each zap begins with a trigger. In this case, the trigger will be a new Typeform entry. Once you've created your Zapier and Typeform accounts, you'll need to create the Typeform itself. Ask anything you want, but you'll need to acquire the respondent's phone number (country code included, e.g. 17078888744) to start your flow. Here's an example. 

Next, navigate to your Zapier dashboard to start building your zap: 

Creating the Trigger

Follow the steps Zapier provides to select your Typeform and setup your trigger: 

Creating the Action

Next, setup your 'Start Contact in Flow' action. Use the search bar to find TextIt within Zapier's app directory:

You can find your API token by clicking on the Webhook icon in your account page

Once you've added your account, you'll be prompted to add: 

  • The flow you want to start.
  • The Typeform question that will populate the 'phone' field.
  • Whether or not you'd like to restart the flow for contacts who've already entered it. 

Lastly, you can add any extra fields you'd like to insert into the flow and the corresponding Typeform questions. You can reference these fields in a flow using @extra variables, which refer to values pulled from an external application or another flow. The fields you create should be lowercase. 

Building your Flow

Here's an example of a short, one message flow that thanks each contact who completes the survey: 

We want to save the information we've collected with the Typeform to each contact's profile, so we've added Update the Contact actions to beginning of the flow. In each action, we place the corresponding extra field that we created via our zap: 


Once the contact's Full Name field is updated, you can reference their first name using the variable @contact.first_name

To learn how to send information collected by your flows to other apps via Zapier, click here.  

Go with the Flow

TextIt is changing the way organizations communicate with customers, beneficiaries, constituents and stakeholders. Whether you're interested in adding an SMS messaging channel to your communication pipeline like WebHelp Groupe, or building chat bot like HigherMe, you're guaranteed to increase engagement and efficacy. 

For Example:

  1. An E-commerce company can use TextIt to improve funnel abandonment by texting discount codes to customers who put something in their cart but don't purchase.
  2. An on-demand company can push text notifications when their delivery is on the way or manage a fleet of workers who won't be on computers but will always have their phones.  
  3. Any company can measure Net Promotor Score or customer satisfaction by sending messages that are more likely to be read and responded to than any other form of communication.

Follow us on Twitter to interact with a chat application built with TextIt, or create a free account to build your own. You'll be sending messages in minutes! Get in touch anytime with any questions, comments, or suggestions. 

Sending Information Collected by a Flow to Zapier

Use this guide to learn how to send information collected by your flows to one the 500+ apps available on Zapier. Specifically, this guide will show you how to post information collected by a flow to a Slack channel. Slack is a platform for team communication: everything in one place, instantly searchable, available wherever you go. Offering instant messaging, document sharing and knowledge search for modern teams. Don't have an invite link? Click here.

How it Works

  1. A contact reaches a Webhook action in a flow.  
  2. The fields created by the flow are sent to Zapier. These include your contact's phone number and responses to your questions. 
  3. Zapier posts the information you choose to a Slack channel. 

What You'll Need

Setting it Up

Zapier watches your apps for new data, and kicks off triggers and actions based on the rules you set. Each trigger and action pairing is called a 'zap', and each zap begins with a trigger. In this case, the trigger will be a contact reaching a Webhook action in your flow. Once you've created your Zapier and Slack accounts, you'll need to create the flow itself. Ask anything you want; the flow automatically records the phone number of each contact who enters it. Here's an example flow:

Next, navigate to your Zapier dashboard to start building your zap: 

Creating the Trigger

Search the app directory for TextIt: 

You can find your API token by clicking on the Webhook icon in your account page

Once you've added your account, you'll be prompted to copy the URL provided: 

In your flow, create a new Webhook action ("Make a call to an external server") with a POST request and paste the URL provided. Once configured, run your flow in the simulator to verify the Webhook is being called appropriately:

Creating the Action

Next, setup your 'Send Channel Message' Slack action: 
Once you've added the 'Send Channel Message' action and your Slack account, you'll be prompted to setup the message. This will entail: 
  • Selecting the channel to which you'd like the message to be posted. 
  • Creating the message template. 
  • Creating your Zapier 'bot'. 

Once you've completed this step, test your zap and set it live. When your contacts reach the Webhook action your flow, the result will look something like this: 

To learn how to start a flow via Zapier, click here.  

Go with the Flow

TextIt is changing the way organizations communicate with customers, beneficiaries, constituents and stakeholders. Whether you're interested in adding an SMS messaging channel to your communication pipeline like WebHelp Groupe, or building chat bot like HigherMe, you're guaranteed to increase engagement and efficacy. 

For Example:

  1. An E-commerce company can use TextIt to improve funnel abandonment by texting discount codes to customers who put something in their cart but don't purchase.
  2. An on-demand company can push text notifications when their delivery is on the way or manage a fleet of workers who won't be on computers but will always have their phones.  
  3. Any company can measure Net Promotor Score or customer satisfaction by sending messages that are more likely to be read and responded to than any other form of communication.

Follow us on Twitter to interact with a chat application built with TextIt, or create a free account to build your own. You'll be sending messages in minutes! Get in touch anytime with any questions, comments, or suggestions. 

Connect TextIt to over 500 Apps with Zapier (Beta)

Want to connect TextIt with your favorite app? Don't have the experience, time or money to setup an integration yourself? No problem, we're testing a new Zapier integration that does all the work for you. It enables you to connect more than 500 apps to TextIt, freeing you to focus your attention elsewhere.

How it Works

Zapier watches your apps for new data, and kicks off triggers and actions based on the rules you set. Each trigger and action pairing is called a 'zap'; here are some examples: 

At this time, we offer one trigger and one action on Zapier:

Starting a Contact in a Flow

The 'Start a contact in a flow' action allows you to do just that using information collected by Typeform, Wufoo, Google Sheets and hundreds of other apps: 

Learn how to automatically start a flow using information collected by a new Typeform entry. 

Creating a Webhook Trigger

The 'Webhook' trigger allows you to generate a url that can be placed in a TextIt webhook action in a flow, which will post information collected by the flow to Zapier for use with other apps: 

Learn how to automatically post information collected by a flow to one of your team's Slack channels. 

Try it Out

The TextIt Zapier app is currently private, and will remain so while we test it out. If you're excited about this integration, we invite you to use this invite link to create your own TextIt Zaps. Specifically, it'll allow you to search for and use TextIt when creating a Zap. 

Check out Zapier to discover more use cases and sign up for a free account. Have a workflow you need to automate that you don't see here? Let us know, we'd love to get your feedback!