Hermes Identity Guide

Hermes with a real phone number and email address.

Overview

Hermes Identity is the Hermes runtime plus a per-agent Inkbox identity: a real email address, an SMS-capable phone number, and a public tunnel hostname. Inbound email and SMS are bridged into the agent automatically, and the agent can send replies back out through the same identity.

Docker Image

Image: ghcr.io/mariagorskikh/hermes-inkbox:2026.6.4 — aninkbox-ai/hermes-agent fork with the Inkbox gateway adapter built in.

Same runtime layout as the Hermes template: gateway on port 8642, dashboard on port 9119, HOME at /opt/data.

What Gets Provisioned

At create time Maritime calls Inkbox POST /api/v1/identities to atomically provision:

  • An identity with handle maritime-<agent-id-prefix>
  • A mailbox at <handle>@inkboxmail.com
  • A public tunnel at <handle>.inkboxwire.com
  • A local US phone number (sends and receives SMS, voice auto-reject)
  • A scoped API key bound to that identity only
# Env vars set on the container:
INKBOX_API_KEY=<scoped key, encrypted>
INKBOX_IDENTITY_ID=<uuid>
INKBOX_AGENT_HANDLE=maritime-<prefix>
INKBOX_EMAIL=<handle>@inkboxmail.com
INKBOX_PHONE_NUMBER=+1...
INKBOX_PHONE_NUMBER_ID=<uuid>
INKBOX_TUNNEL_HOST=<handle>.inkboxwire.com

SMS Warm-up

New local numbers go through 10DLC campaign propagation, which takes ~10–15 minutes. During that window inbound SMS works immediately, but outbound returns 409 sender_sms_pending. The agent page surfaces this as "warming up" rather than an error. Recipients must reply START to any number in the org before they can receive outbound SMS.

Environment Variables

Set OPENAI_API_KEY, or leave it blank and Maritime injects a per-agent proxy token so the agent bills against your Maritime LLM credits. All INKBOX_* variables are provisioned automatically — you never set them by hand.

Deploy

Select Template → Hermes Identity in the Create Agent modal, or:

maritime create my-agent --template hermes_identity

Identity provisioning happens during create, so the agent already has its phone and email by the time the container boots.