All integrations

TextIt

MESSAGING · MESSAGING

Contacts, messages, broadcasts, and flow runs in the workspace they connected.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

textit_delete_campaign_events_json_uuid_by_uuidWRITE

This endpoint allows you to list campaign events in your account. A DELETE can be used to delete a campaign event if you specify its UUID in the URL. You will receive either a 204 response if an event was deleted, or a 404 response if no matching event was found. via DELETE /campaign_events.json

api
textit_delete_contacts_json_urn_by_urnWRITE

This endpoint allows you to list, create, update and delete contacts in your account. A DELETE can also be used to delete an existing contact if you specify either its UUID or one of its URNs in the URL. You will receive either a 204 response if a contact was deleted, or a 404 response if no matching contact was found. This tool selects the contact by URN (the `urn` argument); the sibling tool selects by UUID. via DELETE /contacts.json

api
textit_delete_contacts_json_uuid_by_uuidWRITE

This endpoint allows you to list, create, update and delete contacts in your account. A DELETE can also be used to delete an existing contact if you specify either its UUID or one of its URNs in the URL. You will receive either a 204 response if a contact was deleted, or a 404 response if no matching contact was found. This tool selects the contact by its UUID (the `uuid` argument); the sibling tool selects by URN. via DELETE /contacts.json

api
textit_delete_groups_json_uuid_by_uuidWRITE

This endpoint allows you to list, create, update and delete contact groups in your account. A DELETE can be used to delete a contact group if you specify its UUID in the URL. Notes: - cannot delete groups with associated active campaigns or triggers. You first need to delete related objects through the web interface You will receive either a 204 response if a group was deleted, or a 404 response if no matching group was found. via DELETE /groups.json

api
textit_delete_labels_json_uuid_by_uuidWRITE

This endpoint allows you to list, create, update and delete message labels in your account. A DELETE can be used to delete a message label if you specify its UUID in the URL. You will receive either a 204 response if a label was deleted, or a 404 response if no matching label was found. via DELETE /labels.json

api
textit_delete_resthook_subscribers_json_id_by_idWRITE

This endpoint allows you to list, add or remove subscribers to resthooks. A DELETE can be used to delete a subscription if you specify its id in the URL. You will receive either a 204 response if a subscriber was deleted, or a 404 response if no matching subscriber was found. via DELETE /resthook_subscribers.json

api
textit_get_archives_jsonREAD

This endpoint allows you to list the data archives associated with your account. A GET returns the archives for your organization with the following fields. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /archives.json

api
textit_get_broadcasts_jsonREAD

This endpoint allows you to send new message broadcasts and list existing broadcasts in your account. A GET returns the outgoing message activity for your organization, listing the most recent messages first. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /broadcasts.json

api
textit_get_campaign_events_jsonREAD

This endpoint allows you to list campaign events in your account. A GET returns the campaign events, listing the most recently created events first. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /campaign_events.json

api
textit_get_campaigns_jsonREAD

This endpoint allows you to list campaigns in your account. A GET returns the campaigns, listing the most recently created campaigns first. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /campaigns.json

api
textit_get_channels_jsonREAD

This endpoint allows you to list channels in your account. A GET returns the list of channels for your organization, in the order of last created. Note that for Android devices, all status information is as of the last time it was seen and can be null before the first sync. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /channels.json

api
textit_get_contacts_jsonREAD

This endpoint allows you to list, create, update and delete contacts in your account. A GET returns the list of contacts for your organization, in the order of last modified. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /contacts.json

api
textit_get_fields_jsonREAD

This endpoint allows you to list custom contact fields in your account. A GET returns the list of custom contact fields for your organization, in the order of last created. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /fields.json

api
textit_get_flow_starts_jsonREAD

This endpoint allows you to list manual flow starts in your account, and add or start contacts in a flow. By making a GET request you can list all the manual flow starts on your organization, in the order of last modified. Each flow start has the following attributes: Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /flow_starts.json

api
textit_get_flows_jsonREAD

This endpoint allows you to list flows in your account. A GET returns the list of flows for your organization, in the order of last created. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /flows.json

api
textit_get_globals_jsonREAD

