Skip to main content
AgentsAgents
Run coding agents in the background, on a schedule or triggered by events. A Sentry error gets fixed within seconds. Docs stay in sync with your code. Security vulnerabilities get caught before they become problems. Each agent runs in a secure sandbox with full codebase and repository access and your configured MCP servers.

Agent harness

Tembo is harness and model agnostic. For each agent you configure, you pick the harness (and model) that runs in the session it spawns, for example Claude Code with Sonnet 5.5, Codex with GPT-5.4, or Cursor. Set a default per agent, or override per session. See Models for the full supported model list, BYOK details, and AWS Bedrock BYOK support.
Anthropic’s Claude models. Best balance of quality, reliability, and cost.Models: Opus 5.5, Opus 5, Fable 5.1, Fable 5, Sonnet 5.5, Haiku 5.5, Opus 4.8, Opus 4.7, Opus 4.6, Opus 4.5
OpenAI’s GPT models with configurable reasoning effort (low, medium, high, xhigh). GPT-6.1 Sol, GPT-6 Astra, GPT-6 Sol, GPT-5.6 Sol, and GPT-5.6 Terra also support max and ultra; GPT-6 Luna and GPT-5.6 Luna also support max.Models: GPT-6.1 Sol, GPT-6 Astra, GPT-6 Sol, GPT-6 Luna, GPT-5.6 Sol, GPT-5.6 Terra, GPT-5.6 Luna, GPT-5.5 Pro, GPT-5.5, GPT-5.4, GPT-5.3 Codex, GPT-5.4 Mini, GPT-5.4 Nano
Multi-provider via Cursor CLI.Models: Composer 2.5, Composer 2, Composer 2 Fast, Composer 1.5, Opus 5.5, Opus 5, Sonnet 5.5, Haiku 5.5, Opus 4.8, Opus 4.7, Opus 4.6, Opus 4.5, GPT-5.6 Sol, GPT-5.6 Terra, GPT-5.5, GPT-5.3 Codex, GPT-5.3 Codex Spark, Gemini 3.1 Pro, Gemini 3.5 Flash, Grok 4.7
Multi-provider support: Anthropic, OpenAI, and OSS models.Models: Opus 5.5, Opus 5, Fable 5.1, Fable 5, Sonnet 5.5, Haiku 5.5, Opus 4.8, Opus 4.7, Opus 4.6, Opus 4.5, GPT-6.1 Sol, GPT-6 Astra, GPT-6 Sol, GPT-6 Luna, GPT-5.6 Sol, GPT-5.6 Terra, GPT-5.6 Luna, GPT-5.5 Pro, GPT-5.5, GPT-5.4, GPT-5.3 Codex, GPT-5.4 Mini, GPT-5.4 Nano, Gemini 3.1 Pro, Gemini 3.5 Flash, Grok 4.7, GLM 5.3, GLM 5.3 Flash, Kimi K3, DeepSeek V4 Pro, DeepSeek V4.1 Flash, MiniMax M2.7, MiniMax M3
Claude-powered with automatic model selection.
A minimal, extensible terminal coding harness with multi-provider support.Models: Opus 5.5, Opus 5, Fable 5.1, Fable 5, Sonnet 5.5, Haiku 5.5, Opus 4.8, Opus 4.7, Opus 4.6, Opus 4.5, GPT-6.1 Sol, GPT-6 Astra, GPT-6 Sol, GPT-6 Luna, GPT-5.6 Sol, GPT-5.6 Terra, GPT-5.6 Luna, GPT-5.5 Pro, GPT-5.5, GPT-5.4, GPT-5.3 Codex, GPT-5.4 Mini, GPT-5.4 Nano, GPT-5.2, Grok 4.7, GLM 5.3, GLM 5.3 Flash, Kimi K3, DeepSeek V4 Pro, DeepSeek V4.1 Flash, MiniMax M2.7, MiniMax M3
A tiny, open, native coding agent with multi-provider model support.Models: Opus 5.5, Opus 5, Fable 5.1, Fable 5, Sonnet 5.5, Haiku 5.5, Opus 4.8, Opus 4.7, Opus 4.6, Opus 4.5, GPT-6.1 Sol, GPT-6 Astra, GPT-6 Sol, GPT-6 Luna, GPT-5.6 Sol, GPT-5.6 Terra, GPT-5.6 Luna, GPT-5.5 Pro, GPT-5.5, GPT-5.4, GPT-5.3 Codex, GPT-5.4 Mini, GPT-5.4 Nano, Gemini 3.1 Pro, Gemini 3.5 Flash, GLM 5.3, GLM 5.3 Flash, Kimi K3, DeepSeek V4 Pro, DeepSeek V4.1 Flash, MiniMax M2.7, MiniMax M3

Triggers

These are just examples to give you a rough idea. You decide how to set this up, there are no limitations.

Scheduled

Run agents at regular intervals.

Event-driven

React to events from your integrations in real-time.

Webhooks

