Textline MCP by usefulapi

io.usefulapi/textline

Read Textline conversations, contacts and reports; send a text, add notes, resolve or transfer.

Yes, your AI can use this right now.Answered a live MCP handshake in 132 ms with no sign-in needed and exposes 23 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://textline.usefulapi.io/mcp

23 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
textline_list_conversationsread-only

List conversations (one per contact) in a department of the Textline shared inbox, with the contact and resolved status. Optional keyword search. GET /api/conversations.json.

textline_get_conversationread-only

Retrieve one conversation and its posts (messages in and out, internal whispers, resolve/transfer events), newest page first. Page with page/page_size or with before_uuid/after_uuid (a post uuid). GET /api/conversation/{uuid}.json.

textline_get_conversation_by_phoneread-only

Retrieve the conversation with a phone number (in a department) and its posts (messages). GET /api/conversations.json?phone_number=….

textline_list_customersread-only

List or search contacts (customers) in the Textline address book: name, phone, email, tags, notes, custom fields, consent and reachability. GET /api/customers.json.

textline_get_customerread-only

Retrieve one contact (customer) from the address book by UUID. GET /api/customer/{uuid}.json.

textline_get_customer_by_phoneread-only

Retrieve one contact (customer) from the address book by phone number. GET /api/customers.json?phone_number=….

textline_list_custom_fieldsread-only

List the address book's custom fields (name, data type, UUID). Use the UUIDs with textline_update_customer. GET /api/address_book/custom_fields.json.

textline_list_saved_searchesread-only

List the address book's saved searches (contact segments) with name, description and UUID. GET /api/address_book/saved_searches.json.

textline_get_organizationread-only

Retrieve the organization (account) name, optionally with its departments and agents. GET /api/organization.json.

textline_list_departmentsread-only

List the departments (groups / inbox phone lines) the token's agent can see: name, UUID, phone number, type (sms, facebook, smart_sms) and member agent UUIDs. GET /api/groups.json.

textline_list_agentsread-only

List the agents (users) in the organization: name, email, UUID, permission level, availability and department UUIDs. GET /api/organization.json?include_users=1.

textline_get_agentread-only

Retrieve one agent (user) by UUID or email: name, permission level, availability (on_call) and departments. GET /api/users.json.

textline_list_dispositionsread-only

List the dispositions (resolution reasons) set up in the account, optionally for one department. Use a UUID with textline_resolve_conversation. GET /api/dispositions.json.

textline_list_surveysread-only

List surveys (NPS, CSAT, custom) with their type and UUID. GET /api/surveys.json.

textline_list_survey_responsesread-only

List the responses to one survey (ratings, follow-up text, contact, tags). Default: the last 30 days. GET /api/survey/{uuid}/responses.json.

textline_report_conversationsread-only

Reporting API: list a department's conversations filtered by created/updated time, resolved, archived or blocked, with total_records. To get the next page pass the returned next.search_uuid, next.page and next.page_size exactly (the same filters are kept). Then use textline_report_posts per conversation. GET /api/reporting/conversations.json.

textline_report_postsread-only

Reporting API: list all posts (messages, whispers) of one conversation with creator, thread, first-response flags, filtered by created time, with total_records. To get the next page pass the returned next.search_uuid, next.page and next.page_size exactly. GET /api/reporting/conversation/{uuid}/posts.json.

textline_send_messagecan modify

SENDS A REAL SMS/MMS to ONE contact from your Textline number — the customer receives it immediately and it cannot be unsent; it consumes message credits. Address it by conversation_uuid or by phone_number (+ optional department). Confirm the recipient and text with the user first. One recipient per call; no bulk sends. POST /api/conversation/{uuid}.json or POST /api/conversations.json.

textline_add_whisper

WRITE: add an internal whisper (a note only your agents see, never sent to the customer) to a conversation, by conversation_uuid or phone_number. POST /api/conversation/{uuid}.json or POST /api/conversations.json with a whisper.

textline_resolve_conversation

WRITE: mark a conversation resolved (closed), optionally with a disposition from textline_list_dispositions. Nothing is sent to the customer. POST /api/conversation/{uuid}/resolve.json.

textline_transfer_conversation

WRITE: assign a conversation to another agent of the same department, by agent UUID or email (one of them). Nothing is sent to the customer. POST /api/conversation/{uuid}/transfer.json.

textline_create_customer

WRITE: add a contact (customer) to the Textline address book. Sends nothing to the contact. POST /api/customers.json.

textline_update_customercan modify

WRITE: update a contact's name, email, notes, tags (add, remove or replace) or custom fields (by custom-field UUID from textline_list_custom_fields). Overwrites the fields you pass; sends nothing to the contact. PUT /api/customer/{uuid}.json.

Alternatives in Productivity

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”