Agents on NOAN

Build agents that know your business. On any model.

Agents built on NOAN read your verified facts, pick up work from the task board, and report back where your whole team can see it. Plain REST, bearer key, unlimited API keys on every plan.

Three primitives. Any model.

An agent on NOAN needs exactly three things, and none of them is a framework.

  1. 01

    Ground in facts

    One GET returns your company's verified truth: positioning, pricing, product, contacts. Your agent builds answers from facts, not guesses.

  2. 02

    Control with tasks

    The NOAN task manager is the control plane. A tag says which agent a task is for. Assigning the agent is the permission to act.

  3. 03

    Bring any model

    The API is plain REST with a bearer key. It does not care who is calling: Claude, GPT, Gemini, Llama, or the next thing. The model is a config value, not a code value.

Watch Demo

The whole integration, in two calls.

Read verified facts
# List your knowledge blocks to find their slugs.
curl "https://api.getnoan.com/v1/blocks?in_use_only=true" \
  -H "Authorization: Bearer $NOAN_API_KEY"

# Pull the verified facts for one block.
curl "https://api.getnoan.com/v1/facts?block_slug=<your-block-slug>" \
  -H "Authorization: Bearer $NOAN_API_KEY"

# items[].content are your verified facts.
# Feed them to any model as grounding.
Pick up your agent's tasks
const API = "https://api.getnoan.com/v1";
const headers = { Authorization: "Bearer " + process.env.NOAN_API_KEY };

// The identity your API key belongs to.
const { identity } = await fetch(API + "/me", { headers }).then((r) =>
  r.json(),
);

// Pick up work: backlog tasks carrying your agent's trigger
// tag, assigned to your agent. The tag says which agent the
// task is for. Assignment is the permission to act.
const { items } = await fetch(API + "/tasks?status=backlog", {
  headers,
}).then((r) => r.json());
const mine = items.filter(
  (t) =>
    t.tags.some((tag) => tag.name === "my-agent") &&
    t.assignees.some((a) => a.id === identity.id),
);

// Claim one. The whole team sees it move on the board.
await fetch(API + "/tasks/" + mine[0].id, {
  method: "PATCH",
  headers: { ...headers, "Content-Type": "application/json" },
  body: JSON.stringify({ status: "in-progress" }),
});

Skip the docs. Send your agent.

Everything an agent needs to build on NOAN lives at one URL. Hand it to Claude, ChatGPT, or whatever you run, along with an API key, and let it build its own client.

API spec
https://api.getnoan.com/openapi.json
Then prompt
Read the NOAN API docs: https://api.getnoan.com/openapi.json

I have a NOAN workspace and an API key. Build me an agent that:
1. Reads our verified facts to ground itself in what is true about our business
2. Watches the NOAN task manager for tasks carrying its trigger tag
3. Claims a task by setting it to in-progress, does the work, and reports back with a note and status done

Use whatever model and runtime fits. The API is plain REST with a bearer key.
The control plane

Your task board runs the fleet.

No hidden queues, no separate ops dashboard. Agents and people work the same board, so steering an agent looks exactly like managing a teammate.

  1. 01

    Trigger

    Tag a task with the agent's trigger tag and assign the agent. Tag without assigning and the task sits parked, awaiting approval.

  2. 02

    Claim

    The agent moves the task to in-progress and restates the goal in a note. If it misread the brief, you see it immediately.

  3. 03

    Steer

    Append a note to redirect it mid-flight. Unassign to cancel. The board is the steering wheel.

  4. 04

    Blocked

    A tripped guard parks the task with a needs-human tag and a note explaining why. Re-assigning the agent is both the approval and the resume button.

  5. 05

    Done

    A completion report lands on the task and it moves to done. Every run leaves an audit trail your team can read.

Agents delegate the same way you command them: by creating a task with another agent's trigger tag. One task board, humans and agents on it together.

Trust model

Autonomous behind code guards.

Our agents act on their own, and a human reviews only when a guard trips. Guards are enforced in code, not prompts: the model gets read-only tools, and every write happens deterministically after its work is checked.

Facts, verbatim

Anything factual in an output, like a price, must match a verified fact word for word or the action is dropped.

Whitelisted links

Outbound messages can only carry links from an allowlist you define in code. No invented URLs.

Caps and kill switches

Hard send limits, cooldowns, dry-run modes, and a pause switch the whole fleet respects.

Approval by assignment

Customer-facing actions queue as unassigned tasks with the draft embedded. A human assigning the agent is the send button.

How we run NOAN

Meet Verity. One colleague, fifteen agents.

We run our own company on this. Verity is the persona our customers and team talk to, at verity@getnoan.com, on Slack, and on X. Behind her sit fifteen specialist agents, each triggered by its own tag on the NOAN task board.

Follow-up

Post-demo lead follow-up

Onboarding

New subscriber welcome

Activation

Dormant customer nudges

Re-engagement

Quiet leads, daily pass

Trial conversion

Trial-window nudges

Replies & CS

Inbound email and support

Scheduling

Meeting coordination

Slack

The fleet's front door

Dispatcher

Catch-all and delegation

Social

Posts on X

SDR

Cold outbound, gated

Decks

Sales deck generation

Demo videos

Personalized demos in ~20 min

Spend reports

Daily API cost report

Voice

Voice app brain

Brains live in NOAN, not code

Each agent reads its system prompt and tone rules from NOAN facts at the start of every run. Write code once. Tune behavior forever in the NOAN UI.

Runs on plain infrastructure

Ours runs on GitHub Actions: a cron fan-out plus event dispatch with pickup in about 20 seconds. It is just REST, so any runtime works.

A model mix, per job

Frontier models for judgment calls, mid-tier for drafting, small models for classification. Swapping one is a one-line config change.

Questions

Ship your first agent this week.

Every NOAN plan includes the full API and unlimited keys. Start with the facts, wire up the task board, and bring whatever model you like.