InTouch Hub · Blue Isle Software

Tidio

Manage Tidio live chat conversations, contacts, and support tickets via the Tidio Public API.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

contactsemaillive-chatmessagestatussupport-helpdesktickettickets

Tidio

Manage Tidio live chat contacts and support tickets via the Tidio Public API.

What it does

Authentication

Tidio uses two custom HTTP headers for every request:

Header Value
X-Tidio-Openapi-Client-Id Your Client ID (ci_…) — mapped to apiKey input
X-Tidio-Openapi-Client-Secret Your Client Secret (cs_…) — mapped to clientSecret input

To generate credentials: Tidio Panel > Settings > Developer > OpenAPI > Generate keys.
Only project owners and administrators can create API keys.

Inputs

Input Required Description
apiKey yes Tidio Client ID (ci_…)
clientSecret yes Tidio Client Secret (cs_…)
operation yes One of the six operations listed above
contactId for get_contact UUID of the contact
ticketId for get_ticket / update_ticket UUID of the ticket
email for create_contact Contact email address
firstName for create_contact Contact first name
lastName for create_contact Contact last name
phone for create_contact Contact phone number
distinctId for create_contact Your own unique ID for the contact (required by Tidio, max 55 chars)
emailCursor optional Filter list_contacts results by email
cursor optional Pagination cursor from a previous list response
ticketStatus for update_ticket open, pending, or solved
ticketPriority for update_ticket low, normal, or urgent

Outputs

Output Description
result Raw JSON response body from the Tidio API
status HTTP status code as a string (e.g. "200")

Examples

List contacts:

{
  "apiKey": "ci_abc123",
  "clientSecret": "cs_xyz789",
  "operation": "list_contacts"
}

Get a contact by ID:

{
  "apiKey": "ci_abc123",
  "clientSecret": "cs_xyz789",
  "operation": "get_contact",
  "contactId": "a1b2c3d4-1234-5678-abcd-ef0123456789"
}

Create a contact:

{
  "apiKey": "ci_abc123",
  "clientSecret": "cs_xyz789",
  "operation": "create_contact",
  "distinctId": "crm-user-1042",
  "email": "[email protected]",
  "firstName": "Jane",
  "lastName": "Smith"
}

List open tickets (paginated):

{
  "apiKey": "ci_abc123",
  "clientSecret": "cs_xyz789",
  "operation": "list_tickets"
}

Resolve a ticket:

{
  "apiKey": "ci_abc123",
  "clientSecret": "cs_xyz789",
  "operation": "update_ticket",
  "ticketId": "e6a82a74-1170-4f57-a031-b36f3f6bc093",
  "ticketStatus": "solved"
}

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
apiKey string yes — Tidio OpenAPI Client ID (prefixed ci_). Get from Tidio Panel > Developer > OpenAPI.
clientSecret string yes — Tidio OpenAPI Client Secret (prefixed cs_). Get from Tidio Panel > Developer > OpenAPI.
operation string yes — One of: list_contacts, get_contact, create_contact, list_tickets, get_ticket, update_ticket
contactId string no — Contact UUID for get_contact.
ticketId string no — Ticket UUID for get_ticket or update_ticket.
email string no — Contact email for create_contact (at least one of email/firstName/lastName/phone required).
firstName string no — Contact first name for create_contact.
lastName string no — Contact last name for create_contact.
phone string no — Contact phone number for create_contact.
distinctId string no — Your own unique identifier for create_contact (max 55 chars). Required by Tidio.
emailCursor string no — Filter contacts by email address for list_contacts.
cursor string no — Pagination cursor from a previous response for list_contacts or list_tickets.
ticketStatus string no — New ticket status for update_ticket: open, pending, or solved.
ticketPriority string no — New ticket priority for update_ticket: low, normal, or urgent.