Support
contact_support — write to a human, with the account context and the troubleshooting already attached.
Everything else on agenthost is something your agent does for you. This one is what happens when it
cannot: contact_support opens a ticket with the people who build agenthost, in your name, and
returns a reference to quote.
It is deliberately the last step. An agent that can read the docs, pull an app's logs and try the fix should do all three first, and the tool asks it to say what it tried before it is allowed to write in.
contact_support
Open a support ticket and get back a reference. Your message becomes the ticket's opening line, in your name, and support replies to you by email, not through the MCP connection.
| Parameter | Type | Description |
|---|---|---|
summary | string, required | One line naming the problem. Becomes the subject. |
message | string, required | What the customer wants to say, in their own words. |
troubleshooting | string, required | What the agent already tried, and what each attempt did. |
name | string | Who to address the reply to. Defaults to the signed-in user. |
email | string | Where support writes back. Defaults to the signed-in user's address. |
agent | string | Which agent is calling, and its version. |
system | string | The machine it runs on: OS, local runtime versions. |
technical | string | Error text, log lines, ids, any AH-CFG-* code that was shown. |
app_id | uuid | The app this is about, when it is about one. |
Works while an account is suspended. That is usually when someone most needs a person, and every other tool is refusing them by then.
What gets attached
Half the message is written by the server, not by the agent, so nobody has to gather it and nobody can get it wrong:
- Who is writing. The user, their role, the customer, and the account id.
- What they are on. The plan, the subscription status, how many apps, static sites and users are in use, and whether the account is suspended.
- What they have built. Every app with its address, runtime, live status and whether it is
really hosted or simulated. The app named in
app_idcomes first, with its last deploy and any provisioning error. - Where the call came from. The agent and system as reported by the caller, which instance served it, and the time.
Env values, tokens and keys are never attached, and never belong in technical either. Support has
never needed one to answer a question.
The reference
Every request gets a code like AH-SUP-4B71C0. It leads the subject line, so quoting it in a later
email finds the same thread. Hold on to it if you write in again about the same thing.
The reply comes by email
There is no ticket queue for you to poll and no status to read back. The request lands in
agenthost's helpdesk, and the answer arrives in the inbox the request named, from a person, usually
the same working day. If this instance cannot reach support at all, the tool says so and hands back
the message it composed so you can send it to support@agenthost.eu yourself.
reply_to_support
To continue a thread that already exists — answering a question support asked, or sending the detail
they wanted — use reply_to_support rather than contact_support. It adds the customer's words to
the existing ticket so the conversation stays in one place, instead of opening a duplicate.
| Parameter | Type | Description |
|---|---|---|
reference | string, required | The ticket's code, e.g. AH-SUP-4B71C0 — from contact_support or the top of support's email. |
message | string, required | The customer's follow-up, in their own words. |
The reference resolves to the conversation only within the account that opened it, so a guessed reference reaches nothing, and it needs nothing else: the account context is already on the thread. If the reference matches no ticket on the account it says so rather than guessing. Reply-in-place needs the helpdesk API; on an instance without it, the customer simply replies to support's email quoting the reference.
Reading a ticket back
read_support_ticket fetches a ticket's customer-visible thread by its reference — support's replies
and the customer's own messages, in order — so you can see whether a human has answered without
leaving the connection. list_support_tickets lists the account's tickets, newest first, when the
reference isn't to hand. Internal context notes are never returned.
Rate limit
Five requests per hour per customer, shared across contact_support and reply_to_support. An agent
stuck in a retry loop is the reason: without a ceiling, one bad afternoon arrives in the helpdesk as a
hundred copies of the same thread. A refusal names the support address, so a real emergency still gets
through.