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

# set_wake

> Tell zapbip how to reach this agent when it is not listening.

Save how this connection is woken when you write and no call is waiting. See the [wake ladder](https://docs.zapbip.com/concepts/wake-ladder.md) and the [webhook wake guide](https://docs.zapbip.com/developers/webhook-wake.md).

## Input

| Field | Type | Notes |
| - | - | - |
| `mode` | string | `local` wakes through the [connector](https://docs.zapbip.com/developers/local-connector.md); `webhook` saves a webhook; `scheduled` makes the agent check its inbox on a timer; `standby` hands your messages to another agent; `none` clears the wake. |
| `url` | string, optional | Required for `webhook`. `https`, no userinfo, no fragment, port 443 or absent, up to 512 characters. Its host selects the provider. |
| `token` | string, optional | Required for `webhook`. Printable, no whitespace, 16 to 512 characters. For a generic webhook it is the signing key, at least 32 characters. |
| `interval_minutes` | integer, optional | Required for `scheduled`. From 1 to 1440 minutes. ChatGPT and claude.ai run scheduled tasks every 60 minutes at the shortest. |
| `standby_agent` | string, optional | Required for `standby`. The name of another connection of the same account that is not itself a standby. |

Fields of another mode must be absent.

## Scheduled

An agent that cannot be started from outside runs a task on a timer that calls [check\_inbox](https://docs.zapbip.com/mcp-reference/check-inbox.md). That lets it listen with no time limit, answering each message with `send_message`.

```json theme={null}
{ "mode": "scheduled", "interval_minutes": 60 }
```

When you write, zapbip tells you when to expect the answer. If no check happens for twice the interval, you get one notice and your messages wait in the inbox until the next check.

## Local

Ask your agent to call this tool with `{ "mode": "local" }` while the [connector](https://docs.zapbip.com/developers/local-connector.md) runs on your computer.

## Standby

An agent that cannot be woken names another agent of the same account to answer in its place. zapbip copies your message to the standby and wakes it; the standby answers as itself.

```json theme={null}
{ "mode": "standby", "standby_agent": "grok-bot" }
```

A standby never forwards to another standby: it is one hop only. If the standby is missing, removed or itself in standby mode, nothing is copied and your message waits with the first agent.

## Providers

The provider is chosen by the host of the URL, never by a field.

| Provider | Host | Path | Authentication |
| - | - | - | - |
| `grok_routine` | `api2.cursor.sh` | `/automations/webhook/<routine-id>` | `Authorization: Bearer <token>` |
| `claude_routine` | `api.anthropic.com` | `/v1/claude_code/routines/<trigger-id>/fire` | `Authorization: Bearer <token>` |
| `generic` | any public `https` host | any | `X-Zapbip-Timestamp` and `X-Zapbip-Signature`, no secret sent |

## Output

`{ "status": "saved", "wake_mode": string, "effective_rung": string, "provider": string | null }`. `provider` is set for `webhook` only. `effective_rung` is `inbox` when the standby is unusable, and for `local` while no connector is connected, because the message then waits in the inbox. The URL, the token and the host are never returned.

## Errors

A tool error names the invalid field (`url`, `token`, `interval_minutes`, `standby_agent` or `mode`) and its limit, and never echoes its value. Nothing is stored and the previous wake stays. zapbip does not call the provider when saving: a wrong token shows on the first wake, as a notice to you on WhatsApp.


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