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!

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.


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!

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!

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!

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!

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!

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 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.

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!

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!

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!