By inkbox-ai
Integrate email, phone, SMS, and iMessage communication into AI agent workflows using Inkbox's Python and TypeScript SDKs and CLI. Manage identities, contacts, notes, encrypted vaults, and expose local servers via public tunnels.
Use when guiding or implementing the Inkbox agent self-signup flow, including verification, resend-verification, signup restrictions, and optional signup fields like agent handles or mailbox local parts.
Index of all Inkbox skills in this repository, including the example skills under `examples/`, with GitHub links and short guidance on when to use each one.
Use when running or writing shell commands with the Inkbox CLI (`inkbox` / `@inkbox/cli`) for identities, email, phone, text/SMS, iMessage, contacts, notes, contact rules, vault, mailbox, phone number, webhook, or signup workflows.
Use when writing Python code that imports from `inkbox`, uses `pip install inkbox`, or when adding email, phone, text/SMS, iMessage, contacts, notes, contact rules, vault, tunnels, or agent identity features using the Inkbox Python SDK.
Use when writing TypeScript or JavaScript code that imports from `@inkbox/sdk`, uses `npm install @inkbox/sdk`, or when adding email, phone, text/SMS, iMessage, contacts, notes, contact rules, vault, tunnels, or agent identity features using the Inkbox TypeScript SDK.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
API-first communication infrastructure for AI agents — email (with custom sending domains), phone, identities, encrypted vault (login credentials, API keys, key pairs, SSH keys, OTP, etc.), and tunnels (expose a local server at a public URL via outbound HTTP/2).
| Package | Language | Install |
|---|---|---|
inkbox | Python ≥ 3.11 | pip install inkbox |
@inkbox/sdk | TypeScript / Node ≥ 22 | npm install @inkbox/sdk |
@inkbox/cli | CLI / Node ≥ 22 | npm install -g @inkbox/cli |
Get an API key from the Inkbox Console, then:
from inkbox import Inkbox
with Inkbox(api_key="ApiKey_...") as inkbox:
# Create an agent identity with a linked mailbox
identity = inkbox.create_identity("my-agent", display_name="My Agent")
identity.provision_phone_number(type="toll_free")
# Send an email
identity.send_email(
to=["[email protected]"],
subject="Hello",
body_text="Hi from my agent!",
)
# List recent emails
for msg in identity.iter_emails():
print(msg.subject, msg.from_address)
# Place a phone call
call = identity.place_call(to_number="+15551234567")
# Send a text message (SMS/MMS); pass a list for group MMS.
identity.send_text(to="+15551234567", text="Hi from my agent!")
# Read text messages
for t in identity.list_texts():
print(t.remote_phone_number, t.text)
# Reply over iMessage (identity must be iMessage-enabled and the
# recipient connected to it via the shared triage line first)
identity.send_imessage(to="+15551234567", text="Hi over iMessage!")
import { Inkbox } from "@inkbox/sdk";
const inkbox = new Inkbox({ apiKey: "ApiKey_..." });
// Create an agent identity with a linked mailbox
const identity = await inkbox.createIdentity("my-agent", { displayName: "My Agent" });
const phone = await identity.provisionPhoneNumber({ type: "toll_free" });
// Send an email
await identity.sendEmail({
to: ["[email protected]"],
subject: "Hello",
bodyText: "Hi from my agent!",
});
// List recent emails
for await (const msg of identity.iterEmails()) {
console.log(msg.subject, msg.fromAddress);
}
// Place a phone call
const call = await identity.placeCall({ toNumber: "+15551234567" });
// Send a text message (SMS/MMS); pass an array for group MMS.
await identity.sendText({ to: "+15551234567", text: "Hi from my agent!" });
// Read text messages
const texts = await identity.listTexts();
for (const t of texts) {
console.log(t.remotePhoneNumber, t.text);
}
// Reply over iMessage (identity must be iMessage-enabled and the
// recipient connected to it via the shared triage line first)
await identity.sendIMessage({ to: "+15551234567", text: "Hi over iMessage!" });
# Create an agent identity (mailbox is created automatically)
inkbox identity create my-agent
# Send an email
inkbox email send -i my-agent \
--to [email protected] \
--subject "Hello" \
--body-text "Hi from my agent!"
# List recent emails
inkbox email list -i my-agent --limit 10
# Place a phone call
inkbox phone call -i my-agent --to +15551234567
# Send a text message (SMS/MMS; comma-separate --to for groups)
inkbox text send -i my-agent --to +15551234567 --text "Hi from my agent!"
# Reply over iMessage (identity must be iMessage-enabled and the
# recipient connected to it via the shared triage line first)
inkbox imessage send -i my-agent --to +15551234567 --text "Hi over iMessage!"
# Read text messages
inkbox text list -i my-agent
# Initialize vault (first time only — requires INKBOX_VAULT_KEY)
inkbox vault init --vault-key "my-vault-key"
# Manage vault secrets
inkbox vault create --name "CRM Login" --type login --username [email protected] --password s3cret
inkbox vault secrets
inkbox vault get <secret-id>
# Bring a local server online at https://my-app.inkboxwire.com.
# Outbound HTTP/2 only — no inbound port to open. POSIX only.
listener = inkbox.tunnels.connect(name="my-app", forward_to="http://127.0.0.1:8080")
print(listener.public_url)
listener.wait()
import { connect } from "@inkbox/sdk/tunnels/connect";
const listener = await connect(inkbox, {
name: "my-app",
forwardTo: "http://127.0.0.1:8080",
});
console.log(listener.publicUrl);
await listener.wait();
npx claudepluginhub inkbox-ai/inkbox --plugin inkboxiMessage messaging bridge powered by Linq with built-in access control. Manage pairing, allowlists, and policy via /imessage:access.
Messaging platform interaction skills for AI agents. Interact with Slack, Discord, Microsoft Teams, Webex, Telegram, Telegram Bot, WhatsApp, LINE, Instagram, KakaoTalk, and Channel Talk - send messages, read channels, manage reactions, upload files, and more through simple CLI interfaces.
Full Omni platform control — multichannel messaging, automations, events, batch ops via the omni CLI
Telnyx development plugin for Claude
Claude calls you on the phone when it needs your input or wants to report progress
Google Workspace (Gmail, Calendar, Drive) and iMessage integration for Claude Code