tag:blog.textit.com,2013:/posts TextIt Blog 2020-11-23T22:15:08Z TextIt tag:blog.textit.com,2013:Post/1615030 2020-11-10T21:22:33Z 2020-11-10T21:22:33Z Add a Facebook Page to Create a Messenger Channel

Great news! Facebook has updated their integration policies, so you can now easily connect a Facebook page to create a Messenger channel in just moments.

If you've already integrated a bot under Facebook's old policies, then you do not need to take any further action. Your channel will continue to work as always.

Add a Page

  1. Go to your Workspace Settings page and click the 'Add Channel' button.

2. Scroll down to the Facebook Messenger section.

3. Here, review the directions and then click the 'Add Facebook Page' button.

4. Log in to your Facebook account and then choose the page you'd like to add. Then, you'll be asked which permissions you'd like to allow.

That's it! You'll automatically be taken to your new channel's page where you can view your channel log.

You can now create a trigger that will refer a contact when a new conversation is started on Messenger.

Facebook Topics

Note that Facebook has updated their API to require that all messages sent to a contact after 24 hours have an appropriate 'tag', or what we call a 'topic'.

Message tags allow you to send important and relevant 1:1 updates to contacts outside the standard messaging window of 24 hours after a contact's last message. You will need to add a topic to your Messenger flows to ensure your flow sends if outside of the 24 hour window.

Reconnecting Your Page

If there is a problem with your integration, you do not need to remove the channel. You can simply click the 'Reconnect' button found within the channel page in your Workspace Settings to refresh the authentication token.



Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1609191 2020-10-27T19:10:01Z 2020-11-23T22:15:08Z Announcment: WhatsApp Number Hosting Beta

We are excited to announce that TextIt is now a WhatsApp Business Service Provider and we are starting a closed Beta for our customers. This means you'll be able to use all the tools you know and love with TextIt but on WhatsApp! If you have an active subscription and are interested in entering this Beta, send us a note.


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1604093 2020-10-13T19:07:41Z 2020-10-13T19:07:41Z Attaching a PDF URL to a Message

We've added a new feature that allows you to attach a PDF URL in addition to Image, Audio, and Video URLs.

Attaching your PDF URL

Once you've entered the flow editor, create a 'Send Message' action. Click on the 'Attachments' tab at the top of the message node:

Choose 'PDF Document URL' from the dropdown menu:

Paste the PDF URL in the text field and click 'OK' to save. That's it!

You can then test out your link in the Simulator. You can click on the attached document and it will open in a browser window.

As always, be sure to test out your link in real messages before sending to your contacts!


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1598800 2020-09-29T22:34:55Z 2020-09-29T22:34:56Z New Messaged Contact Pricing!

As you know, we launched our new unlimited messaging plan on September 1st. Billing on the new plan was based on the total number of contacts in your account at the end of each month. Over the past month we've received feedback from some of our customers that they'd like to be billed based on the number of messaged contacts in their workspace instead of the total number of contacts. This would more accurately represent the value they are getting from TextIt on a monthly basis.

After considering the pros and cons we've decided those customers are right and our subscription plan now only counts contacts who have sent or received a message (or IVR call) during each subscription period. For example, if you have 15,000 contacts in your workspace, but only message 600 of them during a month, then you will only be billed $25. Each workspace will still come with 1,000 messaged contacts included and each additional messaged contact will still be billed at $0.01 per month.

We've already made this change on our side and all plans have already been upgraded to this plan. You will now enjoy a lower monthly bill and the ability to build up a contact list in your workspace that you can refer to in the future.

As always, if you have any questions, reach out via the support widget on the website!


]]>
tag:blog.textit.com,2013:Post/1589630 2020-09-01T20:32:01Z 2020-09-01T20:32:02Z New Billing Plan w/ Unlimited Messaging Launches TODAY!

As you’ve been hearing over the past month, starting today, we’re moving to a monthly subscription plan that includes unlimited messaging. Instead of pricing based on the number of messages you send, pricing will be based on the number of contacts you maintain in your TextIt workspace. Each TextIt subscription will include 1,000 contacts, unlimited messaging and be only $25 per month. Each additional contact above 1,000 will cost just $0.01 per month.

Switch over to subscription from the billing page on your workspace, which you can find on your workspace settings page.

This will let you more easily predict the costs of your projects and let you build awesome interactive flows without worrying about how many credits they will use at scale.

New Design

We’ve also launched a new, fresher design of the website. This includes a lot of small improvements that we think will lead to a smoother and cleaner experience for you. We spent a lot of time testing things out, but with any big change sometimes a few things sneak through, so if you see anything amiss, do reach out!

TextIt.com

Finally, we are moving from https://textit.in to https://textit.com. Both will work for you for the foreseeable future, but we’ll start redirecting you to the .com in the next few weeks.

What’s Next

If you have existing credits, you can still use them until they expire. However, once you run out of those credits, you’ll have to switch to our new monthly plan. If you’d like the benefits of unlimited messaging immediately, you can convert the value of any remaining credits you have on your billing page.

If your account has no credits, we will be converting you to our free trial plan soon and you’ll have 90 days to evaluate the product with up to 100 contacts.

Covid-19

We've helped organizations deliver over 20 million Covid-19 related messages on TextIt and we are excited to continue that support moving forward. We’ll offer discounted pricing for anyone using TextIt for Covid-19 projects with a plan that includes 10,000 free contacts and half price contact pricing for just $25 per month.

More questions? See our FAQs below!

Do I get to keep my credits? 

If you have existing credits, you can choose to stay on the TopUp plan and continue using those credits until they expire or are used up.

What if I have contacts that I don’t use? 

You will be billed for all contacts in your workspace over the course of a month, but you can remove any contacts that you don’t use. We’ve added a new feature that indicates when a contact was last used and allows for easy deletion of dormant contacts.

How does billing work? 

