# Core concepts

> The nine ideas that explain how Endue works — agent, conversation, run, tool, skill, connector, memory, artifact, and routine.

Endue has a small vocabulary. Learn these nine ideas and the rest of the product explains itself.

## Agent

An **agent** is a durable identity that does work on your behalf. It is not a chat window you throw away — it has a name and handle you can address, a profile, a character that shapes how it responds, and a system prompt that defines its job.

The system prompt is kept under revision history. You can change how an agent behaves, see exactly what changed, and roll back when a change turns out to be worse.

An agent only has the abilities you give it. On its own it can reason, calculate, and read public web pages. Everything else — your email, your calendar, your documents — requires a connection you explicitly bind to it.

## Conversation

A **conversation** is a continuous thread with an agent. It holds the message history the agent reads for context, and it persists: close the tab, come back tomorrow, and the agent still knows what you were discussing.

Conversations belong to you. They can be grouped into a **project** when several of them are about the same body of work.

## Run

A **run** is one turn of the agent actually working. You send a message, and the agent begins a run: it decides what to do, calls tools, reads the results, and repeats until it has an answer or needs something from you.

Three things about runs matter in practice:

- **You can watch it.** Each step is visible as it happens — which tool was called, with what, and what came back.
- **You can steer it.** Send a correction while the run is still going and the agent picks it up on its next step. You do not have to let a bad run finish.
- **It survives you leaving.** Close the app mid-run and the work continues on the server. Come back and the result is there.

A run can also pause and ask you something — a choice between options, a piece of text, or approval for an action. See [Approvals](#approval) below.

## Tool

A **tool** is a single capability an agent can invoke during a run: read a file, search email, create a calendar event, write an artifact, recall a memory.

Some tools are built in and always available. Others appear only when you connect a service or bind a skill. The agent chooses which tools to call; you choose which tools exist.

## Skill

A **skill** packages a repeatable job so you do not have to re-explain it — a procedure, a checklist, a set of commands the agent can run.

Bind a skill to an agent and it becomes part of what that agent can do. An agent can also *request* a skill it has not been given: it pauses mid-run and asks, and you approve or decline in the conversation.

## Connector

A **connector** links an agent to a service you already use — Gmail and the rest of Google Workspace, Slack, Notion, Linear, GitLab, Shopify, Figma, Datadog, and [more than thirty others](/docs/connect/available-connectors/).

Connecting is a two-step idea worth understanding:

1. **You authorize the connection** at the provider — Google, Slack, or Notion — and it belongs to your account.
2. **You bind the connection to specific agents.** Connecting Gmail does not hand every agent your inbox.

Connections can be revoked at any time, from Endue or from the provider.

<Aside type="caution" title="One account per connection">
  A connection is tied to one account at the provider. Connecting the same service
  again with the same account re-authorizes the existing connection rather than
  creating a duplicate, so agent bindings are preserved.
</Aside>

## Memory

**Memory** is what an agent retains across conversations — facts about you, your preferences, how you like work done. The agent decides what is worth remembering, and recalls it when relevant.

Memory is inspectable and editable. You can see what an agent has stored and delete anything that should not have been kept.

## Artifact

An **artifact** is something the agent produced that is worth keeping — a report, a document, a diagram, a dataset. Rather than burying it in a chat transcript, Endue gives it its own page.

Artifacts are private to you by default. You can share one with a link, which grants access to that artifact and nothing else — useful for handing a result to someone outside your workspace.

## Routine

A **routine** is a task on a schedule. Instead of asking an agent to do something, you describe the job once and give it a cadence — every weekday morning, every Monday, the first of the month.

Routines run whether or not you have Endue open. What they produce lands in your workspace, and if a routine needs a decision it asks you and waits.

## Approval

An **approval** is Endue stopping to ask before an agent does something you cannot take back.

Two categories always require it:

- **Outbound actions** — sending an email, posting a message, anything that leaves your account and reaches another person.
- **Destructive actions** — deleting or overwriting data.

When an agent wants to take one, the run pauses and shows you the exact action, with the exact arguments. Approve and it proceeds with precisely what you saw. Reject and the agent adapts and keeps working.

This applies to scheduled and event-triggered runs too. If nobody is there to approve, the action is refused rather than left hanging.

## How they fit together

> You give an **agent** an identity and bind **connectors** and **skills** to it.
> You talk to it in a **conversation**; each turn is a **run** in which it calls **tools**.
> It stores what it learns as **memory**, produces **artifacts**, and asks for **approval**
> before anything leaves your account. When the work repeats, it becomes a **routine**.

## What to read next

<CardGrid>
  <LinkCard
    title="Quickstart"
    href="/docs/get-started/quickstart/"
    description="Put these concepts to work — build an agent end to end."
  />
  <LinkCard
    title="Glossary"
    href="/docs/get-started/glossary/"
    description="Every Endue term, including the ones not covered here."
  />
</CardGrid>
