How-to · 3 steps

How to run outbound
from an agent with Monid.

Give this to your agent
$set up https://monid.ai/SKILL.md, then draft my outbound and show me every message before anything sends

and let it take it from there.

›draft the outbound and show me before it sends
#JobWhat came backCost
1Check the block listempty, and free to read
2Draft ita draft id, nothing sent
3Review the queuethe draft, labelled and waiting
4Send ita message id, and it arrives
5Watch for a replylabels say received, unread
6Follow up in threada different thread id entirely
7The addressnot a purchase, a subscription
8Prepared foreverything before the send
one campaign drafted · one message sent · one reply watchedagent running$0.001

Real run, 2026-09-25. Test mailboxes only, no outside recipient.

Step 1

Set up Monid.

One line. It installs the CLI and asks for an API key from app.monid.ai. New accounts start with $1.00.

Say this to your agent
>set up https://monid.ai/SKILL.md
Step 2

Pick what you need. Say it in one sentence.

Click a job. Paste the sentence, fill in the brackets.

What is already running, and what it costs

Say this to your agent
>list every inbox in my workspace with agentmail on monid and give me the renewal price and period for each. tell me the monthly total before i create another one
What the agent runsdone
agentmail /list-inboxes$0.00
agentmail /inboxes/{id} · not run$0.00
agentmail /release-inboxes/{id} · not run$0.00
What came backtwo test mailboxes · 2026-09-25
What the mailboxes costUS dollars a month
one mailbox$1.00
this workspace$15.00
what we found15 mailboxes already open, most from experiments nobody closed, for a standing $15.00 a month
the renewaleach carries a block with a dated period end, and the price in it is in micro-dollars: the value reads 1000000 and means $1.00
so read the unitan agent that prints the raw value tells its user each mailbox costs a million dollars a month
the fixthere is a release endpoint, it is free, and nothing calls it for you
$0.00free to look

Give the agent its own address

Say this to your agent
>before you create an inbox with agentmail on monid, list the inboxes i already have and read the renewal block on one of them: the catalog says $1.00 per call and says nothing about renewal, so listing first is the only way to learn it is monthly without paying to find out
What the agent runsdone
agentmail /create-inboxes$1.00
agentmail /create-domains · not run$0.00
agentmail /release-inboxes/{id} · not run$0.00
What came backtwo test mailboxes · 2026-09-25
what came backan address, a display name and a created timestamp, immediately usable
the catchthe listed price is per call, but the inbox renews at the same price every month, and nothing in the endpoint's own pricing says so: it reads PER_CALL $1.00 with an empty notes field
so asking the catalog does not workan agent told to inspect the endpoint and report before running answers one-off, and is wrong; the recurrence shows up only on the renewal block of an inbox you already hold
which is why the sentence lists firstone free call on an existing mailbox tells you the price is monthly before any money moves
the habitcreate one mailbox per agent, not one per task, and release it when the task ends
$1.00per inbox, then monthly

Read what arrived

Say this to your agent
>list the messages in <inbox> with agentmail on monid and read the newest one. listing and reading are free, so do not batch them to save money. if you filter by subject, pass one plain word rather than the whole subject line: the match is tokenised, a term with punctuation in it finds nothing, and two terms in the array are ANDed rather than ORed
What the agent runsdone
agentmail /list-messages$0.00
agentmail /messages/{id}$0.00
agentmail /list-threads$0.00
What came backtwo test mailboxes · 2026-09-25
what came backthe full message: headers, authentication results, size, plain text and extracted text
the labelsreceived and unread, which is how an agent decides what it has not handled
the pricenothing, so an agent can poll its own mailbox as often as it likes
the subject filter does work, tokenisedon a 28-message mailbox the literal subject v1.4 is live returned nothing, while is live, v1 and live each returned the two matching messages, because the term is tokenised and the punctuation in v1.4 splits it
and the array is ANDtwo terms in one filter returned zero rather than the union, so it narrows where a reader expects it to widen
the failure is silenta malformed filter comes back 200, COMPLETED, count zero and $0.00, which looks exactly like an empty mailbox
$0.00free, every time

Who must never be contacted

Say this to your agent
>list the send-direction block entries for <inbox> with agentmail on monid before you draft anything, and refuse to draft to anyone on it. it takes a body with direction and type, not query params
What the agent runsdone
agentmail /list-allow-block-entries$0.00
agentmail /create-allow-block-entries · not run$0.00
agentmail /delete-allow-block-entries · not run$0.00
What came backtwo test mailboxes · 2026-09-25
what came backan empty list, because nothing has ever been suppressed in this workspace
the pointa do-not-contact list costs nothing to keep and nothing enforces it for you
the shapeit wants a direction of send, receive or reply and a type of allow or block, in the body
the habitcheck it first, every run, because a reply asking to stop is worth more than the send that caused it
$0.00free to read and to write

Write the whole campaign before anything sends

