---
title: "Use Notifiable with AI agents"
description: "Give Cursor, Claude Code, Codex, and other agents Markdown docs and a clear prompt to integrate Notifiable."
canonical: https://docs.notifiable.sh/ai-agents
source: https://docs.notifiable.sh/ai-agents.md
---

# Use Notifiable with AI agents

AI coding agents can install an SDK, wrap the app root, request permission, identify users, and wire deep links. They work best when they read the official Markdown docs and follow a short set of rules.

Every documentation page is also available as plain Markdown. Append `.md` to any docs URL, or start from [`/llms.txt`](/llms.txt).

## Copy this prompt

Paste this into Cursor, Claude Code, Codex, Copilot, or any other coding agent:

```text
Integrate Notifiable notifications into this project.

Read the official Markdown docs (preferred for agents):
- https://docs.notifiable.sh/llms.txt
- https://docs.notifiable.sh/ai-agents.md
- https://docs.notifiable.sh/choose-platform.md
- https://docs.notifiable.sh/create-app.md
- https://docs.notifiable.sh/configure-delivery.md

SDK guides (fetch only the one that matches this app):
- React Native → https://docs.notifiable.sh/react-native.md
- Expo → https://docs.notifiable.sh/expo.md
- Flutter → https://docs.notifiable.sh/flutter.md
- Swift → https://docs.notifiable.sh/swift.md
- Kotlin → https://docs.notifiable.sh/kotlin.md

Rules:
1. Detect the framework first. Use only that SDK guide. Follow its "For AI agents" section and integration prompt.
2. Work in development unless I explicitly ask for production.
3. Do not invent public keys or server API keys. Read them from existing env/config, or ask me.
4. Never put a server API key in client code, logs, commits, or chat.
5. Do not send notifications, reset keys, connect Apple, publish workflows, delete data, or change production without my approval.
6. Request notification permission from a user action (button), not on every app launch.
7. After sign-in, call identify with email and/or externalId once the SDK is ready.
8. Wire notification deep links into this app's existing navigator.
9. Keep changes minimal. Match existing project patterns and package manager.
10. After coding, list the files you changed and the dashboard steps I must complete myself.

Start by inspecting the repo, fetching the matching SDK Markdown guide, then integrating.
```

## Markdown docs for agents

Agents should fetch Markdown, not scrape the HTML page.

| Topic | Markdown |
| --- | --- |
| Docs index | [`/index.md`](/index.md) |
| This page | [`/ai-agents.md`](/ai-agents.md) |
| Choose a platform | [`/choose-platform.md`](/choose-platform.md) |
| Create an app | [`/create-app.md`](/create-app.md) |
| Configure delivery | [`/configure-delivery.md`](/configure-delivery.md) |
| React Native | [`/react-native.md`](/react-native.md) |
| Expo | [`/expo.md`](/expo.md) |
| Flutter | [`/flutter.md`](/flutter.md) |
| Swift | [`/swift.md`](/swift.md) |
| Kotlin | [`/kotlin.md`](/kotlin.md) |
| Full index | [`/llms.txt`](/llms.txt) |

API and changelog pages follow the same rule: `/api/apps.md`, `/changelog/index.md`, and so on.

## Give the agent the right context

Before asking an agent to change code, also provide:

- the client framework (Expo, React Native, Flutter, Swift, Kotlin, or Web);
- whether the task is for development or production;
- the path of the application entry point;
- how the app requests push permission and obtains a device token (when the SDK does not own push);
- how signed-in and anonymous users are identified;
- the Markdown URL for the SDK or API being used.

Do not paste a server API key into a chat or client repository. A public SDK key may live in client configuration. Prefer letting the agent read it from existing environment configuration.

## What an agent should verify

For a client integration, the agent should verify:

1. The package matches the framework documented for the app.
2. The development public key comes from configuration and is not blank.
3. Permission is requested from a user action at an appropriate time.
4. The correct APNs, FCM, Expo, or Web Push token is supplied when required.
5. The device identifier remains stable for the installation.
6. Identification happens after authentication without creating an unrelated duplicate device.
7. Notification opens and deep links use the application's existing navigation system.
8. Logs do not reveal keys, push tokens, or personal subscriber data.

## Tasks that require human review

Review the result before an agent does any of the following:

- changes production configuration;
- resets a public or server key;
- connects an Apple Developer account;
- sends or schedules a real notification;
- publishes a workflow;
- deletes subscribers, segments, apps, or webhooks;
- uploads credentials or personal data to another service.

## Dashboard and API language

Agents should use these terms consistently:

- An **app** is the product being integrated.
- An **environment** is development or production.
- A **subscriber** is one reachable app installation.
- A **segment** is a reusable subscriber audience.
- A **notification** is one composed or scheduled message.
- An **event** records something that happened.
- An **automation** is a published workflow triggered by an event, schedule, or other condition.
- A **webhook** calls your backend after selected activity.
- A **public SDK key** identifies a client app and environment but cannot send.
- A **server API key** is secret and can manage product data from a trusted backend.

## Questions an agent should ask

If any answer is missing, the agent should stop before changing behavior:

- Which app and environment is this for?
- Which platforms must receive notifications?
- Which user action should request permission?
- What stable identifier represents a signed-in user?
- What should happen when a notification is tapped?
- Is the task allowed to send, publish, reset, delete, or change production?
