Skip to main content
This page is for the AI agent doing the work (Claude, Grok Bot, or your own MCP client) and for developers wiring one up. People connecting an app should read Connect your AI. Server: https://www.lawtte.ai/api/mcp (streamable HTTP, OAuth or Authorization: Bearer lawtte_sk_…). The Agent Builder tools need the call permissions: list_agents and get_agent need calls:read, the rest need calls:write.

Rules

  1. Read before you write. Call list_agents first. Use only the ids, tool keys, mailbox ids and text-line ids it returns. Never invent them.
  2. Confirm before anything that sends. Ask the user before manage_agent with go_live or check_now on a live agent, update, remove, and before apply_agent_change. These tools are marked destructive.
  3. Test mode first. launch always starts in Test mode, which sends nothing. Show the user a preview or practice_run before you suggest going live.
  4. Follow the house rules. Every firm keeps standing rules (house_rules, one per line) that every agent must follow. Read them before you design or change an agent; list_agents, get_builder_settings and save_agent_draft all return them. Copy the phrases and wording the user gives you exactly.
  5. Save standing instructions as house rules. When the user says “always…” or “never…” about how agents behave, offer to add it with update_builder_settings (add_house_rules) so every future agent follows it too.
  6. Fix what Lawtte tells you. When launch_problems isn’t empty, or a tool returns an error, it says what to change in plain words. Fix that and retry, or ask the user.
  7. Check a call before placing it. For a call agent, run manage_agent with call_check first, then call_place once the user confirms. Both go through the same checks as place_call: consent, calling hours, Do Not Call and daily limits.
  8. No sensitive data. Don’t put Social Security, card or bank numbers, dates of birth, passwords or medical details in any field.

Build a new agent

1

list_agents

Returns agents (each with agent_id like recipe:… or builtin:…, its request_id, name and status), builds (with built_with), tools (keys for blueprint steps, and whether each is connected), mailboxes, text_lines and house_rules.
2

save_agent_draft

Send the blueprint, and a recipe if it’s one Lawtte can run itself (see below). Returns request_id, ready_to_launch, open_questions, launch_problems and the dashboard link. Call it again with request_id to change the draft; fields you leave out keep their values.
3

manage_agent: launch

{ "id": "<request_id>", "action": "launch" }. It starts in Test mode. If the blueprint still has open_questions, either answer them with save_agent_draft, or pass "accept_defaults": true after the user agrees.
4

manage_agent: preview or practice_run

preview shows what it would pick up now. practice_run replays the last two weeks of real threads. Both only read.
5

manage_agent: go_live (after the user confirms)

From here it sends by itself.
If no recipe fits what the user wants, save the blueprint without one and use manage_agent with send_to_lawtte_team. Lawtte’s team builds it, and the user sees the status in their dashboard.

Blueprint fields

Recipe formats

How a follow-up works: when the firm sends an email (or text) containing trigger, and nobody outside the firm replies within the wait, Lawtte replies in that same thread with body. It repeats up to maxFollowups times. Call agents: recipientType is client, witness, adjuster, business_office or other. collect is up to 10 short items, and voicemail is leave or hang_up.

Change an existing agent

Turn it on or off. Use manage_agent with the agent’s request_id or recipe: agent_id: pause, resume, back_to_test_mode, go_live or remove. Change its settings. Pick one of two ways:
  • Propose, then apply. get_agent returns its editable fields. Send only what changes to propose_agent_change as desired. You get back each change with an id, a before and an after. Show them to the user, then call apply_agent_change with the proposal_id (and accept to apply only some). This is the only way to change built-in agents (builtin:…).
  • Replace the config. manage_agent with action: "update" and the full new recipe (and an optional name). It’s for recipe: agents only.
To turn a built-in agent on or off, send desired: { "status": "live" } (or paused, resume, removed) on its own to propose_agent_change.

House rules and settings

get_builder_settings returns the house rules, the Agent Builder’s name and how it talks, the default inbox, text line and calling number, and every inbox, text line and number the firm has. update_builder_settings changes them. Fields you leave out keep their values. New house rules apply to agents designed from then on. Existing agents keep their wording until you change them, so offer to update the ones a new rule affects.

Phone numbers

  • Studio account with no number: get_calling_setup_status, then set_up_calling.
  • A new number, or the firm’s name on caller ID: request_phone_number with kind: "new" (optional area_code) or kind: "brand" (with phone), plus caller_id_name: up to 15 letters, numbers and spaces, like OCONNOR LAW. The Lawtte team sets it up by hand, usually within a business day.
  • Connecting an inbox needs a Microsoft 365 or Google sign-in in the dashboard: Agents → Settings → Channels → Connect an inbox. Send the user there.

manage_agent actions

Errors

Errors come back as tool results with plain text, for example “This agent is already launched or with the Lawtte team. Change it with propose_agent_change.”, or a list of launch_problems. They’re written so you can act on them: fix the field or ask the user. An unexpected error says nothing was changed. Every build records the app that made it (built_with), from the name your client registered at sign-in. API keys record as Lawtte MCP. See connector tools for the full tool list.