Skip to content

Threads

Threads group related messages into conversations within an inbox.

List Threads

suspend fun listThreadsExample() {
    val client = AgentMailClient()
    val result = client.listThreads("inbox-id") {
        limit = 10
    }
    for (thread in result.threads) {
        println("${thread.threadId}: ${thread.subject} (${thread.messageCount} messages)")
    }
    client.close()
}

Get a Thread

suspend fun getThreadExample() {
    val client = AgentMailClient()
    val thread = client.getThread("inbox-id", "thread-id")
    println("Subject: ${thread.subject}")
    println("Messages: ${thread.messageCount}")
    println("Senders: ${thread.senders}")
    client.close()
}

Delete a Thread

suspend fun deleteThreadExample() {
    val client = AgentMailClient()
    client.deleteThread("inbox-id", "thread-id")
    println("Thread deleted")
    client.close()
}

Thread Attachments

suspend fun threadAttachmentExample() {
    val client = AgentMailClient()
    val data = client.getThreadAttachment("inbox-id", "thread-id", "attachment-id")
    println("Content type: ${data.contentType}")
    println("Size: ${data.data.size} bytes")
    client.close()
}

Next Steps

  • Drafts — create, update, and send drafts
  • Monitoring — poll for new messages in real time
  • Auto-Reply — set up rule-based automatic replies