You will be billed the base subscription rate of $25 at the start of your billing period. A month later, you will be billed a fee for any contacts in your workspace that exceeded the 1,000 contact threshold. If you cancel before the end of the month, your usage fees will be prorated. 

Will I pay more for the subscription plan? 

We’ve designed our new pricing plan to deliver the benefits of unlimited messaging to all users. Most users will pay significantly less, some users may pay slightly more, but we’ve made sure that no users will have a significant cost increase. 

How does the Free Trial work?

New users will be able to use TextIt free of charge for 90 days, with 100 contacts included. 

I’m working on a Covid-19 project. Do I still qualify for discounted pricing? 

We’ll continue to offer discounted pricing for anyone using TextIt for Covid-19 projects. Our Covid-19 plan will be $25 per month and will include 10,000 contacts with each additional contact priced at $.005.

I’m a really big user. Can I qualify for discounted pricing?

If your account has over 100,000 contacts you may be eligible for volume discounts. Reach out to us if you’d like to learn more!

What if I want to delete my account? 

No problem, if you take no action, we’ll delete your account automatically on December 1st. We’ll send you one last reminder a few weeks before in case you change your mind. If you want to delete it immediately, just reach out to us and we’ll take care of it.


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1589558 2020-09-01T17:25:23Z 2020-09-01T17:25:23Z Deleting Contacts

It is important to note that if you delete any contacts, they cannot be recovered

To delete a contact, they must first be placed in the 'Archived' folder. You can manually delete individual contacts or send an entire group through a flow to update their status to 'Archived' for easy bulk deletion.

Manually Delete Contacts

To permanently delete an individual contact, first navigate to the "Contacts" tab in your account:

You'll see a list of all your contacts on this page. To delete a contact, check the box to the left of their name. Then, click the 'Archive' button. This will place the contact in the 'Archived' folder:

Next, navigate to the 'Archived' Folder and again, check the box to the left of the contact's name.

Finally, you can delete ALL checked contacts at once by clicking the 'Delete All' button.

You'll be asked if you're sure to delete ALL the contacts whose names you've checked. Remember that contact deletion is FINAL and no deleted contacts cannot be retrieved!

Delete an Entire Group of Contacts

To place multiple contacts in the 'Archived' folder for bulk deletion, you'll need to change their status from 'Active' to 'Archived', which is easily done in a flow.

  1. Create your contact group. Remember that you can identify dormant contact who haven't interacted with you lately via the 'Last Seen On' contact field via a contact search.
  2. Start the group in a flow that contains the 'Update the Contact' action that will update their status. All contacts who are started in this flow will automatically be placed in the 'Archived' folder and can then be deleted.

Contact Status

Aside from archiving, you can also place a contact in the 'stopped' or 'blocked' folders.

Stopped contacts have opted-out from receiving your messages and are removed from all groups. You cannot send them any messages, but they can opt back in by messaging you.

Blocked contacts are contacts that will not receive outgoing message and all of their incoming messages are automatically archived. They are removed from all groups.

Want to easily identify dormant contacts to be deleted? See our guide.


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1589556 2020-09-01T17:23:45Z 2020-09-01T19:58:17Z Archiving Contacts in a Flow for Easy Deletion

In order to delete contacts, they must first be placed in the 'Archived' folder in the 'Contacts' tab.

You could manually move contacts into the 'Archived' folder, but what about many at once? Do this with a flow.

  1. Add any unwanted contacts to a group. For dormant contacts, remember that you can use the handy 'Last Seen On' contact field to search for contacts who you've not interacted with lately and add them to a smart group via a contact search.
  2. Once your group is ready, simply start them in a flow using the 'Update the Contact' action which will change their status from 'Active' to 'Archived'.

In our example below, we've created a group of contacts called 'Dormant' and added the 'Update the Contact' action in a flow that will automatically place all contacts who pass through the flow into the 'Archived folder:

We'll then start the flow and select the group 'Dormant':

That's it! All contacts who are started in this flow are now in the 'Archived' folder and are ready for deletion. To delete all contacts in the 'Archived' folder, just click the 'Delete All' button:



Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!


]]>
tag:blog.textit.com,2013:Post/1589554 2020-09-01T17:21:36Z 2020-09-01T17:21:36Z Contact Statuses- What are They?

A contact's status can be set to Active, Stopped, Blocked, or Archived. Learn what each status means in this guide.

A contact's status will affect their group membership and whether they can receive outgoing messages or send incoming messages.

  • Active contacts maintain all of their group memberships and will both receive your outgoing messages and be able to send you incoming messages.
  • Stopped contacts have opted-out from receiving your messages and are removed from all groups. You cannot send them any messages, but they can opt back in by messaging you, changing them to 'Active'.
  • Blocked contacts are contacts that will not receive outgoing message and all of their incoming messages are automatically archived. They are removed from all groups. This status is useful for spammy or unwanted behavior.
  • Archived contacts are removed from all groups and will be ignored forever. The difference between 'Archived' and 'Blocked' contacts is that these archived contacts are ready for deletion. To delete a contact, they must first be placed in the 'Archived' folder in the 'Contacts' tab. Updating a contact's status to 'Archived' allows you to easily place an entire group in this folder for bulk deletion.

Note that you can easily identify dormant contacts by using the 'Last Seen On' contact field in a search and then place those contacts in the 'Archived' folder via a simple flow. This will help you easily delete groups of contacts that you no longer wish to maintain in your workspace.


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1587012 2020-08-25T18:29:15Z 2020-08-25T18:29:16Z Using the 'Last Seen On' Contact Field

Using the 'Last Seen On' field in a campaign or a contact search is helpful in identifying contacts who've last communicated with you relative to a date.

You can use this field to find contacts who've been unresponsive or dormant and reach out to them or delete them from your database.

Searching with 'Last Seen On'

Using a query with last_seen_on, you can search for contacts who were last seen relative to a specific date.

You can use the following operators to perform a search on all contacts present in your account:

