Konradodocs

Connect a custom help desk

Connect a help desk Konrado has no ready integration for. Your developer builds a small API, and Konrado reads and answers your tickets through it.

With a custom help desk connected, Konrado reads your tickets, drafts replies and knows the client behind each ticket, the same way it does with WHMCS. It takes developer work on your side. Your help desk must answer the Konrado plugin API: a set of web addresses that return tickets, clients and products in the format Konrado reads. The Konrado addon for WHMCS answers the same API.

What Konrado reads

DataHow it helps
Tickets and their messagesKonrado writes the reply from what the customer wrote
DepartmentsYou choose which departments Konrado works with
The people on your team in the help deskAn auto reply goes out from the person you pick
Ticket statusesAn auto reply can set the ticket's status
Clients, their services and invoicesKonrado knows who wrote and what they pay for
Products, add-ons, promotions and domain pricesYour catalog becomes part of the Knowledge Base
Closed ticketsPast tickets learn from how your team answered. Resolved tickets is on by default. You can pause it in the Knowledge Base

What Konrado writes

WriteWhen
A reply on a ticketOnly when Auto replies are Live. Konrado never posts a Copilot draft itself
A new ticketWhen a visitor sends the ticket form in your live chat, under Escalations

What Konrado cannot do

Not possibleWhy
Change anything else in your help deskKonrado calls only the routes your developer builds. See the routes
Read a ticket outside the ticket scopeThe departments, blocked tags and blocked senders on the connection decide what Konrado sees
Run next to a second help deskYour organization has one help desk at a time
Work while your API is downThe connection turns Not working until the API answers again
Security model

Konrado calls your API with the API Key. Your help desk sends ticket events to Konrado with the Webhook token. Konrado made the API Key for your module, so an admin can read it again under Manage. Konrado keeps only a fingerprint of the webhook token, so it shows the token in full once. New token replaces it.

Example ticket questions
  • "Is my invoice from last week paid?"
  • "Which plan am I on, and when does it renew?"
  • "Why was my service suspended?"
  • "Can you check the status of my other ticket?"

Before you start

  • Your developer has built the API on your help desk, and the module that sends ticket events. The console calls them your Konrado module. See what your developer builds.
  • An owner or admin account in Konrado.
  • No other help desk connected in Konrado.
  • If your help desk is behind a firewall, allow Konrado's IP addresses.

Connect

Open the form

Open Workspace SettingsIntegrations, click Add integration, choose Help desk, then Custom help desk.

Fill in the address

FieldWhat to enter
Integration NameA name your team knows. The help desk channel carries it
API Base URLWhere your API answers, for example https://yourdomain.com/api. Konrado adds /v1/tickets and the other routes to it
Ticket URLOptional. Where your team opens a ticket. Konrado fills it in from your first ticket when you test the connection

Copy the keys into your module

The Keys for your Konrado module box holds two values, each with a copy button. Paste both into your module.

  • API Key: Konrado made it. Use my own key lets you type one your module already has.
  • Webhook token: you see it in full only now. Copy it before you click Connect.
The Keys for your Konrado module box: the API Key with its copy button and Use my own key, and the Webhook token with its copy button

Keep the form open while you paste. The keys are saved only when you click Connect.

Test and connect

Click Test Connection. Konrado reads one ticket through your API. When the test passes, click Connect.

Check it works

The integration shows Connected in the table. Konrado adds an agent named Ticket Agent, with a Helpdesk channel for this help desk and Copilot on. Open a test ticket in your help desk: it appears in the Inbox. Set up the Helpdesk channel.

What your developer builds

The API

Konrado calls these routes under your API Base URL. Every call carries the API Key in the Authorization header as Token <API Key>, and the same value in AuthorizationX for servers that drop Authorization.

RoutesKonrado uses them for
GET /v1/tickets, GET /v1/tickets/{id}The connection test, reading tickets and Past tickets
POST /v1/tickets/{id}/send-replySending an auto reply: the text in Markdown, the sender's e-mail and the new status
POST /v1/ticketsOpening a ticket from the live chat
GET /v1/departmentsThe ticket scope and the live chat's ticket form
GET /v1/agents, GET /v1/ticket-statusesThe sender and the status of an auto reply
GET /v1/clients, GET /v1/clients/{id}Finding the client behind a ticket or a chat
GET /v1/clients/{id}/services, GET /v1/clients/{id}/invoicesThe client's services and invoices
GET /v1/clients/{id}/services/{service_type}/{service_id}/invoicesThe invoices of one service
GET /v1/clients/{id}/services/{service_type}/{service_id}/ssoSSO to server in the browser extension
GET /v1/products, GET /v1/product-addons, GET /v1/promotions, GET /v1/tlds/pricingThe product catalog
GET /v1/infoThe version shown on the connection
GET /v1/check-domain-availability/{domain}Checking whether a domain is free

The connection test calls GET /v1/tickets?limit=1&offset=0. GET /v1/info, the catalog routes and the domain route are optional. A catalog route that answers 404 tells Konrado the catalog is not available, and Konrado keeps the copy it stored.

POST /v1/tickets gets department_id, subject, message and requester_email, plus client_id for a signed-in customer and requester_name when Konrado knows it. It answers with the new ticket's id under data.

Open the API reference for the fields of each route.

The ticket events

When a ticket changes, your module posts an event to Konrado:

  • URL: https://app.konrado.ai/api/v1/webhooks/ticket, method POST.
  • Authorization header: the webhook token as it is, with no prefix.
  • Content-Type header: application/json.
eventTypeSend it whenThe body carries
ticket.updatedAnything about a ticket changes: a new ticket, a reply, a note, the status, the subject, the departmentdata: the whole ticket, in the shape GET /v1/tickets/{id} returns
ticket.deletedA ticket is deletedticketId
ticket.mergedTickets are mergedticketId of the ticket that stays and mergedTicketIds of the ones merged into it. Send the ticket that stays as ticket.updated too

Every body also carries source, the name of your platform. Konrado knows your help desk by the token, not by source. After a ticket.updated, Konrado reads the ticket again through GET /v1/tickets/{id}.

{
  "source": "my-helpdesk",
  "eventType": "ticket.deleted",
  "ticketId": "1042"
}

Konrado answers 202 when it queued the ticket, 200 when it handled the event at once, and 401 when the token is missing or wrong.

Choose which agents use the lookups

In your live chat, Konrado can look up a signed-in customer's services, invoices, tickets and account details, and the server tools of their service. The Tools tab of the connection lists these lookups. Every agent may use them. To limit one, click it and choose Chosen agents.

The lookups run only for customers your website signs in to the chat. Set up identity verification.

The Tools tab of a connected custom help desk: five lookups for logged-in customers, each used by All agents

If something is wrong

What you seeWhat to do
Test Connection failsYour API must answer GET /v1/tickets?limit=1&offset=0 under the API Base URL, with the API Key from the form
Another help desk is already connected. Disconnect it first.Your organization has one help desk at a time. Disconnect the other one under Integrations
The integration turns Not workingCheck that your API is online and that your module still has the API Key shown under Manage
Tickets do not reach KonradoCheck that your module posts to the URL above with the current webhook token. A 401 means the token is wrong, or someone created a New token
The product catalog source says The support platform did not serve products (HTTP 404), so this source could not be refreshed.Your API has no catalog routes yet. Konrado keeps the products it stored

Remove the integration

Open Workspace SettingsIntegrations, open the row menu (...) and click Disconnect. Konrado stops reading tickets. The credentials and the ticket history stay, so you can reconnect later. Then turn off the events in your module.

Last updated on

On this page