This endpoint allows you to list, create, and update active globals on your account. A GET returns the globals for your organization, most recently modified first. via GET /globals.json

api
textit_get_groups_jsonREAD

This endpoint allows you to list, create, update and delete contact groups in your account. A GET returns the list of contact groups for your organization, in the order of last created. You can also pass manual_only=1 to restrict the results to static (manual) groups — i.e. those whose members can be added or removed directly (smart and system groups are excluded). Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /groups.json

api
textit_get_labels_jsonREAD

This endpoint allows you to list, create, update and delete message labels in your account. A GET returns the list of message labels for your organization, in the order of last created. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /labels.json

api
textit_get_messages_jsonREAD

This endpoint allows you to list messages in your account. A GET returns the messages for your organization, filtering them as needed. Each message has the following attributes: You can also filter by folder where folder is one of inbox, flows, archived, outbox, sent or failed. Results are sorted by the message creation date, most recent first. Without any parameters this endpoint will return all incoming and outgoing messages ordered by creation date. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /messages.json

api
textit_get_resthook_events_jsonREAD

This endpoint lists recent events for the passed in Resthook. A GET returns the recent resthook events on your organization. Each event has the following attributes: Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /resthook_events.json

api
textit_get_resthook_subscribers_jsonREAD

This endpoint allows you to list, add or remove subscribers to resthooks. A GET returns the subscribers on your organization. Each resthook subscriber has the following attributes: Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /resthook_subscribers.json

api
textit_get_resthooks_jsonREAD

This endpoint allows you to list configured resthooks in your account. A GET returns the resthooks on your organization. Each resthook has the following attributes: via GET /resthooks.json

api
textit_get_runs_jsonREAD

This endpoint allows you to fetch flow runs. A run represents a single contact's path through a flow and is created each time a contact is started in a flow. A GET request returns the flow runs for your organization, filtering them as needed. Each run has the following attributes: Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /runs.json

api
textit_get_tickets_jsonREAD

This endpoint allows you to list the tickets opened on your account. A GET returns the tickets for your organization, most recent first. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /tickets.json

api
textit_get_topics_jsonREAD

This endpoint allows you to list the topics in your workspace. A GET returns the topics for your organization, most recent first. via GET /topics.json

api
textit_get_users_jsonREAD

This endpoint allows you to list the user logins in your workspace. A GET returns the users in your workspace, ordered by newest created first. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /users.json

api
textit_get_workspace_jsonREAD

This endpoint allows you to view details about your workspace. A GET returns the details of your workspace. There are no parameters. via GET /workspace.json

api
textit_post_broadcasts_jsonWRITE

This endpoint allows you to send new message broadcasts and list existing broadcasts in your account. A POST allows you to create and send new broadcasts. Attachments are media object UUIDs returned from POSTing to the media endpoint. You will receive a response containing the message broadcast created: via POST /broadcasts.json

api
textit_post_campaign_events_jsonWRITE

This endpoint allows you to list campaign events in your account. A POST can be used to create a new campaign event, by sending the following data. Don't specify a UUID as this will be generated for you. You will receive an event object as a response if successful: via POST /campaign_events.json

api
textit_post_campaign_events_json_uuid_by_uuidWRITE

This endpoint allows you to list campaign events in your account. A POST can also be used to update an existing campaign event if you specify its UUID in the URL. via POST /campaign_events.json

api
textit_post_campaigns_jsonWRITE

This endpoint allows you to list campaigns in your account. A POST can be used to create a new campaign, by sending the following data. Don't specify a UUID as this will be generated for you. You will receive a campaign object as a response if successful: via POST /campaigns.json

api
textit_post_campaigns_json_uuid_by_uuidWRITE

This endpoint allows you to list campaigns in your account. A POST can also be used to update an existing campaign if you specify its UUID in the URL. via POST /campaigns.json

api
textit_post_contacts_jsonWRITE

This endpoint allows you to list, create, update and delete contacts in your account. You can add a new contact to your account by sending a POST request to this URL with the following JSON data: You will receive a contact object as a response if successful: via POST /contacts.json

api
textit_post_contacts_json_urn_by_urnWRITE

