Changelog
A weekly digest of new features and improvements across the Inkbox platform: the REST API, the TypeScript, Python, and Rust SDKs, and the CLI. Each week is dated to the Friday that closes it. SDK version tags mark changes to the SDKs and CLI themselves, which release in lockstep.
July 2026
July 24, 2026
- Contact memory with cited history. Inkbox can derive concise memories from a contact's email, SMS, iMessage, and call history, show the memory count and latest memory on contact records, and let you inspect the source correspondence behind each memory. Duplicate-contact merges keep the surviving contact's memories together. (SDK 0.5.5)
- Check messaging reachability before sending. A read-only capability lookup reports whether a phone number is currently reachable over iMessage, SMS, or RCS, so agents can choose the right channel before they send. (SDK 0.5.5)
- Connect MCP clients to an Inkbox identity. Compatible MCP clients can use an identity's email, messaging, calls, contacts, notes, and other available capabilities after you approve an identity grant or provide an identity-scoped API key.
- iMessage group chats from a dedicated outbound number. Agents with a dedicated outbound iMessage number can start group iMessage conversations with 2-8 recipients, continue a specific thread by
conversation_id, send media and expressive effects, read group history, and receive group webhook events. (SDK 0.5.4) - Dedicated iMessage numbers, self-serve. Claim and attach a dedicated inbound or outbound iMessage number while creating or updating an identity, or manage one later from the Inkbox Console. Dedicated outbound numbers can start conversations directly; dedicated inbound numbers give an agent its own iMessage address for people to message first. (SDK 0.4.26)
July 17, 2026
- IMAP and SMTP access. An agent's inbox can now be opened in an ordinary mail app. Add the account manually, sign in with the full inbox address and an API key scoped to that agent, and you get its mail in the client you already use: INBOX, Archive, Spam, Sent, Trash, and Drafts, push updates while the client is idle, and sends that go out through the same checks and quotas as sends made through the API. Changes flow both ways — read, archive, or delete a message from the client and the API sees it, and vice versa. Sending from a mail app is limited to the inbox you signed in as. See Use a mail app (IMAP/SMTP) to set it up. (SDK 0.4.24)
- Mailbox storage caps. Each inbox now has a storage cap set by your plan, covering inbound and outbound mail plus associated storage overhead. Receiving is never blocked: inbound mail always lands, and still counts toward the cap. A send that would push the inbox above its cap is refused with a
402until you free space or upgrade; deleting a message or a thread frees its storage immediately. Every mailbox reportsstorage_used_bytesandstorage_limit_bytes, in the API and in the SDKs and CLI, so an agent can watch its own headroom. See pricing for the per-plan caps and the Mail API: Mailboxes reference for the fields. (SDK 0.4.24)
July 10, 2026
- Phone calls with zero setup: Inkbox Voice AI. Until now, taking or placing a call meant running a WebSocket server to stream the audio. Flip an agent's incoming-call handling to
hosted_agentand Inkbox answers with Inkbox Voice AI, a platform-run voice agent, instead — no server, no code, no webhook required. It arrives knowing who's calling: the caller's contact card, the full history with that person across calls, texts, iMessage, and email, and whether they're reachable on each channel. Mid-call it can text or email the caller, record action items, and answer questions about Inkbox from the docs. Outbound errands work too — place a call withmode="hosted_agent"and a plain-languagereason, and the agent works the task. Steer it per agent with custom instructions and voice/model overrides, watch any live call's transcript from the Inkbox Console, and end one from the outside with the hangup endpoint. Everything the agent can reach is scoped to the one person on the call, by construction. Inkbox Voice AI is currently in beta. (SDK 0.4.22) - A structured package after every Voice AI call. The
call.endedwebhook now reports how a Voice AI call turned out —completed,no_answer,declined, orfailed, so a failed errand is never silent — and delivers the action items the agent recorded (post_call_action_items), in the same event as the transcript. The open items also appear on the call object itself, so they can be read back any time. The additions are additive: existingcall.endedconsumers keep working unchanged. (SDK 0.4.22) - Webhooks that arrive with the conversation. A webhook subscription can now ask for recent history to ride along inside the event, so an agent can act with context and skip the follow-up lookups. You choose per channel how much to include, recent emails, texts, or call transcripts, as either the last few items or everything within a time window, and set it up when you create or edit a subscription in the Inkbox Console or the API.
- Know when your email gets opened. When an agent sends or forwards a message it can include an invisible open receipt, and the message then reports when it was first opened and how many opens were seen. Treat the count as a rough signal rather than an exact tally, since some mail apps preload images and quick repeat opens can register as one. Whether it was opened, and when, is the part to rely on.
- Wake your agent on outside events. An agent can now be triggered by webhooks from the other services it works with, not just by email and texts. Each incoming event is checked against its source before it reaches the agent, and the agent picks up the work on a fresh thread.
- Get handed each call when it ends. A new
call.endedwebhook delivers a finished call to your agent without polling. You receive it even when you weren't holding the live call connection, so it's an easy post-call trigger — and when the call was transcribed, the delivery inlines an abridged transcript your agent can act on right away. Every delivery links to the full, authoritative transcript, and like other webhooks it's replayable and carries a stable ID. (SDK 0.4.20) - Hang up a call from the outside. A call could previously only be ended from inside it, by the agent on the line. A new hangup endpoint ends any live call by its ID, so a supervising process, a test harness, or an operator can tear a call down — say, one where nobody is speaking — without being on it. Available in the API, the SDKs, and the CLI. (SDK 0.4.20)
- Filter your comms lists by date. The message-, call-, text-, and iMessage-listing endpoints (and their conversation variants) accept an optional date range on
created_at— passstart_datetime/end_datetimeas bare dates for whole calendar days in a timezone of your choice, or as exact instants. Omitting them leaves listing behavior exactly as before. Available across the API, the SDKs, and the CLI. (SDK 0.4.20) - A clearer status for policy-blocked texts. An outbound text rejected for policy reasons before carrier handoff is stored with the
blocked_spam_filterdelivery status, and the SDKs now recognize it when reading message history. (SDK 0.4.20) - Configurable context and open tracking in the SDKs. The TypeScript and Python SDKs and the CLI now expose the conversation-context settings and open-tracking controls, and surface when a sent message was opened. (SDK 0.4.16)
July 3, 2026
- Calls over your agent's iMessage line. An agent that's connected with someone over iMessage can now place a voice call to them from that same line, no dedicated phone number required. The agent just names the recipient and Inkbox handles the rest.
- Reply-all for email. Agents can reply to everyone on a thread in one step. Inkbox figures out the right recipients from the original message, and BCC recipients are never re-included.
- An agent's full call history in one place. Calls are now organized by agent, so you can pull up every call an agent has made or received, across its current number, past numbers, and its iMessage line, along with any call's transcript.
- Choose how each agent answers the phone. Decide per agent whether incoming calls are accepted automatically, declined automatically, or handed to your own code, and set this up even for agents that don't have a dedicated number yet.
- Contact rules follow the agent. Allow and block rules now live on the agent itself rather than on individual mailboxes and phone numbers, so one set of rules covers an agent's email and phone and survives number changes. Existing per-mailbox and per-number rules keep working during the transition.
- Every agent signs its own webhooks. Webhook deliveries are now signed with a key unique to each agent, so you can rotate one agent's key without touching the others and always know which agent a delivery speaks for.
- See and replay every webhook delivery. Inkbox now keeps a seven-day log of every webhook delivery attempt, including what was sent and how your endpoint responded. If your endpoint missed one during an outage, replay it on demand without risking double-processing.
- Dedupe webhooks reliably. Every webhook event now carries a stable ID that stays the same across retries and replays, giving your handlers a dependable idempotency key.
- SDKs that find their own keys. The SDKs and CLI now pick up your API key from the environment or a local config file, so agents running in the background no longer need credentials wired in by hand. (SDK 0.4.12)
- One clean calling surface, organized around your agent. SDK 0.4.15 retires the old number-by-number call and transcript methods in favor of the agent-centered surface: one consistent way to place calls, browse history, and pull transcripts, whichever line they happened on. Pinned older SDK versions keep working. (SDK 0.4.15)
June 2026
June 26, 2026
- Replies that always thread correctly. When sending a reply, an agent can simply point at the conversation and Inkbox takes care of the email plumbing that keeps the reply threaded properly in the recipient's inbox.
- Complete transcripts on every call. If your integration brings its own speech-to-text or supplies its own agent audio, Inkbox now transcribes the side of the conversation you don't submit, so stored transcripts always cover both parties, in order.
- Setup guidance tailored to your agent's runtime. When an agent signs itself up, it can say which runtime it runs on and get next-step instructions specific to that runtime, including plugin setup where a plugin exists.
June 19, 2026
- Subscription plans with self-serve checkout. Inkbox now offers four plans (Free, Hobbyist, Developer, and Enterprise) with checkout and plan management right in the Inkbox Console. Upgrade instantly with prorated billing, or schedule a downgrade or cancellation for the end of your billing cycle.
- Connect with an agent straight from your phone. Starting an iMessage conversation with an agent is now a tap: the connect flow provides a tappable link and a QR code, with the opt-in text pre-filled.
- Texting-ready phone numbers by default. New phone numbers are now local numbers, which fully support texting. Existing toll-free numbers keep working as before.
June 12, 2026
- iMessage: a new channel for agents. Agents can now hold one-on-one iMessage conversations. People text a triage number to connect with an agent by handle, and agents can send and receive messages, react with tapbacks, share media, and show typing indicators, with contact rules and webhook events to match.
- Know when iMessages land. New webhook events report when an outbound iMessage is sent, delivered, or fails, so there's no more polling for delivery state. You can also see at a glance whether a recipient is currently connected, and conversations now survive reconnects.
- Give your agent a profile photo. Upload an avatar for an agent and it appears on the agent's iMessage contact card. Agents can even manage their own.
May 2026
May 29, 2026
- Route events wherever you need them. Webhook subscriptions let you choose exactly which events go to which endpoint, and fan the same events out to several endpoints independently. Existing webhook URLs were migrated automatically.
- Webhooks arrive with context. Webhook payloads now include the matched contacts and the agents involved, so your handler knows who's talking without extra lookups.
- One home for all your webhook routing. Webhook subscriptions replace the old per-mailbox and per-number URL fields, putting all your event routing in one place with filtering and fan-out included. Incoming-call webhooks still live on the phone number.
May 22, 2026
- Group texting. Agents can now start group texts with up to eight people, see delivery status per recipient, attach media to messages, and tell at a glance which conversations contain media. Group MMS is currently in beta.
- Let agents discover each other, on your terms. Agents in your organization are invisible to one another by default. You can now grant visibility agent by agent, or open an agent up to your whole organization, so agents can find and message each other.
- Track texts to the finish line. New webhook events follow every outbound text through its full lifecycle (sent, delivered, failed, or unconfirmed), with the reason attached when something goes wrong.
- Webhooks tell you who's writing. Mail, text, and incoming-call events now include the matching contact from your address book, so agents can greet known senders without an extra lookup.
- Manage SMS consent programmatically. Review who has opted in or out of texts from your numbers, and record consent you've collected elsewhere, all through the API.
- Fix a rejected SMS campaign in one step. If your text-messaging campaign registration is rejected, resubmit a corrected version in a single operation, including details that are normally locked after registration. Your numbers keep working throughout.
- Typed webhook payloads in the SDKs. The SDKs now ship ready-made types for every webhook payload, so your code can parse incoming events safely without hand-rolled shapes. (SDK 0.4.2)
May 15, 2026
- One agent, one mailbox, one tunnel. Every agent now comes with its mailbox and tunnel provisioned together and removed together, so an agent's whole footprint is managed as one unit.
- Agent names are yours for good. Handles, tunnel names, and platform email addresses now live in one global namespace and stay reserved permanently once claimed, even after deletion, so nobody can squat a name your agent has used.
- Simpler tunnel authentication. Tunnel connections now authenticate with your regular API key instead of a separate per-tunnel secret: one less credential to store and rotate.
- Clean up contacts in bulk. Delete up to 1,000 contacts in one request, with per-contact results so one bad entry doesn't fail the whole batch.
- Contact imports that cope with real-world numbers. Importing contacts from vCard files now normalizes phone numbers automatically, using the card's country as a hint, instead of rejecting cards with locally formatted numbers.
- Describe your agents. Every agent identity can now carry a free-form description of what it's for, shown wherever the identity appears.
- See where a number is from. Phone number details now show the US state of local numbers, useful when an agent's regional presence matters.
- Tunnels from the command line. The CLI can now manage tunnels end to end, and identity commands gain options for display names, descriptions, email addresses, and TLS mode. (SDK 0.4.0)
May 8, 2026
- Tunnels: a stable public URL for your agent. Every agent can get a permanent public HTTPS address like my-agent.inkboxwire.com that forwards traffic to a process running anywhere (a laptop, a NAT'd network, a locked-down private network) over a single outbound connection. Webhooks, WebSockets, large uploads, and full end-to-end TLS are all supported.
- Review what your contact rules blocked. Blocked calls and texts are no longer invisible: admins can filter any call or text list down to what was blocked and confirm the rules are doing what you intended.
- Mint agent API keys programmatically. You can now create agent-scoped API keys with your admin key, instead of only from the Inkbox Console.
- Tunnels show their public address and carry your notes. Tunnel details now include the public hostname, and you can attach your own metadata to each tunnel. Naming conflicts come back as clear, machine-readable errors.
May 1, 2026
- Bring your own email domain. Send and receive email at addresses on your own domain instead of the default inkboxmail.com. Inkbox generates the DNS records, walks you through verification, and rotates signing keys with no sending downtime.
- Agents can send texts. Outbound SMS from agent phone numbers, with delivery tracked at every stage and webhook events to match.
- Register your own SMS brand and campaign (10DLC). Organizations can now text under their own brand registration instead of Inkbox's shared one, and switch between the two at any time.
April 2026
April 24, 2026
- Decide who can reach your agents. Allow and block lists for each agent's email and phone, with a default stance for unknown senders. Blocked email lands in a dedicated folder instead of the inbox.
- A real address book for agents. Create, search, and manage contacts, import existing ones from vCard files, and export any contact as a vCard.
- A notepad for agents. Agents get persistent notes with full-text search. Notes start private to the agent that wrote them and can be shared with specific other agents.
- Share contacts and notes between agents. Grant specific agents access to a contact or note, see who has access, and revoke it at any time.
- Forward email. Agents can forward any stored message, inline or attached whole, and set a reply-to address so responses go where you want. A webhook event fires on every forward.
- Find contacts faster. Contact search now also looks at job titles and notes, and you can look someone up by a fragment of an email address, a domain, or part of a phone number.
- Contacts, notes, and contact rules everywhere. The full address-book stack is now in the SDKs and CLI: contacts with vCard import and export, notes, sharing across agents, contact rules, and mail folders. (SDK 0.2.11)
April 17, 2026
- Pick your handle at signup. Agents signing themselves up can now choose their handle, email address, and display name in the same request.
- Explore every webhook Inkbox sends. A new catalog documents every event type with example payloads and signature samples, and you can list every webhook destination configured across your organization.
April 10, 2026
- Manage API keys through the API. Create, list, update, and revoke your organization's keys programmatically, scope a key to a single agent, and let a key inspect or revoke itself.
April 3, 2026
- Agents can sign themselves up. An AI agent can register itself with just its human sponsor's email address and immediately receive its own email address, organization, and API key. Until the sponsor verifies, the agent can only email its sponsor; verification unlocks everything else.
- A complete agent in one request. Creating an identity can now set up everything at once: a mailbox, a phone number, and access to vault secrets.
- Pick your agent's email address. Choose the mailbox address you want instead of a randomly generated one. Unavailable addresses are rejected up front, not after the fact.
- Rotate your vault key. Replace your primary vault key in place, or recover with a one-time recovery key if the primary is lost. Recovery keys are consumed the moment they're used.
- Start your vault over. Admins can delete a vault and everything in it from the Inkbox Console, then initialize a fresh one. Deletion is irreversible.
March 2026
March 27, 2026
- An encrypted vault for agent credentials. Store credentials and other secrets in a zero-knowledge vault: everything is encrypted and decrypted on your side, and Inkbox stores only ciphertext it can never read.
- Agents can receive texts. Agent phone numbers now accept SMS and MMS with media, threaded into conversations with read tracking and search, and pushed to your webhook as they arrive.
- Control which agents use which secrets. Grant and revoke vault access per agent and per secret. Agents can also drop their own access to a secret they no longer need.
- Get notified of incoming texts. Point a phone number at your webhook and Inkbox notifies you whenever the agent receives a text.
- Text conversations at a glance. One summary per conversation, ordered by recent activity, with the latest message preview and unread counts that only count messages the agent received.
- Filter messages by folder. Fetch just the messages in a given folder, like the inbox or spam.
- Inkbox CLI: drive Inkbox from your shell. Identities, email, phone, and the vault, all scriptable with JSON output and runnable end-to-end examples. (SDK 0.2.1)
- Two-factor codes from the vault. Login secrets can now store a two-factor configuration, and agents generate standard TOTP codes on demand. Codes are computed client-side; the secret never leaves the vault unencrypted. (SDK 0.2.1)
- Agents use credentials without touching vault internals. Once unlocked, an agent can list and read exactly the credentials it has been granted, and nothing more. (SDK 0.2.0)
March 20, 2026
- Email folders with automatic spam routing. Threads are organized into folders: new mail lands in the inbox, suspected spam is filed into its own folder, and threads can be moved between folders.
- Faster bounce notifications. If a recipient's domain doesn't exist, the agent finds out in about a minute instead of waiting hours for the message to time out.