InTouch Hub · Blue Isle Software

Kayako

Create and track support cases and conversations in Kayako via the Kayako REST API v1.

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.

casesemailhelpdesklogmessagestatussupportsupport-helpdesk

Kayako

Create and track support cases and conversations in Kayako via the Kayako REST API v1.

What It Does

Provides four operations against the Kayako REST API:

Operation HTTP Endpoint
list_cases GET /api/v1/cases.json
get_case GET /api/v1/cases/{caseId}.json
create_case POST /api/v1/cases.json
list_posts GET /api/v1/cases/{caseId}/posts.json
reply_case POST /api/v1/cases/{caseId}/reply.json

Authentication

Kayako uses HTTP Basic Authentication:

Authorization: Basic base64(email:password)

The apiKey input takes the literal email:password string — the tool base64-encodes it before sending.

Getting your credentials: 1. Log in to your Kayako instance as an agent or admin. 2. Use your agent email address and account password. 3. Set instance to your subdomain (e.g. acme for acme.kayako.com).

Inputs

Field Required Description
apiKey Yes email:password credential pair for Basic auth
instance Yes Kayako subdomain (e.g. acme for acme.kayako.com)
operation Yes One of: list_cases, get_case, create_case, list_posts, reply_case
caseId Conditional Case ID — required for get_case, list_posts, reply_case
subject Conditional Case subject — required for create_case
contents Conditional Message body — required for create_case and reply_case
channel Optional Channel for create_case: MAIL, NOTE (default: MAIL)
channelId Conditional Channel ID — required for create_case when channel is MAIL
requesterId Optional Requester user ID (integer) for create_case
priorityId Optional Priority ID (integer) for create_case

Outputs

Field Description
result JSON response body from the Kayako API
status HTTP status code as a string (e.g. 200, 201)

Examples

List open cases

{
  "input": {
    "apiKey": "[email protected]:s3cr3t",
    "instance": "acme",
    "operation": "list_cases"
  }
}

Get a specific case

{
  "input": {
    "apiKey": "[email protected]:s3cr3t",
    "instance": "acme",
    "operation": "get_case",
    "caseId": "12345"
  }
}

Create a new internal note case

{
  "input": {
    "apiKey": "[email protected]:s3cr3t",
    "instance": "acme",
    "operation": "create_case",
    "subject": "Server is down",
    "contents": "Customer reported the API is returning 503 errors since 14:00 UTC.",
    "channel": "NOTE",
    "requesterId": "789"
  }
}

Add a reply to an existing case

{
  "input": {
    "apiKey": "[email protected]:s3cr3t",
    "instance": "acme",
    "operation": "reply_case",
    "caseId": "12345",
    "contents": "Thank you for reaching out. We are investigating and will update you shortly."
  }
}

List all posts/messages in a case

{
  "input": {
    "apiKey": "[email protected]:s3cr3t",
    "instance": "acme",
    "operation": "list_posts",
    "caseId": "12345"
  }
}

API Reference

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 DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change.
operation string yes One of: list_cases, get_case, create_case, list_posts, reply_case
instance string no Your Kayako instance subdomain (the {instance} in https://{instance}.kayako.com). Required.
caseId string no Case id for get_case, list_posts, and reply_case.
subject string no Subject line for create_case.
contents string no Message body for create_case, or the reply text for reply_case.
channel string no Channel for create_case: MAIL, TWITTER, FACEBOOK, or NOTE (defaults to MAIL).
channelId string no Channel id for create_case (required for all channels except NOTE).
requesterId string no Requester user id (integer) for create_case.
priorityId string no Optional priority id (integer) for create_case.