Trigger an agent on demand from CI, internal tools, or any service that can send an HTTP request. Send a POST request with an API key to the agent’s runs endpoint. The agent ID is the UUID at the end of the agent’s URL in the dashboard (https://app.tembo.io/<workspace>/agents/<AGENT_ID>). Agent keys (macros) aren’t accepted and return 400.
Tembo responds with 201 once the run is queued. The response confirms the run is queued, not that it finished:

Payload

The request body is optional. When you send one, it must be a JSON object. Send your fields at the top level; you don’t need to wrap them. Tembo passes the whole object to the agent as event context, so your instructions can reference it directly. For example, you could write instructions like “Fix the issue at the URL provided in the event payload”. If you need to transform the payload or fetch extra data before the agent starts, use an agent post-trigger hook. The hook can read TRIGGER_PAYLOAD and print Markdown, text, or JSON to standard output; Tembo adds that output to the agent’s starting context.

Authenticate with a query parameter

Some services only let you configure a URL, not headers. In that case, pass your API key as the apiKey query parameter:
URLs can end up in logs and webhook delivery histories. Use the Authorization header when the sending service supports it.

Check run status

List the agent’s runs to see their status and linked session, newest first:
Each run includes status, sessionId, durationMs, and errorMessage. See List agent runs and Create an agent run for the full API reference.

Errors

Creating an agent

You can create agents in the dashboard or define scheduled agents in a repository.

From a template

Agent templatesAgent templates
  1. Go to Agents in the dashboard
  2. Click Templates
  3. Pick a template and click Use template
  4. Customize the instructions and enable
Browse all templates

From scratch

  1. Click New Agent
  2. Write your instructions
  3. Add triggers (schedule and/or event-based)
  4. Select agent harness
  5. Instruct MCP servers or integrations
  6. Optionally select a project in run options so runs start from that prepared environment
  7. Save and enable

From a repository

Store an agent’s instructions, runtime settings, and recurring schedules with the code it works on. Tembo syncs each JSON file directly inside .tembo/agents/ and creates or updates the corresponding agent in your workspace.

Prerequisites

  • Connect your GitHub, GitLab, or Bitbucket account to Tembo.
  • Activate the repository under Active Repositories on the Integrations page.
  • Make sure you can merge changes into the repository’s default branch.

Create a scheduled agent

1

Create the agent directory

At the root of your repository, create .tembo/agents/.Agent definitions must be .json files directly inside this directory. Nested files and other file types are ignored.
2

Add an agent definition

Create a file such as .tembo/agents/weekly-changelog.json:
name and prompt are required. The schedule above runs every Monday at 09:00 UTC.
3

Merge the definition

Commit the file and merge it into the repository’s default branch. Tembo creates the agent during the next repository sync. Future changes to the file update the same agent.
4

Verify the agent

Open Agents, select the agent, and confirm its instructions and next scheduled run.

Configure multiple schedules

Use schedules to run the same agent on more than one cron schedule. Entries can be cron strings or objects with a cron property.
This example runs at 09:00 every Monday and 12:00 every Friday. Repository-defined schedules use UTC.
Use either schedule or schedules in one file, not both. You can configure up to 50 schedules for an agent.

Configure the runtime

You can keep the agent’s execution settings in the same file:
Omit optional runtime fields to use the existing agent settings. For a new agent, omitted fields use your workspace defaults.

How synchronization works

Tembo matches an agent by its name within the connected repository. An agent with the same name managed by another repository remains separate.
  • Changing the prompt or runtime fields updates the repository’s matching agent.
  • Changing the configured cron expressions adds and removes schedules to match the file.
  • Omitting both schedule and schedules leaves existing schedules unchanged.
  • Setting "schedules": [] removes all schedules from the agent.
  • Disabling the agent in Tembo also keeps newly synced schedules disabled.
  • Removing the JSON file does not delete the agent. Delete or archive the agent from Tembo if you no longer need it.
  • Changing name creates a different agent instead of renaming the existing one.

Troubleshooting

Confirm that the repository is active in Integrations, the file is valid JSON with a .json extension, and it is directly inside .tembo/agents/ on the default branch. Repository changes are processed asynchronously, so allow time for the next sync.
Tembo skips that file if it contains invalid JSON, unknown fields, conflicting fields such as both schedule and schedules, an unsupported model or runtime option, an inaccessible project, or an invalid or impossible cron expression. Other valid agent files in the directory continue to sync.
Repository-defined cron schedules use UTC. Convert your desired local time to UTC and account for daylight saving time when you choose the expression.
Removing a file stops source-controlled updates but does not delete or archive its existing agent. Delete or archive the agent from Agents.

Macros

You can trigger a specific agent on demand from anywhere you can mention @tembo by using its macro.
Tembo routes the request to the agent with that macro and passes the rest of the message as the prompt. For example, this triggers the agent named review:

Beyond code

Agents aren’t limited to engineering work. With MCP servers, agents can work across your entire stack. Any tool with an MCP server can be used as an agent. You can also do this on-demand from Slack without setting up an agent: