Relay

Customers open tickets and rate the help they got; agents work an inbox with SLA chips and internal notes; a lead watches the numbers. An inbound webhook turns email into tickets and an escalation runs every 15 minutes.

Customers sign up. Agents work the queue. A lead watches the numbers.

Relay on desktopRelay on a phone

What's inside

Customer portal with ticket threads and ratings. Agent inbox with SLA chips. Lead dashboard.

Tables

  • customer name, email, company, avatar
  • agent name, email, avatar
  • lead name, email, avatar
  • ticket subject, body, from, priority, category, status, customer_id, assignee_id, …
  • message ticket_id, author_name, author_role, body, at, customer_id
  • note ticket_id, author_name, body, at

Roles

  • customer Customer, consumer
  • agent Agent, staff
  • lead Team lead, staff

Pages

  • /portal My tickets (customer)
  • /dashboard Dashboard (lead)
  • /inbox Queue (agent, lead)
  • /team Team & access (agent)

Components

  • RelayLogin Brand sign-in: form on white, live queue preview with SLA timers and a suggested reply beside it
  • CustomerPortal Customer help centre: my tickets with last reply, conversation, new-ticket sheet with AI triage, CSAT rating
  • AgentInbox Agent queue: SLA-sorted ticket list, filters, thread with reply and internal notes, status, assignment, AI-drafted replies
  • LeadDashboard Lead dashboard: KPI strip, tickets needing attention, priority mix, 7-day volume, CSAT, agent workload

Rules on every write

  • ticket Ticket change refused
  • message Message refused

How its workflows run

Each one is a server workflow in your project: it runs on its trigger, with retries, and its runs show in the builder's log.

  1. Email to ticket

    When a webhook arrives: webhook email-to-ticket. Then: Record a row.

  2. Fill ticket defaults and alert agents

    When a row changes: ticket created. Then: Update ticket, then Notify.

  3. Escalate tickets past SLA

    On a schedule: schedule every 15m over ticket. Then: Look up ticket, then Update ticket, then Notify.

  4. Tell the customer about an agent reply

    When a row changes: message created. Then: Notify, then Send email.

  5. Invite a rating when solved

    When a row changes: ticket updated, when status is solved. Then: Notify.

Set it up

It starts a new project, with its data, roles and sign-in ready.

  1. Start the project

    Use the button above, or ask your coding agent with the Appbricx MCP server connected (quickstart).

  2. Sign in as each role

    The demo logins open each role's home. Change what you like in plain words or in the contract.

  3. Deploy

    When dev looks right, deploy. Production gets a snapshot first, so you can roll back.

Use it with your coding agent

The agent creates the project, builds it and signs in as each role.

Prompt
Start a new Appbricx project from the Relay template (slug "relay") with use_template. Call it "My Relay", then sign in as each role, verify it and tell me what to change first.
MCP call
{
  "tool": "use_template",
  "arguments": {
    "slug": "relay",
    "name": "My Relay"
  }
}
CLI
appbricx templates use relay --name "My Relay"

Make it yours in plain words.