Postalytics for AI agents

Postalytics automates direct mail with deep CRM integration, making postcards and letters behave like a digital marketing channel. Marketing teams use it to run direct mail alongside digital campaigns. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

MarketingAPI keyMCP + RESTpostalytics.com
AUDIT LOG · POSTALYTICSPOLICY: acme-support
09:41:07 · claude · u_8f2read
postalytics.get_all_flows
Get All Flows✓ allowed · 212ms
09:41:08 · claude · u_8f2read
postalytics.get_my_account
Get My Account✓ allowed · 164ms
09:41:09 · claude · u_8f2write
postalytics.create_webhook
Create Webhook✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
postalytics.delete_account
Delete Account✕ blocked · policy: deny
EVERY POSTALYTICS CALL, ON THE RECORD
01 · USE CASES

What agents do in Postalytics.

01

Create a new direct mail campaign

Launch a new postcard or letter campaign targeting a contact list.

02

Check a suppression list read-only

Look up who is on a suppression list before sending a new mail campaign.

03

Delete a campaign with approval

Remove a scheduled campaign only after a marketing lead confirms it should be canceled.

02 · ACTIONS

24 Postalytics actions, graded by risk.

Every Postalytics action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

11

Look things up. Allowed by default.

  • postalytics.get_all_flows
    Get All Flows
  • postalytics.get_my_account
    Get My Account
  • postalytics.get_all_webhooks
    Get All Webhooks
  • postalytics.get_integrations
    Get Integrations
  • postalytics.get_suppression_list
    Get Suppression List
  • postalytics.get_all_contact_lists
    Get All Contact Lists
  • postalytics.get_suppression_lists
    Get Suppression Lists
  • postalytics.get_all_drip_campaigns
    Get All Drip Campaigns
  • postalytics.get_all_contacts_on_a_list
    Get All Contacts on a List
  • postalytics.get_suppression_list_contact
    Get Suppression List Contact
  • postalytics.get_suppression_list_contacts
    Get Suppression List Contacts

write

9

Create and change things. Allow, or ask the user first.

  • postalytics.add_account
    Add Account
  • postalytics.add_contact
    Add Contact
  • postalytics.create_webhook
    Create Webhook
  • postalytics.update_account
    Update Account
  • postalytics.create_template
    Create Template
  • postalytics.create_new_campaign
    Create New Campaign
  • postalytics.create_suppression_list
    Create Suppression List
  • postalytics.create_suppression_list_contact
    Create Suppression List Contact
  • postalytics.update_suppression_list_contact
    Update Suppression List Contact

destructive

4

Delete, cancel or archive. Ask first, or deny outright.

  • postalytics.delete_account
    Delete Account
  • postalytics.delete_campaign
    Delete Campaign
  • postalytics.delete_suppression_list
    Delete Suppression List
  • postalytics.delete_suppression_list_contact
    Delete Suppression List Contact
03 · HOW IT WORKS

Postalytics in three steps.

  1. 01Your users connect PostalyticsThey add their Postalytics api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “create Webhook” can wait for the user, and “delete Account” can be denied outright.
  3. 03Any agent can actYour agent calls Postalytics through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('postalytics', {
  read: 'allow',
  write: 'ask',        // create_webhook
  destructive: 'deny',  // delete_account
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Postalytics connects.

Users add their Postalytics api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

The same Postalytics connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Postalytics from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Postalytics and Arc0, answered.

Q01

Can I use Postalytics with Claude, ChatGPT or Cursor?

Yes. Connect Postalytics to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Postalytics actions you allow.

Q02

How do users connect Postalytics?

Users add their Postalytics api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

Q03

Which Postalytics actions can my agent take?

24 in total: 11 read, 9 write and 4 destructive, such as “create Webhook”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Postalytics?

Yes. Actions like “delete Account” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Postalytics too?

Yes. The same Postalytics connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Postalytics into your agent.

Your users connect Postalytics once, under your brand. Your agent gets 24 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan