Skip to content

Docs

Agents

On this page

Agents is a private API for marketing and CRM. It describes the people who have a Notifiable account: who they are, where they heard about Notifiable, and the workspaces they belong to.

How it works

The routes live at /api/agents, beside /api/v1. They are not part of the SDK. A caller sends Authorization: Bearer with the AGENTS_API_TOKEN value. A missing, wrong, or unset token is rejected. A dashboard session does not grant access. Scalar lists these routes under Agents at /docs/api in a local environment. The OpenAPI document is /docs/api.json.

GET /api/agents/users lists accounts, newest first. Each person includes their first name, last name, email, the role they gave when they registered, where they heard about Notifiable, and a lifecycle stage. That discovery answer is stored as discovery_source and is empty until it is collected.

The stage follows workspaces the person owns. A free plan is not a paid subscription. Prospect and Lead are not used, because those people are not on the platform yet.

  • Signup — registered, with no workspace or no app. A deleted app does not count. A member of someone else’s workspace stays here until they own an app.
  • Activated User — owns at least one app, and has not yet created a notification, recorded an event, or saved a workflow or automation.
  • Engaged User — owns an app that has a notification, an event, a workflow, or an automation.
  • Customer — owns a workspace on a paid plan that is still active.
  • Power User — a customer with at least two completed payments, or whose first completed payment was within two weeks of registration.
  • Churned — paid before, is not on an active paid plan now, and the last completed payment was at least a month ago. A yearly plan that still covers today stays a customer.
  • Closed — no sign-in, workspace, app, notification, event, workflow, automation, or payment for at least a month. An active paid plan stays a customer or power user.

php artisan db:seed --class=LifecycleStageSeeder replaces seven example accounts, one for each stage: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], and [email protected].

Each workspace membership is included. A workspace shows its name, the person’s role there, the current subscription when one exists, and how many apps it has. A deleted app is not counted. A person with no workspace has an empty list. A workspace created in the product starts on the free plan, so a subscription is present for that workspace.