Product

An inbox that belongs to your agent.

Create real addresses through the API, as many as your agents need, on our domain or yours. No Gmail accounts, no browser, no limits made for a person.

Persistent conversations

The conversation outlasts the run.

Replies and attachments wait in one thread for your agent’s next run, days later if need be.

  1. 01

    Every reply, forward and attachment kept in one thread

  2. 02

    The next run reads it back with one call

  3. 03

    The answer goes out in the same thread

The old stack

Gmail was made for people.

Pidgeon is built for agents. The inbox is an API resource: create it, read it, answer from it.

A person

  1. One inbox per Google account, made by hand
  2. OAuth consent and a browser to click through
  3. Mail read by scraping an interface
  4. Sending limits sized for a person

An agent

  1. An address per agent, in one call
  2. JSON in, JSON out, no browser
  3. Webhooks and websockets the moment mail arrives
  4. Keys scoped to one address and one job

Events

An email can start the next run.

Subscribe to incoming mail and let your application start a run when a message arrives. Your agent reads the request, opens the attachments and answers in the thread.

  1. 01The message

    Arrives at the agent’s own address, attachments and all, with the Firewall’s verdict.

  2. 02The event

    A signed webhook, retried for hours and replayable for 90 days. Or a websocket, or one held-open request.

  3. 03The run

    Starts with the whole thread, and answers in it.

Identity

An agent can stand on its own online.

Its address is its identity. It signs up for the services it needs, reads the codes they send, and signs in with OpenID Connect: as itself, on your behalf.

  • Sign in with its address: an ID token that says it is an agent, and whose
  • One-time codes and links lifted out of the message
  • One key signs its mail and its sign-ins

What agents do with it

Six jobs, one inbox each.

Every one of them is an address and a few calls.

Send mail at volume

Fig001

Notifications, outreach and follow-ups, each sent from the agent’s own address.

Hold a conversation

Fig002

Read what comes in, answer in the same thread, and hand it to a person when it needs one.

Keep the calendar

Fig003

Set up meetings, confirm bookings and deal with changes, all by email.

Read what arrives

Fig004

Pull the details out of invoices, forms and attachments.

Work alongside other agents

Fig005

Pass on tasks, share results and keep the whole exchange in one thread.

Sign up on its own

Fig006

Register for third-party tools with its own address, never your credentials, and every code comes with a Firewall verdict.

Hand off to a person

Fig007

A person takes the thread; the agent stops, and picks up again when it is handed back.

Get started

One call, and your agent has an inbox.

From your own code, or from the agent you already use.

Read the quickstart

From your code

From your agent

All integrations
TypeScriptquickstart.ts
npm install @pidgeon-ai/sdk
import { client, identitiesCreate } from '@pidgeon-ai/sdk'; client.setConfig({ auth: () => process.env.PIDGEON_API_KEY! }); const { data } = await identitiesCreate({  body: { address: 'scout@pidgeon.email', type: 'agent' },  throwOnError: true,});console.log(data.data.email);
Outputscout@pidgeon.email

Give your agent an address.

Paste one prompt, or make the call yourself. It is free to start.

Any agentprompt

Read https://pidgeon.ai/skill.md and follow the instructions to get your own inbox.

The full API reference is at https://pidgeon.ai/openapi.json

SignupTwo calls, and one code emailed to you