Reply to a ticket
Emails 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
From your agent’s balance. A call that fails costs nothing.
An example
Tell Paul we'll touch up the top tube next week, send him the photo of the paint match, and set the ticket to waiting on him.
Your agent callsticket_reply$0.05 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.
{
"number": 87,
"status": "pending",
"body": "Hello Paul,\n\nwe are sorry about the scratch. We can pick the bike up on Tuesday, touch up the top tube in our workshop and bring it back on Thursday. A photo of the paint match is attached. Does that work for you?\n\nHalverson Support",
"attachments": [
"6e8a0c2e-4b6d-4f8a-8d2f-7c9e1a3b5d7f"
]
}Use it when
A ticket needs an answer to the customer, or a note for the team.
- For an answer in the website chat, use
chat_reply. - For an email that belongs to no ticket, use
email_send.
What it does
Email the requester a reply (internal=false) or add a private note only the team sees (internal=true). A reply goes out from the ticket's support inbox in the same email thread, so the customer's answer comes back to this ticket (inbox picks another support inbox); without one it is Conecto's standard ticket email. template sends a saved reply and applies its status and tags; body, if also given, goes above it. attachments: files of the file store, sent with a reply from a support inbox. status sets the status afterwards (pending = waiting on the customer, resolved = done); without it a reply reopens a resolved ticket.
What comes back
The ticket in full after the reply, and the rating request when resolving it emailed a survey. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
numberRequired | integer | The ticket number, e.g. 42 for ticket #42. At least 1. |
body | string | Up to 8,000 characters. |
internal | boolean | Default: false. |
template | string | Up to 80 characters. |
by_person | boolean | true when a person at the business wrote it. Otherwise a last line says the business's AI assistant wrote it (EU AI Act Art. 50). Default: false. |
status | string | One of: open,pending,resolved. |
inbox | string | Up to 254 characters. |
attachments | array of strings | File ids from the file store (files_list), up to 10 files and 25 MB together. Replies from a support inbox only. Up to 10 items. |
The call
Over MCP, call ticket_reply on https://api.conecto.chat/mcp/helpdesk. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/ticket_reply \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"number":87,"status":"pending","body":"Hello Paul,\n\nwe are sorry about the scratch. We can pick the bike up on Tuesday, touch up the top tube in our workshop and bring it back on Thursday. A photo of the paint match is attached. Does that work for you?\n\nHalverson Support","attachments":["6e8a0c2e-4b6d-4f8a-8d2f-7c9e1a3b5d7f"]}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
not_found404 | No ticket of the business has that number. | Find it with ticket_list and use its number. |
not_found404 | No saved reply has that template name, no support inbox has that address, or an attachment is not a file in the store. | Use a name from ticket_list_templates, an inbox from email_list_inboxes and file_ids from files_list. |
conflict409 | The ticket was merged into another. | Reply on the ticket the message names. |
invalid_input400 | Neither body nor template was given, attachments were given with an internal note, or there are more than 10. | Send a body, a template or both; attach files to replies only, up to 10. |
no_support_inbox409 | Attachments go out from a support inbox, and the ticket has none. | Connect one with ticket_connect_inbox, or pass inbox. |
too_many422 | The ticket would hold more tags or custom fields than it may. | Remove some with remove_tags, or set fields to null, first. |
too_large413 | The attachments add up to more than 25 MB. | Send big files as download links from files_get. |
unsupported_type400 | Email cannot carry a file of that kind (like .exe or .js). | Send a download link from files_get instead. |
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 reply was saved on the ticket, but the email could not be sent. | Call again in a moment to send it; the message says what failed. |
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* - Open a ticket
ticket_createOpens a support ticket for a customer request; the customer is emailed only if you ask.$0.01 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