This endpoint allows you to list, create, update and delete contacts in your account. A POST can also be used to update an existing contact if you specify either its UUID or one of its URNs in the URL. Only those fields included in the body will be changed on the contact. If providing a URN in the URL then don't include URNs in the body. Also note that we will create a new contact if there is no contact with that URN. You will receive a 201 response if this occurs. This tool selects the contact by URN (the `urn` argument). It is an UPSERT: TextIt creates a new contact when no contact has that URN and answers 201 (documented in the section above and measured 2026-09-16). Do not include `urns` in the body when selecting by URN. via POST /contacts.json

api
textit_post_contacts_json_uuid_by_uuidWRITE

This endpoint allows you to list, create, update and delete contacts in your account. A POST can also be used to update an existing contact if you specify either its UUID or one of its URNs in the URL. Only those fields included in the body will be changed on the contact. If providing a URN in the URL then don't include URNs in the body. Also note that we will create a new contact if there is no contact with that URN. You will receive a 201 response if this occurs. This tool selects the contact by its UUID (the `uuid` argument); the sibling tool selects by URN. via POST /contacts.json

api
textit_post_fields_jsonWRITE

This endpoint allows you to list custom contact fields in your account. A POST can be used to create a new contact field. Don't specify a key as this will be generated for you. You will receive a field object (with the new field key) as a response if successful: via POST /fields.json

api
textit_post_fields_json_key_by_keyWRITE

This endpoint allows you to list custom contact fields in your account. A POST can also be used to update an existing field if you include it's key in the URL. You will receive the updated field object as a response if successful: via POST /fields.json

api
textit_post_flow_starts_jsonWRITE

This endpoint allows you to list manual flow starts in your account, and add or start contacts in a flow. By making a POST request with the contacts, groups and URNs you want to start down a flow you can trigger a flow start. Note that contacts will be added to the flow asynchronously, you can use the runs endpoint to monitor the runs created by this start. via POST /flow_starts.json

api
textit_post_globals_jsonWRITE

This endpoint allows you to list, create, and update active globals on your account. A POST can be used to create a new Global. Don't specify a key as this will be generated for you. You will receive a global object as a response if successful: via POST /globals.json

api
textit_post_globals_json_key_by_keyWRITE

This endpoint allows you to list, create, and update active globals on your account. A POST can also be used to update an existing global if you specify its key in the URL. You will receive the updated global object as a response if successful: via POST /globals.json

api
textit_post_groups_jsonWRITE

This endpoint allows you to list, create, update and delete contact groups in your account. A POST can be used to create a new contact group. Don't specify a UUID as this will be generated for you. You will receive a group object as a response if successful: via POST /groups.json

api
textit_post_groups_json_uuid_by_uuidWRITE

This endpoint allows you to list, create, update and delete contact groups in your account. A POST can also be used to update an existing contact group if you specify its UUID in the URL. You will receive the updated group object as a response if successful: via POST /groups.json

api
textit_post_labels_jsonWRITE

This endpoint allows you to list, create, update and delete message labels in your account. A POST can be used to create a new message label. Don't specify a UUID as this will be generated for you. You will receive a label object as a response if successful: via POST /labels.json

api
textit_post_labels_json_uuid_by_uuidWRITE

This endpoint allows you to list, create, update and delete message labels in your account. A POST can also be used to update an existing message label if you specify its UUID in the URL. You will receive the updated label object as a response if successful: via POST /labels.json

api
textit_post_messages_jsonWRITE

This endpoint allows you to list messages in your account. A POST can be used to create and send a new message. Attachments are media object UUIDs returned from POSTing to the media endpoint. You will receive the new message object as a response if successful: via POST /messages.json

api
textit_post_resthook_subscribers_jsonWRITE

This endpoint allows you to list, add or remove subscribers to resthooks. By making a POST request with the event you want to subscribe to and the target URL, you can subscribe to be notified whenever your resthook event is triggered. via POST /resthook_subscribers.json

api
textit_post_topics_jsonWRITE

This endpoint allows you to list the topics in your workspace. By making a POST request with a unique name you can create a new topic. via POST /topics.json

api

Put TextIt behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.