# Get connected

Send a decision to your phone and see the answer return. Then connect an agent, script, or service to ask when it needs you.

HTML: https://notify.belweave.tech/docs/quickstart

## Choose your connection

Use Notify when a script, service, or agent needs to reach a person away from a terminal. An update goes to the inbox and eligible iPhone or Android devices; a question waits for a human answer; an activity keeps a running task visible.

Choose a webhook for an existing system that can POST JSON. Choose [MCP](https://notify.belweave.tech/docs/quickstart#mcp-connect) for a compatible agent client, or the [CLI](https://notify.belweave.tech/docs/quickstart#cli-install) for terminal workflows. Webhooks use a service secret; MCP and CLI connections have revocable permissions. Personal and Family plans are free.

## Connect your phone

Install the iOS beta through the [public TestFlight link](https://testflight.apple.com/join/1MDYPc7a). No developer-issued invitation is needed; a public App Store listing is not yet available. Android has a native client and APK build workflow in the [repository guide](https://github.com/Belweave/notify/tree/main/apps/android); this is not a public Google Play release. Packaged Mini Apps are a separate developer preview and are not required for notifications or decisions.

1. Install your invited iOS build or your locally built Android APK. Open Notify, sign in with Apple or Google, and allow notifications.
2. Sign in to the website with the same account. Open [Ask your phone](/dashboard#decisions) and select Check devices. Registration and permission are prerequisites for a push banner; a registered device alone does not prove delivery.

## Set up as an agent

An agent with an AgentID can [sign in or create its own Notify account](/login/agentid) without borrowing a human’s Apple or Google credentials. The same AgentID sign-in is available in the iOS app, CLI authorization, MCP consent, and team invitations. Read [authentication instructions](/auth.md) for the complete unattended setup path.

1. Open `/login/agentid`. AgentID uses your existing browser enrollment or shows the AgentMail command to enroll this browser. Run that command in your own environment using your own AgentMail credentials. Notify requests only `openid email profile`; owner-sharing approval is not required.
2. After sign-in, open [API keys](/dashboard#api-tokens) and create a named credential with only the scopes your work needs. Store the secret privately when it is shown once. You can instead complete `notify auth login` or your MCP client’s OAuth flow in the same AgentID browser; the agent can review and approve access to its own account.
3. Use the [OpenAPI specification](/openapi.json) or connect to `https://notify.belweave.ai/mcp`. Check your account and devices, then create services, configure reply webhooks, register apps, manage teams and routing, or publish Mini Apps within your permissions. A scoped API key cannot mint new credentials or widen its own scopes.
4. To reach a human who uses a separate Notify account, create a family or use an existing workplace team, invite them, and share the relevant services and apps. New workplace-team creation is not currently available. The human accepts the invitation, installs the app, signs in, and grants device permissions. An agent account has its own inbox; knowing the human’s email does not link accounts or grant access to their phone.

> AgentID proves the agent’s identity. It does not approve an unrelated human’s decision, grant device permissions, or prove delivery. Use existing team roles and explicitly granted scopes. Link X from [Connected accounts](/account/connections) after signing in with Apple, Google, or AgentID; linking requires proof of the X account and never merges by email.

## Try a decision

In [Ask your phone](/dashboard#decisions), start with the connection check or write a personal request. Choose approve/deny, yes/no, or a written reply, then select your own devices. Send to my phone creates a real request without creating an API key. Dashboard requests never run a job, share with a family or team, or call reply webhooks.

1. Send the connection check. Answer from Notify’s Inbox or its notification actions. If no banner appears, open the Inbox and check notification permissions and device registration.
2. Watch Your recent requests for the confirmed result. Push accepted means the provider accepted a delivery request; queued means delivery will retry. Neither means a person saw or answered it.
3. If sending loses its connection, use Retry same request. The pending send is kept in this browser tab and reuses the same idempotency key after a reload. If checking for the answer fails, keep the last result and use Refresh results when connected.
4. Requests expire after ten minutes and can be canceled before an answer. Expiry, cancellation, or a wait timeout never counts as approval. A confirmed phone response proves the round trip, not that an external job finished.

For a real agent or script workflow, [install the CLI](https://notify.belweave.tech/docs/quickstart#cli-install), sign in, and send a request with --wait. Require an explicit approved result before taking action; handle denial, expiry, and timeout separately. [Connect MCP](https://notify.belweave.tech/docs/quickstart#mcp-connect) for clients that support the remote server. Credentials are scoped and revocable.

```bash
notify auth login
notify send ask "Tests passed. Proceed with the release?" --approval --title "Release check" --wait --timeout 10m
```

## Account, device, and service

1. Sign in to [Notify](https://notify.belweave.ai) with Apple, Google, or AgentID. Use the same Notify account on the devices that should receive your updates.
2. Open Notify on your iPhone or Android device, sign in, and allow notifications to register your device.
3. In the dashboard, add a service for one source, such as Warehouse scanner. Set its sender title, optional image, and destination URL.
4. Save the returned webhook URL in the sending system’s secret store. You can now [send an update](https://notify.belweave.tech/docs/send-update#first-notification).

For help with your account or setup, contact [info@belweave.com](mailto:info@belweave.com).

## Save the service credential

The URL includes a bearer credential for this service. A holder can send to its eligible devices, so keep it out of source control and public logs. Agent service reads redact the URL; agent creation and rotation return it once. The signed-in dashboard can retrieve an existing encrypted webhook URL.

Webhook URL:

```text
https://notify.belweave.ai/hooks/whk_your_token
```

Rotation invalidates the previous URL. An unknown token is reported as `404` with `{ "ok": false, "error": "Unknown webhook" }`; replace the sender’s stored credential after rotating.

## Connect an MCP client

Configure Notify as a remote Streamable HTTP MCP server. Prefer OAuth discovery and browser consent when your client supports them. Clients that accept a Bearer header can instead use a scoped Notify API key; both connect to the same endpoint below. Request only the permissions your workflow needs.

MCP server URL:

```text
https://notify.belweave.ai/mcp
```

In [Poke](https://poke.com/docs/mcp-servers), add this URL as a custom MCP integration and use its OAuth connection flow. For an API-key connection, enter a scoped Notify key in Poke’s API key field; Poke sends it as a Bearer header. Keep credentials out of the server URL. Other remote MCP clients use the same URL and authentication choices when supported.

OpenCode configuration belongs in `opencode.json`:

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "notify": { "type": "remote", "url": "https://notify.belweave.ai/mcp" }
  }
}
```

For Claude Code, use the HTTP add command below. Cursor’s configuration goes in `~/.cursor/mcp.json`:

```bash
claude mcp add --transport http notify https://notify.belweave.ai/mcp
```

```json
{
  "mcpServers": {
    "notify": { "url": "https://notify.belweave.ai/mcp" }
  }
}
```

## Set up the CLI

Download the versioned CLI bundle from [Notify Tools 0.13.0](/downloads/notify-tools/v0.13.0/notify-tools-0.13.0.tar.gz). Requires Node.js 22.13 or newer; no npm package installation is needed.

Verify the download, inspect the installer, and install the exact release:

```bash
curl -fLO https://notify.belweave.ai/downloads/notify-tools/v0.13.0/notify-tools-0.13.0.tar.gz
curl -fLO https://notify.belweave.ai/downloads/notify-tools/v0.13.0/SHA256SUMS
shasum -a 256 -c SHA256SUMS
mkdir notify-tools-0.13.0
tar -xzf notify-tools-0.13.0.tar.gz -C notify-tools-0.13.0
cd notify-tools-0.13.0
node install.mjs --dry-run
node install.mjs
export PATH="$HOME/.local/bin:$PATH"
notify auth login
notify --help
```

1. Run `notify auth login` to obtain a short device-authorization code and open Notify in your browser.
2. Sign in, inspect the requested scopes, and authorize the connection.
3. The CLI polls for that authorization and saves credentials in its OS configuration file with mode `0600`.

Check your connection with `notify auth status`. Dashboard agent connections show its scopes and usage; revoking a connection invalidates it immediately. `notify auth logout` revokes the connection and removes its local credentials.

Repeat `--scope` to request only needed permissions. `--client-name` labels the connection and `--expires-in` requests its lifetime (default `90d`); review the resulting expiry. `NOTIFY_TOKEN` and `NOTIFY_API_URL` override saved credentials and the API base for authorized CI use. Current tools accept existing `ntf_` and Clerk-managed `ak_` user API keys in the same saved configuration `token` field and SDK `token` option. Browser login saves credentials with mode `0600`; provision CI credentials through your secret store as `NOTIFY_TOKEN`, never as a command argument. Clerk application publishable and secret keys are not Notify user API credentials.
