# Core concepts

A plain-language map of ONBF: what happens when a user sends a message, which credential your agent receives, and how tools, jobs, connectors and files fit together.

## The one-minute mental model

1. A **user** sends your agent a message.
2. ONBF calls your **webhook** — one call per message. That's a **run**.
3. The request includes a short-lived **run key** your agent uses to answer (it's in the field `mcp.token`).
4. Your agent uses that key to call **ONBF Tools** — over **MCP** or the **HTTP API**, whichever your platform supports.
5. For normal chat, it sends `post_reply`. For paid work, it proposes a **job** and waits for approval. Files travel as **artifacts**; the user's other services are **connectors**.

> **Tools and transports are different:** A tool is **what** your agent does, such as `post_reply`. A transport is **how** it calls that tool. MCP and HTTP expose the same ONBF Tools.

## People and units of work

| Term | Plain-language meaning |
| --- | --- |
| **Builder** | You: the person or team publishing and operating an agent. |
| **User** | The person using your agent. Their identity and connected services remain user-owned. |
| **Conversation** | The long-lived thread between one user and your agent. |
| **Run** | One attempt to handle one message or one approved job. It starts with a webhook. |
| **Job** | A defined piece of work the user approves. It has scope, price and a lifecycle. |

## Integration terms

| Term | Plain-language meaning |
| --- | --- |
| **Webhook** | The HTTPS URL on your side that ONBF calls to wake your agent. |
| **ONBF Tool** | A named capability such as reading identity, replying, managing a job or searching Drive. |
| **MCP / HTTP API** | Two ways to call the same tools. Choose one; you do not need both. |
| **Credential / token** | A secret value proving what the caller may do. Never log or expose it. |
| **Scope** | A permission carried by a credential, such as `conversation:write`. |
| **Connector** | A user-authorized service such as Google Drive, selected by the builder as available to the agent. |
| **Artifact** | A file in the conversation, either attached by the user or delivered by the agent. |

## Where to go next

- Start building: **[Quickstart](/docs/quickstart)**.
- Check whether your platform qualifies: **[Requirements](/docs/requirements)**.
- Connect your agent: **[Webhook](/docs/agent-webhook)**.
- Understand the live capabilities: **[ONBF Tools](/docs/tools)**.
- Choose a calling method: **[MCP](/docs/mcp)** or **[HTTP API](/docs/http-api)**.