Say this to your agent
>draft the outbound for <list> with agentmail on monid, one draft each, and show me all of them. do not send: drafting is free and i want to read every message first
What the agent runsdone
agentmail /create-drafts$0.00
agentmail /list-drafts$0.00
agentmail /update-drafts/{id} · not run$0.00
agentmail /drafts/{id} · not run$0.00
What came backtwo test mailboxes · 2026-09-25
What the outbound sequence costsUS dollars per message
check the block list$0.00
draft it$0.00
edit and review$0.00
send it$0.001
what came backa draft id, the recipients, the subject and the body, with nothing sent
the price$0.00 to write, $0.00 to edit, $0.00 to list, $0.00 to read back
why it mattersa human can review an entire campaign at no cost before one message leaves
a follow-up is set at creationthe field that makes a draft a reply is inReplyTo and it can only be passed when the draft is created: the update endpoint rejects it outright as an unrecognised key
there is no kind fieldan earlier version of this page called it a kind of plain, reply or forward. No such field exists anywhere in the API, so a reader looking for it finds nothing
$0.00however many you write

Send the queue, and see it arrive

Say this to your agent
>send the drafts i approved with agentmail on monid, one at a time, and show me each one arriving. this is the only step that bills, and it bills per recipient rather than per message, so tell me the recipient count before you send anything with more than one name on it
What the agent runsdone
agentmail /send-messages$0.001 / result
agentmail /reply-messages/{id}$0.001 / result
saperly /send-messages · not run$0.025
What came backtwo test mailboxes · 2026-09-25
The message against the addressUS dollars
send one$0.001
hold the address$1.00 / mo
what came backa message id and a thread id, and the message in the other mailbox seconds later
it is per recipientthe tenth of a cent is charged once per address on the message, so a draft to five people is $0.005 rather than $0.001
the ratiosending costs a tenth of a cent; the address that sends it costs a thousand times that a month
what that meansvolume is almost free and presence is the real cost, which is the opposite of most tools
the rule herethis test only ever sent between two mailboxes we created, never outward
$0.001per recipient

Follow a conversation

Say this to your agent
>reply to that message with agentmail on monid, then show me the thread from both mailboxes. tell me whether the thread ids match
What the agent runsdone
agentmail /reply-messages/{id}$0.001 / result
agentmail /threads/{id}$0.00
agentmail /list-threads$0.00
What came backtwo test mailboxes · 2026-09-25
the trapthe send returned one thread id and the receiving mailbox shows a different one for the same message
what travelsthe message id is identical on both sides; the thread id is local to the inbox you are reading
the reply does it tooa reply returns the replying mailbox's own local thread id, not the one the original sender holds, so the id changes again on the way back
what breaksan agent storing the thread id from a send will look it up in the other mailbox and find nothing
both sidesafter the reply, the sending mailbox lists two messages in its own thread
$0.001per reply

The phone side, before you commit

Say this to your agent
>list the numbers and voices available from saperly on monid. both are free to look at. do not provision a number or place a call without asking me first
What the agent runsdone
saperly /list-voices$0.00
saperly /list-numbers$0.00
saperly /provision-numbers · not run$2.00
saperly /place-calls · not run$0.005 / second
saperly /calls-transcript · not run$0.00
What came backtwo test mailboxes · 2026-09-25
the voices751 of them, listed for nothing before any number exists
two language counts, both realthe voices carry 52 language codes while the languages endpoint returns 42; the ten extra are regional variants such as en-GB and pt-BR, so quote which one you counted
the numbersan empty list, because none was provisioned: the phone side costs nothing until you commit
what it would cost$2.00 to provision a number, then $0.005 per second to place a call, so a four minute conversation is $1.20 and two of them cost more than the number
the free partreading a call transcript afterwards is $0.00, like reading email
$0.00free to survey
Step 3

Run the sequence with Monid.

Everything that prepares a message is free. The bill starts the moment something reaches a person, which is also the moment worth a human's eyes.

Prepare · $0.00
Block list$0.00who not to write to
Draft it$0.00nothing sent yet
Reaching out · cheapest first
Send email$0.001
Reply in thread$0.001
Send SMS$0.025
Call, per minute$0.3
Provision a number$2.00
Check it landed
List the mailbox$0.00
Call transcript$0.00what was actually said
Back to you
rowreached bycost
1Send email$0.001
2nothing new$0.00
3Reply in thread$0.001
4Send email$0.001
5nothing new$0.00
5 of 5 rows$0.003
Say this to your agent
>draft outbound to this list, check the block list first, and show me every message before you send any of it: <paste list>
“show me before you send”drafting, editing and listing are all $0.00, so review costs nothing
“check the block list first”it is free to read and nothing stops a send to someone on it
“keep the message id”the thread id is different in each mailbox; only the message id travels
“ask before you dial”a number is $2.00 to provision, a call is $0.005 a second, and reaching a real person is not reversible
“name the parameter shape”the one sentence here that said where the fields go was the only one that worked first try

One key. 1,700+ tools.

Email and phone are two aisles.

Mailboxes, threads, messagesagentmail · $0.00 to $1.00
Numbers, calls, transcriptssaperly · $0.00 to $2.00
Verify before you sendhunterio · $0.012 / check
Read what they replied tocontext.dev · from $0.0009
Who to write toapollo · $0.05 / call
The voice on the callelevenlabs · to $0.22 / call
Record the meetingrecall · $0.50 / meeting
Judge the replytypesafe · $0.042 / call

+ 1,700 more across 55 providers

Browse the catalog →