Feature Update: Reach your Contacts on Telegram!

We're proud to announce that you can now add Telegram channels, giving you access to a super-fast, simple and free platform used by over 62 million people around the world through any mobile device. Telegram is a cloud-based instant messaging service - similar to WhatsApp and WeChat - with a focus on speed, openness and security. It's open source and encrypted end-to-end, meaning that all data sent and received via Telegram cannot be deciphered when intercepted by your ISP, network administrator or other third parties.

Why Telegram?

There are five key factors that make Telegram our first choice for cloud-based messaging: 

  1. Unlike most cloud-based chat applications, Telegram provides an open API that encourages integration and development.
  2. Telegram's values of openness and security fall in line with our own, allowing us to provide an encrypted channel for organizations communicating sensitive information.
  3. It's completely free.
  4. Telegram will allow you to send up to 30 messages per second - the same throughput a short code would allow at no cost. 
  5. Telegram provides a web app; a desktop version for Mac, PC and Linux; and mobile apps for all iOS and Android devices. It can be used anywhere an internet connection is available. 

How Does it Work?

Your Telegram channel will be represented by a Bot. Telegram Bots are special accounts that will serve as an interface for the workflows and messages you send via TextIt. Bots differ from standard accounts in that they: 

  • Have no online status and no last seen timestamps, the interface shows the label ‘bot’ instead.
  • Are given usernames that always end in ‘bot’ (e.g. @TriviaBot@GitHub_bot).
  • Act as a simple interface for Telegram's API. 

Much like TextIt, Telegram Bots allow you to create custom tools that provide you with alerts, weather forecasts, translations, or other services upon request, e.g. Poll bot

TextIt Enables Bulk Messaging

As it stands, Telegram doesn't provide a method for sending bulk messages or notifications. In fact, a Bot not connected to TextIt can't initiate conversations with new users. A new user must either add them to a group or send them a message first (they can use telegram.me/<bot_username> links or username search to find your bot). However, when a Bot is connected to your TextIt account, your Telegram contacts become TextIt contacts, allowing you to leverage our broadcast functionality to initiate conversations and send bulk notifications with ease. 

Getting Started

You can add a Telegram channel just like you would any other channel: simply log-in, navigate to the Add Channel page and select the Telegram option at the bottom of the page:

You'll be asked to enter an authentication token from your Telegram Bot, which is provided after you create it in Telegram. 

Follow the instructions provided to create your Bot. The first step is to find and initiate a conversation with the BotFather:

After initiating the conversation, send the /newbot command and give your bot a name. You can follow the link provided to give your Bot a picture and description. Then, plug the authentication token you're provided into your TextIt account. 

Considerations

Each time a new end-user initiates conversation with your Bot, they'll use the /start command. You can assign an introductory workflow, e.g. a registration workflow, to your Bot by creating a /start keyword trigger

Try it Out

We've created some TextIt Bots to demonstrate what's possible. You can interact with them by creating or opening a Telegram account and searching for Purrington, a Bot that provides facts about cats, or Snowman, a Bot that provides weather reports for the Northwest Washington area:


As always, if you have any questions, comments or suggestions, let us know! If you don't yet have a TextIt account, you can create one for free here. We provide 1,000 complimentary messages to help you get started. 



Feature Update: Adding, Replacing & Prioritizing Contact Addresses

We're excited to announce updates to TextIt's contacts module. The contacts module, which comprises all logic related to the people who interact with your account via a channel, allows you to assign them any number of attributes, including the individual's name, phone number, and any other information pertinent to your use case. What's more, each contact's attributes can be updated in real time as they interact with your workflows, or through our contacts API endpoint, which can update values using information provided by any of the other web services your organization might be using. 

Added Flexibility - Contact Addresses

Each contact has an address, or URN, to which messages from your TextIt account are sent. Addresses represent the ways in which you can connect with each contact. The most common address type is a Phone Number, though a contact can also have a Twitter HandleTelegram Identifier, Email Address, and any External Identifier you wish to add. Before, contacts were limited to one address per address type, though they could be assigned multiple address types. Now, each contact can be assigned multiple addresses of the same type - meaning you can now assign multiple phone numbers to a single contact. This addresses the concerns of users who deploy in countries where contacts frequently change phone numbers to take advantage of rotating airtime deals, or possess dual SIM phones or even multiple phones. In these cases, a contact's addresses can be prioritized, in which case they'll appear on a contact's profile page in the order in which they're prioritized:


