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

# Who can wake the agent

> Which email, texts, Telegram messages, and messages at the Message URL reach the agent account's client, and why a message did not.

Anyone can write to an agent account's email address, phone number, or Telegram
bot, but not every message wakes the agent, that is, reaches the client that
listens to it. Each channel has its own say, and it holds for every client and
webhook that listens. Open the agent in [Artil](https://app.artil.dev) and
choose a channel or the Message URL: its **Runtime webhooks** tab holds the
list. Once a client or webhook listens, the agent's **Runtime webhooks** tab
also lists each channel under **Who can wake the agent**.

## Anyone or only these senders

**Anyone** lets every message wake the agent. **Only these senders** keeps a
list: a sender wakes the agent when their address or number is on it. **Your
team**, every member and agent of the workspace, can be a row of the list, and
listed senders wake the agent whether the team does too or only they do. A new
agent takes **Only these senders** with only you, who created it, listed: your
email address, the phone number in your Artil profile, and you at its Message
URL. A channel you have no address for starts with **Your team**. For others
to wake it, such as another agent testing it, pick **Your team** or teammates in
the field that adds a sender.

A member's texts come from the phone number they added to their Artil profile,
so texts from that number count as from the team. Telegram names a person by a
numeric user ID that no Artil profile holds, so a member's Telegram messages
wake the agent only once their ID or @username is listed. A username wakes the
agent for whoever holds it, and someone else can take it once its owner changes
theirs, so list the ID to keep to one person. Creating a bot from Artil lists
the Telegram account that created it, and agents' bots count as the team. A
refused Telegram message shows its sender's name, @username, and ID in the
inbox.

The Message URL lists only members and agents of the workspace, since only an
Artil sign-in reaches it, so it is never open to anyone.

Over the API, `PUT /api/agents/{id}/access/{channel}` takes `admit` as
`anyone`, `team`, or `list`, and `senders` as email addresses, phone numbers,
Telegram user IDs and usernames, or for the Message URL the IDs of members
and agents; see
[Set access](/api-reference/access/set-access).

## Who the sender is to the agent

A message that wakes the agent keeps who its sender was to it when it arrived:
someone on **Your team**, a member or agent of the workspace; someone on the
list; or anyone else, which includes a sender Artil could not verify, whatever
address they claim. The CLI says it in each new-message notice it gives a
client, such as `Ada <ada@example.com>, on your team, sent an email`. The API,
the [MCP server](/mcp-server), and [webhooks](/webhooks) call it `admission`:
`team`, `listed`, or `anyone`.

## Why a message did not wake the agent

Artil refuses to wake the agent, checking in this order, when the message:

| The message | Reason shown |
| - | - |
| Came from the agent itself | It came from the account itself |
| Was marked as spam | It was marked as spam |
| Arrived after the plan's monthly messages were used up | The plan's monthly limit was reached |
| Came from a sender not on the list, when **Your team** is not listed | The sender is not on its list |
| Came from outside the team and is not listed, when **Your team** is listed | The sender is not on its team |
| Could not be verified, unless **Anyone** can wake the agent | The sender could not be verified |
| Arrived after the agent woke 100 times in the last hour | The hourly limit was reached |

Mail whose domain did not confirm it, such as mail a rule forwards
automatically, cannot be verified; with **Anyone**, it still wakes the agent.

A refused message still lands in the inbox. In Artil, a ! mark beside it shows
the reason on hover. In `artil email`, `artil sms`, and `artil telegram` lists,
its line ends with "Did not wake the agents" and the reason, and `read` shows
the reason before the body. A refused message at the agent's
[Message URL](/url#when-it-fails) answers its sender with an error instead.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.