last_seen_on = "date" to search for an exact date

last_seen_on > "date" to search for all contacts seen after a date

last_seen_on < "date" to search for all contacts seen before a date

last_seen_on >= "date" AND last_seen_on <= "date" to search for contacts last seen between two dates

last_seen_on != "date" for contacts not last seen on an exact date

last_seen_on = "date" OR last_seen_on = "date" for contacts last seen on multiple specific dates

With the resulting contacts, you can create a new group. In the example below, we searched for contacts who were last seen before a specific date.

We'll click "Save as Group" to create a new group with just these contacts:

Last, we'll name the group. Here, we've identified contacts who haven't interacted with us in several months, so we'll name the group "Dormant":

Using 'Last Seen On' in a Campaign

What if we wanted to follow up with contacts who haven't interacted with us recently? We could do this from within a campaign without having to search for contacts or creating a dynamic group. Here's how:

In the example above, we've created a campaign event that will send a message to all contacts 90 days after the 'Last Seen On' field, which is the date they last interacted with us.

Sending a message or flow to contacts who've been dormant is helpful in reminding them to follow up with you or to weed out contacts who can be deleted.



Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1581662 2020-08-06T15:59:30Z 2020-08-06T18:09:08Z TextIt Update: New Billing Plan (Unlimited messaging!)

Over the years we’ve heard from you that you’d love a way to use TextIt without having to pay for each interaction. Well, we’re excited to share with you that we’re switching to a simple, affordable, subscription plan that makes that possible!

Starting September 1st, we’re moving to a monthly subscription plan that includes unlimited messaging. Instead of pricing based on the number of messages you send, pricing will be based on the number of contacts you maintain in your TextIt workspace. Each TextIt subscription will include 1,000 contacts, unlimited messaging and be only $25 per month. Each additional contact above 1,000 will only cost $0.01 per month.

This will let you more easily predict the costs of your projects and let you build awesome interactive flows without worrying about how many credits they will use at scale. We’re also rolling out new features to help you delete contacts you are no longer using. 


What’s Next

If you have existing credits, you can still use them until they expire. However, once you run out of those credits, you’ll have to switch to our new monthly plan. If you’d like the benefits of unlimited messaging immediately, we’ll also let you convert the value of any remaining credits you have starting on September 1st.

If your account has no credits, we’ll convert you to our free trial plan on September 1st and you’ll have 90 days to evaluate the product with up to 100 contacts.


Covid-19 

We've helped organizations deliver over 20 million Covid-19 related messages on TextIt and we are excited to continue that support moving forward. We’ll offer discounted pricing for anyone using TextIt for Covid-19 projects with a plan that includes 10,000 free contacts and half price contact pricing for just $25 per month.


More questions? See our FAQs below!

Do I get to keep my credits? 

If you have existing credits, you can choose to stay on the TopUp plan and continue using those credits until they expire or are used up.


What if I have contacts that I don’t use? 

You will be billed for all contacts in your workspace over the course of a month, but you can remove any contacts that you don’t use. We’re adding a new feature that indicates when a contact was last used and allows for easy deletion of dormant contacts.


How does billing work? 

You will be billed the base subscription rate of $25 at the beginning of each month. At the end of each month, you will be billed a fee for any contacts in your workspace that exceeded the 1,000 contact threshold. If you cancel before the end of the month, your usage fees will be prorated. 


Will I pay more for the subscription plan? 

We’ve designed our new pricing plan to deliver the benefits of unlimited messaging to all users. Most users will pay significantly less, some users may pay slightly more, but we’ve made sure that no users will have a significant cost increase. 


How does the Free Trial work?

New users will be able to use TextIt free of charge for 90 days, with 100 contacts included. 


I’m working on a Covid-19 project. Do I still qualify for discounted pricing? 

We’ll continue to offer discounted pricing for anyone using TextIt for Covid-19 projects. Our Covid-19 plan will be $25 per month and will include 10,000 contacts with each additional contact priced at $.005.


I’m a really big user. Can I qualify for discounted pricing?

If your account has over 100,000 contacts you may be eligible for volume discounts. Reach out to us if you’d like to learn more!


What if I want to delete my account? 

No problem, if you take no action, we’ll delete your account automatically on December 1st. We’ll send you one last reminder a few weeks before in case you change your mind. If you want to delete it immediately, just reach out to us and we’ll take care of it.


Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1580976 2020-08-04T21:10:44Z 2020-08-04T21:10:44Z Updating a Contact's Status in a Flow

You can use the 'Update the Contact' action in a flow to change a contact's status to either active, stopped, or blocked.


A contact can have 3 possible statuses:

  1. Active - The contact will receive your outbound messages and can send incoming messages.
  2. Stopped - The contact is removed from all groups and will no longer receive your messages. The contact is ignored until they send an incoming message, opting them back in.
  3. Blocked - The contact is removed from all groups and will be ignored entirely, but not deleted. The contact will neither receive outbound messages nor be able to send incoming messages.

Stopped Contacts

Some channels, like Twilio, have built-in opt-out keywords. If the contact sends any of them to your channel, we will automatically place them in the 'Stopped' folder in the 'Contacts' tab. The contacts are removed from all groups and you will be unable to send them any outbound messages. The contact can opt back in to receiving your messages with the provider's re-subscribe keywords at any time. They will not be automatically re-added to groups.

Using the 'Update the Contact' action in a flow to change a contact's status to 'Stopped' is helpful when a channel does not have automatic opt-out keywords and helps you to track opt-outs yourself. Any time the contact sends you an incoming message, they'll be removed from the 'Stopped' folder and made 'Active' unless still opted-out by your channel provider, like Twilio.

Blocked Contacts

Sometimes, a contact can abuse your service or send offensive messages. While you can manually block a contact if you notice spammy behavior, it can also be useful to build rules in your flows that detect abusive language.