Additionally, only a contact's prioritized address will appear in the contacts tab view: 

Adding and Prioritizing Addresses

To accommodate these changes, we've restructured the settings menu in each contact's profile page:


The "Edit" option brings up the new Update Contact dialogue, which is where you can add and edit each contact's default fields, including their names, groups, and addresses:


The Add Connection menu provides an input for you to add connections of all types. One connection can be added at a time; multiple connections will need to be added one at a time. 

The upward-pointing arrows to the right of the address fields are what you'll use to prioritize your contact's addresses. TextIt recognizes the topmost address as the priority, which is an important indicator for outbound messages. Let's assume your account has phone, Twitter and Telegram channels connected and you send a message to 3 contacts, each with a different address priority. The channel that corresponds with each contact's address priority will send them the message. That is to say, you'd have 3 channels processing 1 send message request; your Twitter channel will send to those with a Twitter address priority, your Telegram channel will send to those with a Telegram address priority, and so on. Otherwise, channel priority behavior remains the same: A contact's address type priority will dictate which channel type will send messages to the contact. If you have multiple channels of the same type connected to your account, the channel that the contact last initiated contact with will be prioritized. Contacts can be locked-in to a relationship with a specific channel (they'll only received messages from this channel) under three conditions: 
  1. You have multiple channels of the same type connected to your account. 
  2. The contact's address type priority corresponds with the channel type (e.g. phone number) that possess multiple channels (e.g. multiple phone numbers).
  3. The contact initiates contact through an incoming message.

Custom Field Editing 

With the Update Contact dialogue now exclusively dedicated to editing a contact's default fields and addresses, custom fields have been given their own dialogue. Whereas custom fields can be created via the "Manage Fields" button on the contacts tab, they can now be manually updated via the settings menu in each contact's profile: 


Simply replace the existing value and click "Ok": 


Of course, contact fields can also be edited via a workflow containing an Update the Contact action. 

Contact Imports & Exports

Contacts can be imported with multiple address types, but only one address for each type

Contact addresses can be added via an import, so long as the UUID column contains the UUID(s) of the contact(s). Contact UUIDs can be obtained by exporting your contacts or using List Contacts request in the API Explorer

Replacing Addresses

At this time, contact addresses may only be replaced via the Contacts API Endpoint or a contact’s profile page as outlined above.

As always, if you have any questions about what's possible or suggestions on how to make things easier, let us know! Look out for additional updates in the coming weeks.  

Ensuring your SMS Messaging Service Complies with the TCPA

This guide is for informational purposes only. We recommend contacting an attorney to seek additional advice pertaining to the Telephone Consumer Protection Act and SMS marketing. Note that TextIt is indicated for 2-way interaction and strongly advises against SMS spamming. TextIt advertises, and thus recommends, the following use cases: monitoring and evaluation, research, polling, appointment & service reminders, coupon code or ID number provisioning & matching, customer/constituent support, or adding SMS functionality your website or web application.

Every now and then our US-based customers ask us for tips for complying with the Telephone Consumer Protection Act (TCPA) - the only law governing mass transmission of text messages (SMS) and phone calls (voice) in the United States. In an effort to further quell TCPA-related concerns and ensure FCC compliance, we've put together this short, comprehensive guide to be referenced along with our opt-out management guide

Who is this Guide for? 

This guide may be useful for anyone who uses TextIt to send and receive messages within the United States, though it's primarily intended for those who use TextIt to broadcast messages rather than engaging in two-way messaging (facilitated by our workflow engine). When sending text messages or phone calls that arent bidirectional or contact-iniated (triggered by TextIt's keyword or uncaught message triggers), you're engaging in automated telephone dialing - the primary mechanism governed by the TCPA. 

TCPA Requirements

Prior Express Written Consent 

Since October 16, 2013, organizations have been required to obtain prior written express consent from their customers before being allowed to legally send them marketing messages. Thanks to the E-SIGN Act, prior written consent may include website form submissions or text message opt-ins.

