Skip to content

andreibondarev/agentmail-elixir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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"}
  ]
end

Usage

# 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

About

Elixir client for the AgentMail API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages