Lithify / docs PRIVATE BETA
Docs / Agents / Assigning

Assigning agent

Decides who a brief should go to, by applying a routing policy you write in plain language. Give it your team's rules — "checkout bugs go to the coding agent, billing questions go to Alice" — and it picks the right person or agent for each brief as it arrives.

Fires from a workflow rule Multiple instances per project Routes to people and agents

Writing the policy

The prompt is the whole feature. Write one rule per line — the agent reads it verbatim, along with the brief and the list of everyone it's allowed to choose from.

Bugs in the checkout or payment flow → @coding
Billing and invoice questions → alice@acme.com
Anything about the public API docs → bob@acme.com
Anything a customer is angry about → @mailer

Refer to agents by their @slug and to teammates by their email address. Both are listed for the model at run time, so it can only ever pick someone who actually exists — if it names anyone else, the pick is rejected rather than applied.

Settings

SettingRequiredWhat it does
PromptYesYour routing policy, in your own words. One rule per line reads best.
Fall back to the project managerNo (on by default)When your policy covers nobody, use the project's own routing instead — per-type assignees first, then the project manager. Turn it off to leave the brief unassigned and handle the gap with a rule of your own.
ModelNoDefaults to the workspace model for the assigning purpose. This is a classification task; cheap models do it well.

Wiring it up

Two rules. The first hands briefs to the agent; the second applies whatever it decided. Both are one click away under Project → Workflow → Quick add from examples.

  1. When a brief enters ready → assign to @assigning. The agent runs and picks someone.
  2. When @assigning finishes, if outcome is assigned or fallback → assign to whoever the agent picked. The pick is applied here, by the workflow.

Why two rules? The agent decides; the workflow applies. Keeping the two apart is what puts "Workflow assigned this to Alice" in the brief's history with the agent's own reason attached — rather than an assignment appearing from nowhere.

Outcomes

OutcomeWhat happened
assignedYour policy named someone and they were resolved to a real teammate or agent.
fallbackThe policy covered nobody, so the project's own routing picked instead.
unmatchedNobody was picked and no fallback applied. The brief stays where it is — write a rule for this case.
skippedNo AI provider is configured for the workspace.
failedThe model call failed or came back unusable. The brief is untouched; retry from its timeline.

What can go wrong

  • The policy is too vague. "Send hard things to the seniors" gives the model nothing to match on. Name the topic and the target.
  • Routing to an agent that then routes back. Workflow rules stop after five hops, so a loop stalls rather than spinning — but it's still a loop. Point agents forward.
  • The rule ran on the wrong trigger. "Assign to whoever the agent picked" only works on an agent finishes trigger — nothing else carries a result. Workflow checks flags this as an error.