When soliciting written consent, consider the following: 

1) When asking your contacts to participate in your service (either through a web form, point of sale, mobile opt-in, or paper document), you must disclose the following: "By participating, you consent to receive text messages sent through an automatic telephone dialing system."

2) This disclosure must be made clear and conspicuous to your customers before they have opted into your SMS service. This means is that you should display the “automated telephone dialing system” disclosure in close proximity to the mobile phone number input. 

Condition of Purchase 

The TCPA also requires that customers be made aware that this consent is not a condition of making a purchase. This means that your customers or constituents can’t be forced to consent to receive text messages from your organization when they make a purchase from your organization. When asking your customers to participate in your message service, you must disclose the following: Consent to these terms is not a condition of purchase. Much like the automated telephone dialing system disclosure, this disclosure must be made clear and conspicuous to customers before they have opted into your SMS service. 

Related considerations:  
  • All advertising and promotional material must clearly indicate if the service is a subscription. 
  • Subscription terms and billing intervals must be specified/disclosed to customer.
  • You must clearly communicate all material terms and conditions of the program.  
  • All advertising, promotional material, and your "Help" message must clearly display the opt-out information.
  • The service should not be promoted as "free" when premium fees are associated with the service that the subscriber will pay with a reasonable level of participation in the program.

CTIA Requirements