If a contact sends unwanted language, you can use a 'Wait for Response' to detect certain words. If found, you can automatically block the contact. This can come in handy when contacts can automatically trigger a flow with an assigned keyword published on a website or advertisement.


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1560349 2020-06-16T20:49:05Z 2020-06-16T20:49:06Z Adding an Email or Zendesk Ticketing Service

You can easily pass a contact's communications off to a live human agent via email or our Zendesk integration. This is an easy way to better respond to help requests, process refunds, provide more detailed one-on-one information to contacts, and so many more use-cases.

Adding a ticketing service provides an advantage over the 'Send Email' action as the communications between your agent and contact will remain on TextIt and can be viewed as incoming and outgoing messages on the platform.

Adding an Email Ticketing Service

Email ticketing is a super simple way to handle your live agent responses. It takes just moments to set up.

First, integrate the email address to which all new tickets will be forwarded. Your agent's responses will also come from this email address. Navigate to your account page by clicking on your organization name in the top right corner:

Click the gear icon and choose 'Add Ticketing Service':

Next, click the 'Email' section:

Add your email:

Find the verification email which you'll find in your email inbox and connect the code:

That's it! You're now ready to set up the email ticketing action in a flow.

Setting up email ticketing in a flow

To begin your email ticketing pipeline, create a flow that will collect any text or fields you'd like to forward to your agent. In the simple sample flow above, we ask the contact to send us free text describing their issue & collect it with a 'Wait for Response' node.

Once we've collected all the responses we'd like, we add the ticketing action:

In the body of the email, we'll reference the free text the contact sent using @results.issue, using the name we gave to the flow result in the 'Wait for Response' node.

When a contact passes through the flow, a ticket will automatically be forwarded to the email address we integrated to our TextIt account. In your email, you can respond to the contact's request:

All further messages between the agent and the contact will also been seen in your TextIt account. Here's the contact's message history page showing the agent's email message and the contact's response:

Adding a Zendesk Ticketing Service

Zendesk is a CRM company that builds software designed to improve customer relationships. The platform provides support, sales, and customer engagement software that allows you to integrate live agent chatting, self-service, call center communications and more into a single platform.

After creating your Zendesk account, you'll integrate it into TextIt. Navigate to your TextIt account page, click the gear icon, and choose 'Add Ticketing Service' from the dropdown menu:

Click on the Zendesk section:

Type in your subdomain name and then click 'Allow' on the following page to give TextIt permission to access your Zendesk account.

Follow the steps on the integration page:

  1. Click the link to redirect to Zendesk's app marketplace and search for 'TextIt'. Install the app.
  2. In your Zendesk Channel Integrations page, you should now see the TextIt app added.
  3. On this page, click the TextIt app in the list and add an account. You'll need the secret key found on the integration page in TextIt.

Add a display name and the secret key:

Your Zendesk integration is now complete! The next step is creating the pipeline in a flow.

Setting up Zendesk ticketing in a flow

As with an email ticketing service, you'll collect any responses or fields you'd like to forward to Zendesk and add a ticketing service node:

When a contact moves through the flow, a ticket will be forwarded to Zendesk, where the agent can reply:

You'll also be able to see the entire message history for the contact in your TextIt account:

Viewing Open Tickets

You can see all open tickets by clicking on the 'Tickets' tab which will appear after adding your first ticketing service:

Click on a ticket to see the contact's entire message history:

You can close a ticket with your TextIt account by clicking the checkbox and selecting the close button:

Reopen by clicking the checkbox and selecting the reopen button:

You're now all set up to handle tickets via Email or Zendesk!


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1536998 2020-04-28T20:11:00Z 2020-04-28T20:12:34Z Viewing the Flow Start Log

Viewing your Flow Start Log is helpful in understanding your account's activity. You'll see a list of all the flows that have been started, the user who started them, and more. To view the log, first navigate to the 'Flows' tab:

Scroll down and find the 'Flow Start Log' button on the lefthand side:

Here, you'll see the list of flows started:

Here's a breakdown of the first log as seen above:

  1. The name of the flow, the user who started it, and the contacts who were placed in the flow. In the example above, all contacts were started, meaning both contacts who had and had not previously entered the flow and those active in other flows. Be sure to review our start flow sending options article to understand how contacts are started in a flow!
  2. The exact contacts or groups who were started.
  3. The date the flow was started.
  4. How many runs the flow completed. Note that passage through a flow from entrance to exit - and all activity that takes place in between - constitutes a run.


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!


]]>
tag:blog.textit.com,2013:Post/1531185 2020-04-14T18:02:43Z 2020-04-14T18:02:43Z Using Prometheus Monitoring

Prometheus and Grafana are popular platforms used to build dashboards. The dashboards you can build using them will let you see trends over time, spikes in usage and better understand the activity on your organization.

Prometheus works by fetching the current counts of various attributes on your organization a few times a minute. From that data it builds up a historical database of values it can query against. Grafana is then used to build dashboards using the database Prometheus has built over time.

Note that you will need both a Prometheus server and a Grafana server in order to perform these visualizations. You can either host these services yourself or use one of the hosted services such as Hosted Metrics that do this for you.

In either case you will be configuring the "Scrape Target" in Prometheus for your Organization. To enable your scrape target:

  1. Visit your Organization Home by clicking on your organization name in the upper right corner
  2. Click on the Prometheus link to activate Prometheus monitoring

  3. Then click on the Prometheus line again to get your Prometheus endpoint, username and password. You can then use these to configure a new scrape target on the Prometheus server you are using. 

Remember that Prometheus will need to scrape your endpoint for a period of time to build a history of the records, so it will take some time before you have useful historical metrics for graphing.

Exposed Metrics

Your Prometheus endpoint exposes aggregate counts for use in your dashboards. These include:

  • The total count of incoming and outgoing messages for each of your channels
rapidpro_channel_msg_count{channel_name="BotChannel",channel_uuid="16551115-2483-4c60-98c4-0bb34e7aa218",channel_type="TG",msg_direction="out",msg_type="message",org="Handy"} 993
  • The total count of contacts in each of your groups, plus your system groups. Example record:
rapidpro_group_contact_count{group_name="Active Users",group_uuid="f53056f9-302c-4d76-a1b4-7ed0c6132779",group_type="user",org="Handy"} 23251

You can use the attributes on the metrics to filter by or group by in your Grafana dashboards.


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1521099 2020-03-17T21:27:48Z 2020-07-07T08:44:08Z Free TextIt Hosting for Coronavirus Projects

In response to the global Covid19 outbreak, Nyaruka is offering free TextIt hosting to all initiatives aiming to help during this pandemic. Projects we support have already sent and received millions of messages answering questions posed by the public and we want to do our part in ensuring even more people can be reached in the weeks ahead.

If you are working on a project related to the Covid19 outbreak, you can create an account for free at https://textit.in/. Once you have built your system please reach out to us and we will add additional credits to your account to guarantee you can scale nationally.

Projects do not need to be health related, we have customers building takeout and delivery systems using TextIt to help avoid physical contact just as we have customers building informational bots to help spread information in communities. Every little bit can and does help!

Our team is ready and eager to help you with any questions you may have.

Please share this with any of your colleagues who might find it useful.

Stay safe, working together we will all get through this.

]]>
Nicolas Pottier
tag:blog.textit.com,2013:Post/1518632 2020-03-10T19:10:53Z 2020-03-10T19:10:53Z Fixing 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 contact field for Age. 

When this happens, your flow will continue to run, however it might lead to unexpected results. In some cases, such as updating a contact field for a missing field, nothing will happen (other than the field will not be set). 

In other cases, it might be more noticeable. Perhaps you created a Send Message action that looked like the following example. In this case, it may cause some confusion as the value for @fields.volunteer_id would be left out.

After creating a node with a messing dependency, you'll see that the node itself turns red. If you click on the node to edit, you'll see a notification that says 'Cannot find a field for @fields.whatever_field_name

You will also see a new red tab appear to the right of the editor called 'Flow Issues'.

Click on the Flow Issues tab to get a full list of all the missing dependencies and click on each to be taken to the exact node in your flow.

Contact Fields are not the only things that can go missing and result in a missing dependency error. You may see this with a Contact Group that has  been deleted, a channel that no longer exists, or a variety of other things your flow may reference.


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1513514 2020-02-25T19:05:58Z 2020-02-25T19:05:58Z Restricting Sending to International Numbers

Your channel's phone number may automatically allow sending messages to international numbers, which could cause carrier or aggregator fees to add up. To avoid international messaging charges, you can choose to restrict sending. 

First, navigate to your account page and scroll down to the phone number you'd like to restrict:

Next, click the 'Edit' button to change the settings:

Uncheck the box allowing sending to international numbers:



Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!]]>
tag:blog.textit.com,2013:Post/1513513 2020-02-25T19:04:20Z 2020-02-25T19:04:20Z Changing the Order of Featured Fields on the Contacts Page

When viewing your featured fields on the Contacts page, you will see that they are organized left to right starting from earliest creation date. In the example below, the contact field school id was created at an earlier date than  state.

To change how the contact field columns are viewed, first navigate to the Manage Fields page found within the Contacts tab:

Here, click on the 'Featured' folder to the left of the page:


You'll see a list of all featured fields. Hover over a field to click and drag to the position you'd like. 


Navigate back to the Contacts tab to see the contacts fields have rearranged to your specifications: 

Don't see a contact field in the list? First, make sure it's featured


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1503807 2020-01-28T20:10:48Z 2020-01-28T20:10:48Z Using the Context Explorer

The Context Explorer feature found in the simulator within each flow's editor allows you to view and better understand all the variables available in your flow. The explorer gives a detailed breakdown of values and their expressions, which can be copied for use elsewhere.

To use the Context Explorer, first navigate to the flow's editor. In our example, we want to see all the available variables for a flow asking contacts to join a group of their choosing to earn a free coupon:

At the bottom right corner of the editor, we see the Simulator button:

By clicking the 'Run in Simulator' button, we will run a test contact through the flow up to whichever point in our flow we'd like to view. Here, we've run the test contact all the way through to the flow's exit, or end. 

We'll then click on the '@' symbol found at the bottom left of the simulator to view the Context Explorer: 

In our example flow's explorer, we can immediately see the test contact's telephone number, the global API key set in our account, how many inputs were received from the contact, the results of the flow, and the flow's run:

We can expand each value to view even more detailed information like when the contact was created, the language of the contact, their group membership, and more:

We can hover over a value and click the clipboard icon:

This will copy the expression for that value to the clipboard for use elsewhere:


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!]]>
tag:blog.textit.com,2013:Post/1499126 2020-01-14T20:11:33Z 2020-01-14T20:11:34Z Sorting Contact Field View

By clicking on the column header of a featured contact field on your Contact page, you can change how the fields are sorted. 

For example, we can change how the fields are viewed to either sort youngest to oldest or vice versa:

This feature is useful in this case to see the breakdown of our contacts' ages to better organize our demographic information. 

Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1499125 2020-01-14T20:10:31Z 2020-01-14T20:10:31Z Adding a Topic to Your Facebook Messenger Flow

Facebook has updated their API to require that all messages sent to a contact after 24 hours have an appropriate 'tag', or what we call a 'topic'. 

Message tags allow you to send important and relevant 1:1 updates to contacts outside the standard messaging window of 24 hours after a contact's last message. 

By default your flows will use the NON_PROMOTIONAL_SUBSCRIPTION  tag for your outgoing messages which aren't replies, but support for this tag is being removed in March 2020. 

You can now select the tag to use when sending broadcast messages by clicking on the first message of your flow and navigating to the "Facebook" tab as seen at the top of the message node:

