Tickets and escalation

Hand a conversation to a human without leaving your agent.

Create a ticket

Send the transcript so the human picking it up has the full context. Urgency drives routing and SLA.

curl -X POST https://app.humaner.io/api/v1/intelligence/create-ticket \
  -H "Authorization: Bearer hm_live_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "agentId": "YOUR_AGENT_PUBLIC_ID",
    "visitorEmail": "alex@example.com",
    "subject": "Refund request",
    "transcript": [
      { "role": "user", "content": "I was charged twice" },
      { "role": "assistant", "content": "I can open a ticket for that." }
    ]
  }'

Detecting escalation

If you would rather not write your own frustration heuristics, POST the message to /api/v1/intelligence/escalation. It returns a signal you can act on. This call is not billable.

curl -X POST https://app.humaner.io/api/v1/intelligence/escalation \
  -H "Authorization: Bearer hm_live_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "agentId": "YOUR_AGENT_PUBLIC_ID",
    "conversationHistory": [
      { "role": "user", "content": "This is the third time I am asking" }
    ]
  }'

Where tickets land

Tickets arrive in Desk with routing, urgency, and SLA tiers. Your team replies there. Escalation policies are configured under Agent → Escalation.

Helpdesk

3 open

Refund request — order #4521

Open

Cannot access billing portal

In progress

Room modification July 12

Open

Refund request — order #4521

medium

Customer asked about return policy for order #4521. Agent could not verify purchase date from live data.

Transcript

“Can I still return this? I bought it three weeks ago.”

Assignee: —returnsOpen