Skip to content

Inboxes

Inboxes are email addresses managed by AgentMail. Each inbox can send and receive messages, manage threads, and store drafts.

Create an Inbox

suspend fun createInboxExample() {
    val client = AgentMailClient()
    val inbox = client.createInbox("support", "example.com", "Support Team")
    println("Created: ${inbox.inboxId} (${inbox.email})")
    client.close()
}

List Inboxes

suspend fun listInboxesExample() {
    val client = AgentMailClient()
    val result = client.listInboxes {
        limit = 10
        ascending = true
    }
    for (inbox in result.inboxes) {
        println("${inbox.inboxId}: ${inbox.email}")
    }
    client.close()
}

Get an Inbox

suspend fun getInboxExample() {
    val client = AgentMailClient()
    val inbox = client.getInbox("inbox-id")
    println("Display name: ${inbox.displayName}")
    println("Email: ${inbox.email}")
    client.close()
}

Update an Inbox

suspend fun updateInboxExample() {
    val client = AgentMailClient()
    val updated = client.updateInbox("inbox-id") {
        displayName = "New Display Name"
    }
    println("Updated: ${updated.displayName}")
    client.close()
}

Delete an Inbox

suspend fun deleteInboxExample() {
    val client = AgentMailClient()
    client.deleteInbox("inbox-id")
    println("Inbox deleted")
    client.close()
}

Pagination

All list operations support pagination with pageToken:

suspend fun paginateInboxesExample() {
    val client = AgentMailClient()
    var pageToken: String? = null

    do {
        val finalToken = pageToken
        val result = client.listInboxes {
            limit = 25
            finalToken?.let { this.pageToken = it }
        }
        for (inbox in result.inboxes) {
            println(inbox.email)
        }
        pageToken = result.nextPageToken
    } while (pageToken != null)

    client.close()
}

The same pagination pattern works for all list operations in the SDK (messages, threads, drafts, etc.).

Next Steps

  • Messages — send, reply, and forward messages
  • Threads — list and manage conversation threads
  • Drafts — create, update, and send drafts