For our example above, we'll choose the 'Event' tag since our message pertains to an update for an upcoming event. This will then mark the message with that tag when it is sent. You only need to do this on the first message in your flow. 

It is important to note that as per Facebook policy, message tags may not be used to send promotional content, including but not limited to deals, offers, coupons, and discounts. Learn more about sending messages with tags as well as details on new and currently supported tags here.

Looking for information on how to create and submit your Messenger bot? See our guide

Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1490157 2019-12-17T19:46:18Z 2019-12-17T19:46:18Z Global 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 reenter the value. Likewise, globals make updating a shared value much easier. Rather than manually changing a value everywhere it's used in your account, simply update the value found in your 'Globals' page. 

Say you have 5 different webhooks in your account that all use the same Airtable API Authorization key. By saving that key as a global variable, you can easily reference the key without having to look it up in your Airtable account every time you create a webhook.

How it works

We've got a flow where we want to retrieve data from a table in our Airtable account multiple times. This means we'll need to use more than one Call Webhook action, and each of those will need to be configured using the API Authorization key from Airtable. To avoid having to look up the key for each configuration, we'll create a global to save time.

Create the global variable

Go to your account page, then scroll down to to the @ globals section.

Here, you'll find your Globals page where you can create and manage your global variables.

To create a new variable, click the 'Create Global' button. Choose a name and enter the value. For our API key example, the value is the same value that we'd enter for the 'Authorization' header in our Call Webhook action in our flow.

Note that by clicking on the 'uses' link next to each global variable on your 'Globals' page, you can see every place your global is used. 

Use the global in a flow

After creating the shared API key global, we can reference it in all of our new Call Webhook actions in our Airtable flow. 

When we create each new Call Webhook node, we don't need to enter the text value of the Authorization header.

We can instead simply reference the value using the global variable we've created using @globals.api_key. Recall that we named the variable API Key when we created the global earlier. 

That's it! For any other webhook where we would also use the same Airtable API Authorization key, we don't need to look it up. We can easily enter the global instead. 

Note that globals can only be edited or updated within your Globals page and not within flows. 


Want to learn even more about using TextIt? Check out our Help Center

Questions? Comments? Let us know!

]]>
tag:blog.textit.com,2013:Post/1485195 2019-12-03T19:26:23Z 2019-12-03T19:26:23Z Adding Classifiers to a Flow

Classifiers let you interpret words and phrases into intents you can act on. Various services let you train your own classifier which you can then use in your flows to draw meaning from the unstructured text contacts send you.

We support the following classifier platforms:

  • Wit.ai is a Facebook owned natural language platform that supports up to 132 languages. The service is free and easy to use and a great choice for small to medium sized bots.
  • LUIS is a Microsoft Azure platform that lets you interpret natural language in your bots. It supports 13 languages and is a highly scalable paid offering.
  • Bothub is an Open Source NLP platform. It supports 29 languages and is evolving to include the languages and dialects of remote cultures.

Create your Bot

In our example, we've used wit.ai. Wit allows you to extract relevant pieces of information — or entities — from what your users might say to your app in a flow. Train your wit bot to understand what your contacts communicate and respond appropriately. Check out Wit's tester bot and help docs to see how it works. 

To get started, navigate to wit.ai and click on the 'Bots' button. Log in with either your Facebook or GitHub account. 


That's all it takes to create your first bot. Next, you'll need to train it. You'll teach your bot to extract entities (information) based on relevance. 

In the example below, our app will allow contacts to set reminders. Here, the contact is asking the bot to remind them to call the dentist the following day. We've matched the rules wit/reminderwit/contact & wit/datetime to their appropriate entities in the sentence. This will teach the bot to pull out similar data from free text and understand the contact's request. 

To better understand how to use Wit, be sure to follow their quick start guide!

Connect your Bot

After you've created and trained your bot, you're ready to integrate it into your account. Visit your account page and click the gear icon in the top right corner. Choose 'Add Classifier' from the dropdown menu:

Then choose your preferred service:

You'll need to authenticate your account to connect it. Find these details in the API section of your service's account page. In the case of Wit, we'll enter the bot's name, App ID & Access token:

Build your Flow

In the example above, we've built a flow to ask customers of a travel agency to send their inquiry. After asking a question like, "What can I help you with?", contacts will send unstructured free text captured in the flow using a 'Wait for Response' split action. We'll be sure to use 'has some text' or 'is not empty' to be able to collect the response from the contact.
 


Next, we'll use the 'Split by Intent' split action in the flow to run the response through the classifier (our Wit bot) and create rules to extract the intent from the text. You'll see a dropdown of all possible intents pulled from the training you've done with your bot. In our example, we're looking for a response with the entity "flight" that will tell us that the contact wants to book a flight with our agency. Remember, we've already trained our bot on wit.ai to understand this intent.

Say the contact responded to our first question with "Book a flight to Miami". The classifier will extract "flight", as programmed during training, and understand that the contact wishes to book a flight. Here's how that looks in the contact's message log:

We can see above that the bot has successfully extracted the entity "flight".

If you find that your bot doesn't understand the unstructured text from your contacts, continue training it so that it can continue to learn. 

Referencing entities in your flow

Within your flow, you can access the entities that are extracted from the classifier using the variable @results.classify.extra.entity_name. You can then work that into your reply message. This means that in our sample flow, we'll reference the entity using @results.result.extra.destination. Note that result is what we named our 'Split by Intent' result and destination is the name of the entity from our Wit bot training.

Here's how that looks:

Using the simulator to test the flow, we can see how we've pulled out the entity and referenced it using the variable @results.result.extra.destination and how it looks in our reply message to the contact:

What's the difference between 'has intent' and has 'top intent'?

Has intent will match if the intent is found with a higher confidence than specified in the rule. Has top intent is the same, but only if it is also the highest confidence amongst all intents.

Want to learn more about building flows? Check out our Help Center

Questions? Comments? Let us know!]]>
tag:blog.textit.com,2013:Post/1478071 2019-11-15T18:32:23Z 2019-11-15T18:32:24Z Tracking Down Sending Errors

Occasionally, a message will not send properly or will not be received by a contact. When this happens, you can track down the exact error by checking the message log. 

View these logs on the platform by clicking on the document icon to the right of the message in the contact's history. 

In the log, you can see whether the message was sent by TextIt and passed to the aggregator, carrier, or social media channel up at the top. You can also see if the provider called back to report if the message was sent and delivered.  
 

In the message log above we can see the following:

  1. The recipient of the message.
  2. The direction of the message.
  3. The date and time the message was sent. 
  4. The status the message. In this example, it shows that Twilio returned the message as 'Delivered'. 

Last, in the box at the bottom, we can see that Twilio, the channel on which we sent the message, called back to TextIt saying that the message was delivered to the contact. 

If your message is shown as sent by TextIt but was not actually received by the contact, there is most likely an error occurring on the side of the aggregator, carrier, or social media app. Contact them with the logs you've viewed on TextIt to help them track down the problem. 

Failed Messages 

What if the message shows that it failed sending? When this happens, check the message log for error codes. 

In the example below, a message failed to send to a contact via a Telegram channel. Note that the message's status is listed as 'Error' and we can see that in the callback, there is an error code returned from Telegram. See a list of Telegram error codes here.

Other common causes of failed messages are improper telephone number configuration, such as not including a country code, or if the phone number turns out to be a landline. Note that for Twilio channels, the most common error is attempting to use a trial number rather than a purchased number. See a complete list of Twilio error codes here

You can also view failed messages by going to the 'failed' folder within the 'Messages' tab:

Clicking the document icon to the right of the messages in the failed folder will either take you to the channel error description or the profile of the contact to which the message was sent, depending on the status of the channel you used to communicate with them. Please include a link to the error or contact profile when requesting further support. 

Want to see more about troubleshooting delivery errors? Check out this article for more information.

Questions? Comments? Let us know!]]>
tag:blog.textit.com,2013:Post/1474263 2019-11-05T20:47:19Z 2019-11-05T20:47:19Z Sending Airtime with DT One
The action Send Airtime enables you to transfer airtime to prepaid phones on over 550 mobile operators across 160 countries through one single API connection with DT One, formerly TransferTo.


Enabling Airtime Transfer

After setting up your account with DT One, navigate to your TextIt account page and scroll down to the DT One integration section:

Here, enter your DT One login and API token, found on the Developer page in your DT One account

Using the 'Send Airtime' Action in a Flow

First, create a new node and choose 'Send Airtime' from the dropdown menu of actions:


Next, select the currency, amount to send, and name the result to be able to reference it later. 

The editor will automatically look up the available currencies that can send to your contact's phone number through DT One. The platform will pick the biggest amount less than or equal to what is requested in the flow.


The 'Send Action' node you've created will have two connections, 'Success' and 'Failure':

If the transfer was successful, the contact will pass through 'Success' and you may choose to send a confirmation message. If the transfer experiences an error, the contact will pass through 'Failure'. If this happens, you could use actions such as sending the contact a message, adding a label, adding the contact to a group, sending yourself or a team member an email, and more

In our example, we've chosen to send the contact a confirmation message when the transfer is successful and an email to the team leader when a failure occurs:

In our email to the team leader, we've included the contact's telephone number. You can include saved variables and flow results collected in the flow up to this point to reference your contact's information. See how to use those variables here.

That's it! Contacts who pass through this node in a flow will receive the amount specified by your Send Airtime action.

Viewing your Transfer Logs

We provide a log of your transfers so you can review completed attempts and troubleshoot failures. To access these logs, navigate to your account page and scroll down to the DT One section, then click the 'Transfer Log' button:


As always, we appreciate your feedback. Questions? Comments? Let us know!




]]>
tag:blog.textit.com,2013:Post/1469023 2019-10-22T20:32:58Z 2019-10-22T20:32:58Z Starting Contacts in a Flow Based on a Search

Within the 'Start Flow' dialogue, you can search for contacts based on a query and start them in a flow. This allows you to search for contacts based on specific contact fields already present in your account. For more details, check out this article in our Help Center. 

As always, we appreciate your feedback. Questions? Comments? Let us know!




]]>
tag:blog.textit.com,2013:Post/1330320 2018-10-10T20:20:25Z 2018-10-11T19:24:48Z TextIt Used in Case Study to Prevent Postpartum Smoking Relapse

Researchers at the Cluj School of Public Health at Babes-Bolyai University in Cluj-Napoca, Romania used TextIt to deliver SMS interventions to prevent smoking relapse in participants after giving birth. 

The project sought to, "develop, implement, and disseminate effective and sustainable interventions to prevent and reduce smoking in families over their reproductive life span". The study focused on a group of women who quit smoking during pregnancy and their partners. The participants began to receive SMS interventions starting immediately after giving birth and for 6 weeks postpartum. 600 messages were developed and loaded into the TextIt platform to be sent out in flows and sub-flows each day of the 6-week intervention. 

We spoke with Andreea Hoștină, PhD(c), a research assistant who worked on the project's team, some questions about the group's experience using TextIt in their case study: 

How did you and your team learn about TextIt?

Andreea: We needed a platform that could help us deliver the SMS part of our intervention. We reviewed the literature and this is how we came across TextIt.

Why did you ultimately choose to use TextIt in your case study?

Andreea: When it came to deciding, TextIt seemed to offer us the tools that we needed. Another advantage was the customer support that was always prompt and eager to help us.

What benefits did you find in using the platform?

Andreea: The platform is very user-friendly and allows us to control the SMS delivery very well. All the functions are explained in the tutorials, and if you encounter some other difficulties, the team is always finding solutions.

Would you recommend using TextIt in other research/case studies and why?

Andreea: Yes, I would recommend TextIt for other studies because it is easy to use, the payment scheme is clear for everyone, and the team behind the platform is very nice and professional. To sum up, TextIt is offering the necessary tools to implement any SMS-based intervention.

