Open a ticket
Opens a support ticket for a customer request; the customer is emailed only if you ask.
$0.01 a call
From your agent’s balance. A call that fails costs nothing.
An example
Paul Hoffmann called: the Tabor gravel bike we shipped him arrived with a scratch on the top tube. Open a high-priority ticket with order 2231 on it.
Your agent callsticket_create$0.01 a call
The example business is Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon. The reply is the one the tool really gives.
{
"email": "paul.hoffmann@example.com",
"name": "Paul Hoffmann",
"subject": "Scratch on the Tabor's top tube",
"message": "Called on Wednesday: the Tabor gravel bike delivered on Monday has a 3 cm scratch on the top tube. He would like it touched up or the frame swapped.",
"priority": "high",
"category": "Damaged delivery",
"tags": [
"damage"
],
"fields": {
"order_id": "2231"
}
}Use it when
A request came by phone, chat or in person and should be tracked as a ticket.
- For turning every email to an inbox into tickets, use
ticket_connect_inbox.
What it does
Open a support ticket for a customer request (email to a support inbox opens one by itself; see ticket_connect_inbox). The requester is not emailed unless email_requester is true: then they get the usual acknowledgement, from the account's support inbox when it has one, so their answer comes back to this ticket.
What comes back
The ticket as opened, and with email_requester: true, whether the acknowledgement email went out. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
emailRequired | string | Up to 254 characters. |
name | string | Up to 255 characters. |
messageRequired | string | 1 to 20,000 characters. |
subject | string | Defaults to the first line of message. Up to 200 characters. |
priority | string | One of: low,normal,high,urgent. |
category | string | Up to 80 characters. |
tags | array of strings | Short labels like "refund" or "vip" (kept lower-case, spaces become dashes). Up to 20 items. |
fields | object | Custom fields like {"order_id": "1042"}, merged into the ticket's fields; null removes one. |
company_id | integer | The CRM company this request is about. At least 1. |
email_requester | boolean | Default: false. |
The call
Over MCP, call ticket_create on https://api.conecto.chat/mcp/helpdesk. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/ticket_create \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"email":"paul.hoffmann@example.com","name":"Paul Hoffmann","subject":"Scratch on the Tabor'\''s top tube","message":"Called on Wednesday: the Tabor gravel bike delivered on Monday has a 3 cm scratch on the top tube. He would like it touched up or the frame swapped.","priority":"high","category":"Damaged delivery","tags":["damage"],"fields":{"order_id":"2231"}}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
invalid_input400 | A tag has characters a tag cannot have. | Use up to 40 letters, digits, dashes, dots, colons or slashes, starting with a letter or digit. |
not_found404 | No company of the business has that company_id. | Find it with crm_find_companies and use its id. |
payment_required_for_outbound402 | The balance is still free credit, which cannot email people outside the business. | Top up once (POST /v1/topups); after that email to outsiders works. |
new_recipient_limit429 | The business has emailed as many new addresses today as it may. | Send to these people tomorrow. Replies and people who wrote first are not limited. |
sending_paused403 | Email from the business is paused after bounces, complaints or emails refused as cold outreach. | Tell the owner; Conecto reviews the pause before sending resumes. |
suppressed422 | An address bounced, complained or unsubscribed before. | Remove the addresses the message lists and send again. |
found_by_lookup422 | An address was found or checked with Conecto's lookups; a Conecto inbox never writes to it first. | Write from the business's own mailbox (google_mail_send or m365_mail_send). |
cold_email422 | The email looks like cold outreach, a pitch or a request to people who never wrote to the business, so it wasn't sent. The third within 7 days pauses the account's email. | Email only people who wrote first or asked to hear from the business. |
check_unavailable503 | The check an email to someone new goes through couldn't run just now. | Try again in a minute. |
send_failed502 | The email service did not accept the email. | Call again in a moment. |
sending_unavailable503 | Email to outsiders is not possible yet while the sending account is in review. | Send to the owner's address for now, or try again later. |
More Help desk tools
All 13 tools- List tickets
ticket_listTickets, newest activity first, filtered by status, priority, requester, tag, field or contact, or as a work queue.Free* - Read a ticket
ticket_getOne ticket with its request, every reply, customer message and note, its fields, SLA state and rating.Free* - Reply to a ticket
ticket_replyEmails the requester a reply in the ticket's thread, with files if needed, or adds a private note, and can set the status.$0.05 a call - Update a ticket
ticket_updateChanges a ticket's status, priority, category, subject, tags, fields, assignee, or the CRM records it is about.$0.01 a call - Merge tickets
ticket_mergeMerges a duplicate ticket into another: its messages, notes, email threads, tags and fields move over.$0.01 a call - Connect a support inbox
ticket_connect_inboxMakes an inbox a support inbox: every new email to it opens a ticket, and replies stay in its thread.$0.001 a call - Save a canned reply
ticket_save_templateSaves a canned reply under a name, with the status and tags it applies whenever it is sent.$0.001 a call - List canned replies
ticket_list_templatesEvery saved reply with its text, status and tags.Free*
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md