While this guide is focused on helping you understand and implement TCPA requirements, it's also prudent to consider Cellular Telephone Industries Association (CTIA) requirements. The CTIA  is an international industry trade group representing the interests of wireless telecommunications companies. Below are the CTIA requirements for advertising a recurring SMS service to your customers/constituents: 

  • Recurring program description (e.g., & subscribe to receive recurring SMS offers.” 
  • Stop instructions (e.g., Text STOP to opt out)  
  • Disclosure that message and data rates may apply (e.g., "msg&data rates may apply")
  • T&C/privacy policy link (e.g., T&C/Privacy Policy: www.acme.co/privacypolicy)

Messaging Requirements

Opting Out 

Whenever you send a advertising message, you must include a free way for customers to opt out of future marketing text messages from your business. Fortunately, you provide a free service by purchasing and connecting a toll-free virtual number from Twilio.  While the TCPA doesn’t define specific rules for how customers should be able to opt out of receiving your messages, the CTIA is very specific. The CTIA mandates that if a customer responds to any text message with any of the words STOP, END, CANCEL, UNSUBSCRIBE or QUIT, you are required to automatically unsubscribe that customer/constituent's mobile phone number from your messaging service. Luckily, Twilio manages these keywords for you. Once a customer/constituent has been unsubscribed from your service, your organization can't message that number again unless they re-subscribe with an opt-in keyword. 

Sending Timeframe 

The TCPA stipulates that text messages may only be sent between 8 a.m. and 9 p.m. in the time zone your recipient is in. If your service sends messages to contacts in different timezones, you may add them to groups that correspond with their timezone to avoid breaching the acceptable sending timeframe, or you can contact us about additional account management features, which would allow you to manage accounts for each timezone and location in which your contacts live from a central account. 

Record Keeping

To protect your organization from future disputes, it's advisable to maintain each customer/constituent's consent for at least four years from that date in which it was given, which is the federal statute of limitations for bringing an action under the TCPA.

We hope you've found this guide useful! 

Questions? Comments? Get in touch with us at support@textit.in.

Adding a Group Chat Component to your SMS Messaging Service

If you've used TextIt in the United States, chances are you've purchased a virtual number from Twilio and connected it to your account. Twilio's speed, efficiency and reliability make it the channel of choice for countless TextIt users. They even give nonprofits $500 in credit and a 25% discount. By all accounts, it's a perfect match: whereas Twilio's API can be used to add high performance SMS and voice capability to any application, TextIt provides a mobile communication platform that gives you unprecedented control over the messages sent and received via Twilio's API. 

Recently, Twilio published an article about SMSUp, a group chat application built by Urban Refugees that allows refugees to create their own distribution lists, share critical information within their community and become empowered to self organize easily. This is an outstanding use case and an effort deserving of high praise. Coincidentally, group chat is one of the many applications you can build with TextIt. Agricultural cooperatives across Africa use group chat workflows built with TextIt to coordinate prices and facilitate conversations about fish, maize, cassava, beans, fruits and other goods. If you log-in to your TextIt account and navigate to the flows tab, you'll see that it's even one of the sample workflows we provide at sign-up. 

Here's an example: 

Building a Group Chat Workflow

The first step in building a group chat workflow is to create a group for the chat. This creates the group to which each contact's message, sent by the Send a Message to Somebody Else action, will be delivered. Once sent, each contact's message will be delivered to the group. 

To protect privacy, you might consider allowing your contacts to provide an alias. This is also useful if your contact's names haven't yet been updated to your account. 

The steps above collect the contact's alias, update it to their contact profile, let both the contact and the rest of the group chat know that the group has a new member, and then adds the contact to the group. 

Once the contact has responded, they'll reach the "Wait for Command" RuleSet, which will evaluate each message sent by the contact for the word 'exit' - a command that will exit them from the group chat.

All other messages pass through the "other" category and are directed to the group chat using the Send an SMS to Somebody Else action, which contains the sender's name and response, represented by the @step.contact.name and @step.value variables. The @step. prefix allows us to reference the active contact in a message to the contacts who comprise the group, while the variable @step.value refers to the last message sent by the active contact. Click here to learn more about contact variables

Placing a Remove from Groups action before the Send an SMS to Somebody Else prevents the active contact from receiving the message they just sent. After the message is sent, the contact is then placed back into the group using the Add to Groups action so that they may receive responses from their others in the group: 

Give it a Try

Open the group chat sample workflow present in your flows tab to play around with this concept. As always, if you have any questions about what is possible, or suggestions on how to make things easier, let us know!  

Don't have an account? Click here to sign-up for free - no credit card required. 

Using TextIt for Longitudinal SMS Studies

Informed by participation in an SMS-based clinic attendance and early infant HIV testing study, TextIt was built with the needs of longitudinal research efforts in mind. In the workflow pictured above, members of the target group are asked if they're feeling healthy or ill on the day they're contacted. Assuming this workflow is sent each day over an extended period of time, each contact's daily condition will need to be tracked. Contact fields are a handy way to do so.

Storing Collected Data within Contact Fields

Each contact is assigned attributes, called contact fields, that hold values such as their names, phone numbers, and any other individual information you might want to include. Contact fields allow you to store separate but related values such as the current status of a contact and the total number of times they've reported feeling ill. Storing the data you collect to contact fields sets you up to access it with ease once the study's over, as contact fields can be exported to a simple XLS spreadsheet: 

In the workflow pictured above, the Update the Contact action is used to:

1. Update the "Current Status" contact field with the category through which each contact passes - "Feeling Healthy" or "Feeling Ill": 

2. Update the "Illness Count" contact field with a running tally of the times each contact reports they're feeling ill. 

(A) If it's the first time the contact has reported feeling ill, the "Illness Count" contact field will be updated to reflect that: 

(B) If it's not the first time the contact has reported feeling ill, the "Illness Count" contact field will increase by 1: 

Segmenting Contacts into Groups

The Add Message LabelAdd to Group/Remove from Group actions allow you to automatically segment contacts in real time based on the contents of their responses. In the workflow pictured above, contacts are placed in the "Healthy" group if they pass through the "Feeling Healthy" category and the "Feeling Ill" group if they pass through the "Feeling ill" category. In each instance, they're removed from the group representing the opposite choice so that they're only present in one group at a time. 

Creating Alerts

You can also use the Send an Email and Send a Messages to Someone Else actions to alert team members of responses to specific questions, or passage of contacts to/from groups. 

In the example workflow above, the Split on Illness Count RuleSet determines whether or not the participant has reported sickness more than 20 times - a metric that would indicate they require closer evaluation, as they may not be adhering to their therapy or their therapy isn't benefitting them: 


Send Email action has been added to provide staff the name of any participant that reports feeling ill more than 20 times: 

Try it for Yourself

Create an account or log-in to apply these features to your own workflows. Questions or comments can be directed to support@textit.in :)

Applying Safeguards to your SMS Application


