Relay docs
Getting started

AI agents

Named AI characters that answer conversations — each with its own persona, tools, knowledge, and assignments.

Relay workspaces have AI agents: named characters that answer customer conversations. Every workspace has one default agent, and you can create more — one per product, one per audience, or specialized agents for specific inboxes. This works identically for Shopify apps, Shopify stores, and any SaaS product.

The model in one paragraph

An agent is a character (name, avatar, expressions, personality) plus a brain (instructions, playbooks, knowledge sources, model choice) plus a toolbox (built-in tools, page actions). Conversations resolve their agent in a fixed order: the conversation's own agent (snapshotted when the AI first takes over, so the character never changes mid-chat) → the inbox's agentthe product's agentthe workspace default agent.

The default agent

Every workspace has exactly one default agent — the fallback that answers any conversation no product or inbox assignment claims. If you never assign anything, the default agent answers everything; assignments carve conversations away from it. Change which agent is the default from any agent's Assignments section ("Make default").

Where to configure

WhatWhere
Create/edit agentsAI Agents in the sidebar
Assign products and inboxes to an agentThe agent's Assignments section (toggle what it answers)
Assign from the product sideSettings → Products → your productAI agent
Declare page actions the agent can runSettings → Products → your productActions
Workspace-wide AI (compose, auto-labeling, analytics)Workspace AI (Settings → AI)

Byte, the built-in character

Byte is Relay's built-in intern robot: earnest, upbeat, and honest about being an AI. Add Byte from the AI Agents page — the character arrives with a working persona, instructions, and sensible tool defaults, and you can edit everything afterwards.

What agents know

Before the first reply, the agent is given the customer's account context: their open help desk tickets and statuses, feature requests they created or voted for, and their (and their company's) recent conversations across channels. It can also look things up mid-conversation with three read tools:

  • get_ticket_status — the live status of one of the customer's tickets, checked before making any claim about progress.
  • list_previous_conversations — the customer's recent conversations on other channels.
  • search_feature_requests — feature requests by keyword, with status and vote counts.

These tools are read-only, scoped to the conversation's verified customer, and can be switched off per agent under the Tools tab.

Expressions

Each agent can have an expression set — one sprite per emotion (neutral, hello, happy, thinking, investigating, found_it, confused, oops, escalating, celebrating, sleeping, love). The chat widget shows the matching face on each reply: thinking while composing, celebrating when an issue resolves, a sheepish "oops" with an apology. Upload sprites per emotion under the agent's Character tab; any missing emotion falls back to the avatar.

Tools and safety

Built-in tools (knowledge search, ticket creation, contact updates, resolution) are toggled per agent; core tools are always on. Page actions — things your own site can do, like printing a receipt — are declared per product and executed through the widget actions bridge. Two safety rules apply everywhere:

  1. Everything the model reads is authored in the dashboard. Your page can only announce which declared actions it can serve — it can never inject tool descriptions.
  2. Confirmation-gated actions are enforced in code. An action marked "confirm first" refuses to run unless the customer's previous message was a clear yes.

On this page