Agentmail
Elixir client for the AgentMail API. AgentMail provides email infrastructure for AI agents — inboxes, sending, receiving via webhooks, and threading.
Installation
def deps do
[
{:agentmail, "~> 0.1.0"}
]
endUsage
# Create a client with your API key
client = Agentmail.client("am_your_api_key")
# Or configure via application config / env var
# config :agentmail, api_key: "am_..."
client = Agentmail.client()
# Create an inbox
{:ok, inbox} = Agentmail.Inboxes.create(client, %{
username: "support",
display_name: "Support Agent"
})
# Send an email
{:ok, result} = Agentmail.Messages.send(client, inbox["inbox_id"], %{
to: ["user@example.com"],
subject: "Hello!",
text: "Hi from my agent."
})
# Reply to a message (preserves threading)
{:ok, result} = Agentmail.Messages.reply(client, inbox_id, message_id, %{
text: "Thanks for reaching out!"
})
# List messages
{:ok, messages} = Agentmail.Messages.list(client, inbox_id)
# Set up a webhook for inbound emails
{:ok, webhook} = Agentmail.Webhooks.create(client, %{
url: "https://myapp.fly.dev/webhooks/email",
event_types: ["message.received"]
})API Coverage
| Module | Endpoints |
|---|---|
Agentmail.Inboxes | Create, list, get, delete inboxes |
Agentmail.Messages | Send, reply, reply-all, forward, list, get, update messages |
Agentmail.Threads | List, get, update, delete threads |
Agentmail.Webhooks | Create, list, get, update, delete webhooks |
Agentmail.Domains | Create, list, get, verify, delete custom domains |
EU Region
client = Agentmail.client(api_key: "am_...", base_url: "https://api.agentmail.eu/v0")License
MIT