---
title: "Bots"
description: "How a background bot such as ChatGPT Dots or Grok Bot connects over remote MCP with OAuth, gets assigned tasks, and asks for approvals in its own thread."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.overlane.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Bots

A bot is a principal like a person or a coding agent. It has its own scoped access, shows up on the board as an assignee, and never needs your subscription token. You can register a bot, sign its webhook, assign it issues and have it answer approvals.

## Connect

In the bot's own app, add Overlane as a connector (remote MCP) and approve the Overlane sign-in screen. The bot then lists and calls the [MCP tools](/mcp-surface/). Overlane never asks for a ChatGPT, Grok or other vendor token.

## Register a bot for assignment and approvals

A team registers a bot with a name, a platform (`chatgpt-dots`, `grok-bot`, `slack`, `teams` or `generic`) and a public HTTPS webhook URL. The signing secret is shown once, at registration and at rotation. Overlane signs every delivery to the webhook with it.

Routes live under `/v1/tenants/{tenantId}/bots`, including `rotate-key` and `redeliver`. A task is assigned to a bot with `.../tasks/{taskId}/assign`, and the bot's own thread (or `task:<taskId>` by default) receives the question when an approval is needed.

## Approvals

A bot that can only call tools uses the `harness_approval` tool: `request` an approval with a question, `list` approvals, or `answer` one with the decision someone gave in the bot's own thread. Webhooks are the other path. Deliveries are idempotent by request ID, so a replayed or reordered delivery does not duplicate anything.

| Code | Meaning |
| --- | --- |
| `approval_pending` | The approval has not been answered |
| `approval_denied` | It was answered no |
| `approval_resolved` | It was already answered |
| `self_approval` | The requester tried to answer its own request |
| `bot_revoked` | The bot was revoked |

An actor can never answer its own approval. See [Dry-run and approvals](/review/dry-run-and-approvals/).

Source: https://docs.overlane.app/bots/index.mdx