Providing a post-survey reward is common practice among organizations sending SMS surveys to large populations. Some organizations use TextIt's flow event WebHook functionality to populate the final message in a survey with unique coupon codes or to transfer airtime, while others send out coupons by (e)mail. Reimbursement strategy notwithstanding, most take measures to prevent survey participants from abusing their SMS applications, including: 

  • Alternating Response Rules
  • Limiting Incorrect Responses
  • Limiting each Contact to a Single Take

This article will use the workflow pictured below to demonstrate how you can do so with your own TextIt SMS application: 

Alternating Response Rules

It's important to alternate response rules to ensure a contact can't pass through an entire workflow by repeatedly sending the same response. Alternating between numeric and text-based response rules prevents this from occurring. The following are examples of both types of response rules applied to the question, "Are you interested in taking future surveys?":  

(A) Numeric

(B) Text-Based

Limiting Incorrect Responses

You can use multiple Update the Contact actions (see "Updated Value for Retries" above) to limit the amount of times a contact can incorrectly respond to a question (thus passing through the "other" category of the subsequent RuleSet). To so, you'll first need to set a limit to the amount of incorrect responses you'd like the RuleSet (see "Wait for Number" above) to process. In the example below, each contact is given 3 chances, which are updated to the "Retries" contact field: 

Now that the limit has been set, an additional Update the Contact action will need to be added to the Send Message action that proceeds the "other" category of the "Wait for Number" RuleSet: 

Place the @(contact.retries - 1) expression in the "Value" input. This will count down the value you initially set for "Retries" each time a contact passes through the "other" category of the "Wait for Number" RuleSet. 

All that's left to do is add a Split by Contact Field RuleSet (see "Split on Retries" above) that will evaluate each contact's "Retries" value each time they pass through the "other" category of the "Wait for Number" RuleSet and exit them from a flow if it's less than 1: 

This configuration can be placed before and after each subsequent RuleSet to ensure the entire workflow is consistent.  

Limiting Each Contact to a Single Take

An Update the Contact action (see "Update Value for Housing Survey Completed" above) can be added to the last message of the survey to prevent a contact from taking it twice. In the example below, contacts who reach the end of the survey have the word "Yes" placed in their respective "Housing Survey Completed" contact fields.

The addition of the "Split on Housing Survey Completed" to the beginning of the workflow allows it to check each contact's "Housing Survey Completed" contact field for the word "yes." If "yes" is present, the contact may not enter the flow: 

The same method can be used to prevent contacts who've opted-out from receiving future surveys. Simply place a Split by Contact Field RuleSet at the beginning of each workflow that looks like this: 

Contacts who've opted out will pass through the Opted-Out category and can then be removed from the workflow.

Try it for Yourself

Create an account or log-in to apply these features to your own workflows. Questions or comments can be directed to support@textit.in :)


 

Feature Update: Assigning Catch-All Triggers to Groups

On the one hand, triggers are an essential component of any mobile-based communication system using an SMS, voice or social media channel. They allow you to design interactions by creating keywords that launch workflows, starting messages or workflows in the future or on a schedule, and starting a workflow after receiving a message not handled elsewhere. On the other hand, groups are essential to the organization of your service. They allow you to segment your contacts into clusters based on their attributes or responses. This week, we took a step towards linking these core features by giving you the ability to assign catch-all triggers to groups. Catch-all triggers allow you to start a workflow after receiving an uncaught message (a message not handled by a workflow or any of your other triggers present within your account) that can in turn direct your contacts to the intended workflow using the Start another flow action.  

Implications - Starting a Workflow

In order for your contacts to interact with a workflow, it must be started. A workflow can be started in one of two ways: 

Outbound Engagements: You start a contact in a workflow manually from the workflow editor, or by using a campaign event or schedule trigger

Inbound Engagements: Your contacts start themselves in a workflow by sending you a keyword or catch-all trigger. 

The ability to assign catch-all triggers to groups applies to inbound engagements. Click here to learn more about the ways in which workflows can be started. 

Implications - Uncaught Messages 

Your messages tab, much like an email client, contains all inbound and outbound interactions that take place through your TextIt account. When your contacts respond to a question in a workflow, their responses are displayed in the Flows folder. By contrast, any messages your contacts send that aren’t handled by a workflow or trigger are displayed in the Inbox folder. 

Assigning catch-all triggers to groups will allow you to track messages received from specific populations that aren’t handled by a workflow or trigger and respond with a workflow appropriate for that group of people. In other words, this feature allows you to ensure no message goes unanswered without constantly monitoring your account. 

An Added Level of Organization 

This feature is particularly useful for accounts that conduct and manage multiple projects across a variety of populations. Say you're sending unique workflows that collect or disseminate information in multiple areas, you can optimize the organization of your projects by directing contacts to a workflow that in turn directs contacts to the appropriate informational workflow. 

Getting Started

To assign a catch-all trigger to a group, you'll first need to identify the group and workflow you'd like to apply the trigger to. For the purposes of this example, we'll use the directory workflow pictured below: 

This workflow will allow us to funnel members of our selected group, Oakland Constituents, to the workflows that most pertain to them. In this case, it's our Community Housing and Development Survey. 

With a group and workflow in mind, all that's left to do is navigate to the triggers tab and create the trigger: 

All active triggers will be displayed on the contacts tab with the name of the group to which it's assigned present in the same pane: 

Note that only one catch-all trigger may be assigned to a single group at any given time. Archiving a trigger renders it inactive until activated from the Archived folder. 

Localizing Workflows to Support Multiple Languages

The image above shows the beginning of an SMS-based feedback survey that's optimized to provide translations of each message in Spanish. 

Providing multi-language support for your SMS messaging service or mobile-based survey system is an important step towards ensuring high completion rates and quality of data collected. Instead of creating a separate workflow for each language you want to support, TextIt allows you to localize multiple languages within a single workflow. Here's how: 

Create the Split

The first step within this 8-step sample workflow, a Send Message action, asks respondents to choose their preferred language - English or Spanish. We’re asking them to indicate their choice with the letters “E” for English or “S” for Spanish. Single-character responses are easy for any respondent, and our next question asks for a numerical response. 

Note that we’ve written a message-counter into the beginning of the message that shows our respondents the step they’re at, against the total number of steps in the workflow. Doing so is a simple, easy way to improve completion rates. 

The next step, a RuleSet, uses response rules to dictate a range of acceptable responses that will allow respondents to pass through each language category, or allow us to prompt them to try again. As you can see, we can categorize any number of responses as a Spanish or English-language selection.

Alternatively, you could split by contact field, expression or flow field if the contact might already have provided information that would indicate their language preference. 

Translate your Workflow

To add a Spanish-language translation to a workflow, we’ll first need to navigate to our account page and add Spanish as a secondary language. You can do so by scrolling down to and clicking the language icon, then typing in the secondary language you’d like to add. Additional languages can be added as needed. 

Having added our secondary language, we’re ready to translate our workflow. We can do so by clicking the “Spanish” filter beneath the “Start Flow” and “Flow Settings” buttons in the top right corner of the flow editor. 

As you can see, untranslated messages appear yellow, while translated messages appear white. We’ve already translated each message, so now we’re ready to add actions that will switch the workflow from English to Spanish if the respondents choose Spanish. 

Next, we’ll need to drag a new connection to pull up the action dialogue, then scroll down to the Set Language for Contact action, which will toggle the flow from English to Spanish for respondents who pass through this step. Pause. Next, we’ll select Spanish from our account’s secondary languages.

Make sure to test your workflow with the simulator to make sure it's behaving as expected.



Go ahead and give it a try. If you have any questions, comments, or suggestions, send them to us through our support widget, or email us at support@textit.in. Don't have an account? Create one for free :)

Twitter-Based TextIt Workflows

In addition to voice and SMS, TextIt allows you to apply our unique workflow engine to Twitter direct message interactions. Twitter workflows are useful for greeting new followers or polling pre-existing ones. Moreover, they allow you to engage constituents or clients who are active on a platform that serves 320 million monthly active users, 80% of which access the platform via a mobile phone. UNICEF's U-Report program, for example, utilizes Twitter workflows to disseminate polls among youth in various countries with great success. 

How it Works - Managing your Followers

TextIt allows you to connect your Twitter account, which then constitutes a channel. Once connected, anyone who direct messages your Twitter account will appear as a contact within your TextIt account, and may interact with any of your SMS workflows in this manner. TextIt provides a default field that stores your contact's twitter handles: 

Any incoming direct messages will be automatically stored by TextIt, and you'll be able to send direct messages to contacts you know using their twitter handle so long as their account is enabled to receive direct messages from anyone. For example, if a follower sends you a direct message containing a keyword trigger you've assigned to one of your flows, they'll receive a response just as they would via SMS. Alternatively you may also also create a trigger that sends a workflow or message to anyone who follows you. This is how we've structured our TextIt account :)

Creating a Twitter Workflow

Twitter workflows are created just like SMS workflows, simply select 'text messaging' from the creation dialogue, then start building: 

Note that Twitter direct messages are no longer limited to 140 characters, so you can ignore the Send Message character counter: 

Connecting your Twitter Account

To connect your Twitter account, simply add a channel and select the Twitter option: 

Then, make sure your account is enabled to receive direct messages from anyone. You can do so from your Twitter Security Settings.

Note that Twitter currently limits accounts to 1,000 direct messages sent per day. If you expect to exceed this number, you'll need to contact Twitter directly to request that they lift that restriction for your account. 

Authorize the integration, then you're ready to send direct messages: 

Your twitter handle will appear on your account page as a channel: 

Creating a Follow Trigger

You can trigger a flow to send each time you gain a new follower by navigating to the triggers tab, scrolling to the bottom, then selecting the "Start a flow after being followed by a new contact" trigger:

Choose the Twitter account you'd like the trigger to apply to, then select the flow you'd like to send: 

Give it a Go

See what it's like to interact with a Twitter workflow triggered by a follow by following TextIt on Twitter. If you're based in the US or Canada, you can also try out our voice workflow demo by calling +1 888-531-0777, or by texting it the word "Hey". As always, make sure to follow Twitter's rules and best practices :)

Voice-Based TextIt Workflows

Did you know you can apply TextIt's workflow logic to voice messages? Voice workflows are handy for three reasons: First, they allow you to send and receive voice messages that by nature allow for improved tone, character and length when compared with text messages. Second, they're synchronous - clients and beneficiaries are actively engaged with your workflow for the duration of the call. Third, they don't require that your contacts are literate, allowing you to reach communities with lesser access to education. 

While it's true that TextIt's voice workflows allow you to create low-cost, customizable call centers capable of triaging calls and directing clients to the appropriate team member, they're also a practical tool in aid and development contexts. In June, we brought attention to the polio-eradication efforts of UNICEF, the WHO, and the Federal and Provincial Emergency Operation Centers on Polio in Pakistan. In this context, UNICEF's Pakistan Innovations team built voice workflows to disseminate polio knowledge-check surveys designed to equip community leaders with the information they need to affect harmful discourse and raise awareness within illiterate communities.

Add a Voice-Enabled Number

You can purchase a voice-enabled Twilio number and connect it to your TextIt account in minutes, or, if you're in a country where Twilio doesn't yet provide virtual numbers, you can test your voice flows with an Android channel by simply connecting your Twilio account to your TextIt account. Your Android channel will handle inbound and outbound SMS, while Twilio's Voice API will make calls using your Android channel's sender ID.

Write a Script

Much like the "Send Message" action available to SMS workflows, the "Play Message" action allows you to script your outgoing messages based on the results of a RuleSet evaluation. Here, you're given the option of letting TextIt's built-in text-to-speech functionality give voice to your messages, or importing an audio file of your choice. 

Craft your Tone

If you'd like to add your own audio to your messages, you can grab a microphone or headset and record yourself using Quicktime or Windows' Sound Recorder. Once your messages are recorded, head over to media.io to convert them to WAV files, then click the microphone icon in the bottom right corner of the messages to add them to your workflow. 


Once uploaded, you can click the play button in the bottom right corner to listen to each message's voice file. 


Note that services like IVONA provide high quality text-to-speech voices for most languages. 

Simulating an Voice Flow

TextIt allows you to simulate a voice workflow using the nearest phone. Simply click the simulator, enter the phone number you'd like TextIt to call, and you'll experience the call as your contacts would. 

Give it a Go

If you're based in the United States or Canada, you can interact with a TextIt voice workflow by calling this toll-free number, +1 888-531-0777, or by texting it the word "Hey". You can also interact with our Twitter workflow by following us on Twitter