To learn more about the project's design & methods, team of researchers, and publications, visit the Cluj School of Public Health's website here

It is important to note that this study was supported by a grant of Ministry of Research and Innovation, CNCS - UEFISCDI (project number PN-III-P4-ID-PCE-2016-0632, within PNCDI III).

]]>
tag:blog.textit.com,2013:Post/1219063 2017-12-19T20:50:56Z 2019-05-23T02:03:43Z Introducing Quick Reply Support for IP Messaging Channels

TextIt now supports quick replies, a feature that enables you to provide contacts on IP messaging channels such as Facebook Messenger, Viber, Telegram or LINE a predefined set of responses. 

Whereas simple text is the foundation of any mobile messaging experience, quick replies allow you to enhance the experience by presenting a collection of options to the message recipient. When one of these options is tapped, the set is replaced with a single text message which is then sent to your flow. 

Usage

To add quick replies to a message, simply click the dialog icon beneath TextIt's message composition form. 

These options will then appear for anyone who interacts with that flow. You can even test them yourself in the simulator. 

Quick replies are handled just like regular text, so you can continue to structure your RuleSets as you normally would.

Considerations

Note that your end users aren't limited to the quick replies you've prescribed; they can respond with their own text if they'd like. It's important to consider this when adding RuleSets for questions that include quick replies.

There you have it. Questions? Comments? Let us know! We value your feedback.
]]>
Kellan Alexander
tag:blog.textit.com,2013:Post/1189327 2017-09-06T23:38:55Z 2020-05-09T19:13:55Z Link Anyone to your Facebook Messenger Bot with M.me Links
Just over a year ago, we announced TextIt's Facebook Messenger channel. Facebook Messenger wasn't the first non-SMS channel we added to TextIt, but it quickly became the most popular. Millions of people around the world prefer Facebook Messenger to SMS. Moreover, messages aren't limited to 160 characters and your contacts "numbers" aren't likely to change. This article introduces a new feature, triggers for M.me referral links, that makes it easy to share your Facebook Messenger bot with others and craft their experience once they're on Messenger. Note sure where to begin with Facebook Messenger? Let us know, we're happy to help! 


M.me links are a convenient way to share your Facebook Messenger bot, and they're simple to use: Facebook gives each page a link in the format https://m.me/PAGE_NAME, e.g. https://m.me/textitin. When a user clicks your link, they'll get taken to Messenger where they'll either start a new conversation with your bot via the 'Get Started' button or continue a conversation they started previously.



This is great, but what if you want to assign flows to the links you send out? Doing so is as simple as defining a reference parameter and appending it to your link in the format https://m.me/mybot?ref=myparam, e.g. https://m.me/textitin?ref=join. Next, go to the triggers page in your TextIt account, select the 'Start a flow when Facebook refers a contact' trigger, and enter your reference parameter ('join' in our case) in the 'Referrer Id' input. 



Considerations

  • If you have configured a conversation trigger for your page (triggered when a user first interacts with your bot and taps the 'Get Started' button), the M.me referral trigger will take precendence when the user taps the 'Get Started' button. 
  • If a user already has an open conversation with your bot in Messenger, they are not shown the 'Get Started' button when they tap your M.me link. Instead, the person will be sent directly to the conversation and, if you have an M.me referral trigger configured, start the flow of your choice. 
  • You can change your M.me link on your page's 'About' section (admins only). 

Questions? Comments? Let us know! We value your feedback. 

]]>
Kellan Alexander
tag:blog.textit.com,2013:Post/1172905 2017-07-13T16:39:43Z 2017-07-13T16:39:43Z Troubleshooting Common SMS Problems

Text messages seem like a sure thing, right? We tend to send them off without thinking twice about their status or delivery order. We expect them to be delivered moments after we sent them exactly as they were authored. As it turns out, SMS isn't so simple under the hood. So in this article we're going to discuss steps you can take to troubleshoot common SMS issues. 

Message Splitting

Texts are split into a series of messages at the carrier level when they exceed their character limit (160 characters for messages that contain only the GSM character set; 70 characters for messages containing one or more non-GSM characters, like emojis 👍). Here's a tool you can use to determine whether or not your message will be split, and how many segments it will be split into. 

Delivery Order

Once a message is split, it's at risk of being received out of order. For example, if the last segment in the series is smaller than the first two, it may get to the end user first since the shorter message is sent the fastest. You can get around this by pre-splitting your messages in your flows and applying a label to indicate the order in which they should be read. 

Undelivered Messages

Android Relayer Channels

If you have an Android device, TextIt's Android channel enables you to send and receive messages anywhere you can acquire a local SIM card. Simply download the TextIt Android application on your phone and connect it to your account, and you're good to go. 

An Android channel will experience sending issues if:
  • the phone doesn't have a steady internet connection
  • the phone doesn't have a strong cellular connection
  • the Nyaruka TextIt Android app is toggled to "paused"

Log into your account, navigate to your account page, and then click your Android channel to view performance stats: 

Twilio Channels

If you're using a Twilio channel and one or more of your messages wasn't delivered, you may be encountering one of the these sending errors

To view your error and sending logs, navigate to your account page and click your Twilio channel: 

Next, click either the "Sending Log" button or "View Log" link to view bring up your sending log: 

You can use your sending log to isolate the issue and make the necessary adjustments. In the log pictured below, the user connected their trial Twilio number to TextIt and sent messages to a contact whom they hadn't verified through their Twilio account

Others

If you suspect your channel is have trouble delivering messages, click into the log we provide you. You'll find receipts for each request we made, and if an error has occurred you'll see an error code you can bring to your channel provider's attention. 

If you aren't sure where to look or you aren't able to identify the issue, let us know! We're hear to help 

Questions? Comments? Let us know! We value your feedback. 

]]>
Kellan Alexander