Photon vs Dial

Compare Photon and Dial side by side: iMessage features, channels, developer tools, pricing and compliance, checked on each provider's own site.

Photon

Open-source agent framework with managed iMessage
Starting price
$25/month (Pro)
Free plan
Free: shared iMessage lines, up to 10 users (2.0 beta: 25 shared iMessage assignments and $100 credit)

Dial

Phone numbers with calls, SMS and iMessage for AI agents
Starting price
$3/month per standard number; $250/month per iMessage number
Free plan
$5 free credit, no credit card required

Photon supports 75 of the 77 features compared here, and Dial supports 44.

Where Dial is ahead

Nothing on this list that Photon lacks.

Feature comparison

FeaturePhotonDial
iMessage messaging
iMessage
SupportedManaged cloud lines, or your own Mac with the local provider
SupportedNeeds an iMessage number, provisioned through the API. Pay-as-you-go accounts only.
Group chats
SupportedOn the Business plan (dedicated lines)
SupportedSend to and read iMessage groups the number was added to. Polls work in groups; replies and reactions do not.
Group management
SupportedCreate groups and add, remove or leave members; Business plan (dedicated lines)
Not supportedDocs say Dial cannot create a group, join one or accept an invite link.
Group name and photo
SupportedRename groups and set group photos; Business plan (dedicated lines)
Not listedGroup names are read live from the line; no way to set a name or photo is documented.
Mentions
SupportedSend @mentions in multipart messages and read mention ranges on inbound
Not listed
Tapbacks
SupportedSix native tapbacks plus emoji reactions, send and receive
SupportedSix tapback names or any single emoji. Sent only on inbound messages; received on message.received.
Threaded replies
Supported
SupportedNative threaded replies to inbound iMessage or RCS messages, one-to-one only.
Typing indicators
Supported
PartialSend only, one-to-one and in groups. No inbound typing events are documented.
Read receipts
SupportedMark chats read and receive read events; group receipts are best-effort
PartialReports when recipients read your iMessages. No way to mark inbound messages read.
Edit and unsend
SupportedEdit within 15 minutes and unsend within 2 minutes (Apple limits)
Not listed
Message effects
SupportedAll bubble and screen effects, including invisible ink
Not listed
Animated text effects
SupportedPer-range effects such as bloom, shake, explode and jitter
Not listed
Stickers
SupportedPlace image stickers on any bubble with position, scale and rotation; sticker events inbound
Not listed
Formatted text
SupportedMarkdown rendered as native bold, italic, underline and strikethrough
Not listed
Attachments
SupportedFiles up to 100 MiB by default, including Live Photos
SupportedOne attachment per iMessage, 5 MB. Images, audio, video, PDF, vCard and iCalendar. No HEIC.
Live Photos
SupportedHEIC still plus MOV companion uploaded as one Live Photo
Not listed
Rich link previews
Supportedrichlink() asks Messages to render its own preview
Not listed
Voice messages
Supported
SupportedA single audio file on an iMessage number is sent as a native voice message.
Contact cards
SupportedvCard or structured contacts, plus the bot's own native contact card
SupportedSend .vcf files as media. Inbound cards arrive as text/vcard media (since October 2026).
Polls
SupportedCreate, vote, add options and receive poll events; all managed plans
Supported2 to 10 options, one-to-one or in iMessage groups. Votes arrive as events with a live tally.
Chat backgrounds
Supported
Not listed
Location sharing
SupportedFind My requests and live location; Business plan
Not listed
iMessage apps
SupportedCustom and live app cards; iMessage mini apps on the Business plan
Not listed
Live app cards
SupportedEdit an app card in place and render live UI without a new bubble
Not listed
Sender name and photo
SupportedShares the agent's name and photo automatically; Business plan
SupportedSet the first name, last name and photo shown beside the number's iMessages.
FaceTime calls
Not listed
Not listed
Delivery status
SupportedSent, delivered, read and send-error fields per message
PartialiMessage sends report no delivery receipts; delivery is inferred once a read arrives.
iMessage availability check
SupportedCheck if a number or email can get iMessage, SMS or RCS before sending
SupportedLookup endpoint checks whether any number can receive iMessage or WhatsApp.
Focus and Notify Anyway
SupportedCheck if a recipient has Focus on, then trigger Notify Anyway
Not listed
Numbers and delivery
Managed lines
SupportedSpectrum Cloud runs the Mac fleet; no Mac needed
SupportediMessage numbers are provisioned through the API, with asynchronous setup. No Mac or device needed.
Dedicated numbers
Supported$250 per line per month on Business
SupportedEach number belongs to your account. Docs say only US numbers can be provisioned now.
Shared numbers
SupportedFree and Pro route each user through a managed shared pool
Not listed
Bring your own number
SupportedYour own Apple ID when self-hosting on a Mac, and your own number for WhatsApp Business
Not listed
Line pooling
SupportedBusiness: auto-scale adds lines and a routing endpoint balances users
Not listedDocs suggest splitting recipients across several iMessage numbers by hand; no automatic pooling found.
SMS fallback
SupportedOn every plan per pricing; carrier rules apply to fallback traffic
SupportediMessage numbers fall back to RCS or SMS automatically, at no message charge.
RCS fallback
Supported
Supported
Outbound-first messaging
SupportedBusiness plan, up to 50 new contacts per line per day
SupportedCold outbound allowed. Each iMessage number can start up to 50 new conversations a day.
Calls on the iMessage number
SupportedPlace and receive SIP calls from the line people already text
SupportediMessage numbers also place and receive AI voice calls, or forward inbound calls.
Other channels
SMS
BetaStandalone SMS and MMS numbers with 10DLC in the 2.0 beta; SMS fallback on iMessage lines today
SupportedTwo-way SMS; MMS to US and Canada. Subscription accounts can text US numbers only.
RCS
PartialSent on the iMessage line when the recipient cannot get iMessage
PartialOnly as automatic fallback from iMessage numbers; not a channel you can pick.
WhatsApp
SupportedWhatsApp Business, one-to-one, on the Business plan
BetaBeta, enabled per account. Runs on an iMessage number, one attachment per message.
Telegram
Supported
Not supportedNot offered
Slack
Supported@spectrum-ts/slack provider on npm and GitHub
Not supportedNot offered as a channel. A Zapier app can forward messages to Slack.
Email
BetaYour own domain with DKIM, SPF and inbound MX in the 2.0 beta
Not supportedNot offered
Phone calls
SupportedSIP calls on iMessage lines; the 2.0 beta adds calls on SMS numbers
SupportedInbound and outbound AI voice calls with transcripts.
Apple Messages for Business
BetaListed as available in the 2.0 beta
Not listedDocs say iMessage numbers send over Apple Messages for Business, but no business chat product is documented.
Unified channel API
SupportedOne Spectrum SDK across channels, and one REST model in the 2.0 beta
SupportedOne messages endpoint and event format for SMS, iMessage and WhatsApp, plus calls.
Developer tools
REST API
SupportedREST API for projects and lines; sending over REST in the 2.0 beta
Supported
TypeScript SDK
Supportedspectrum-ts, plus low-level iMessage and WhatsApp SDKs
Supported@getdial/sdk
Python SDK
Betaphotonhq-api on PyPI, for the 2.0 beta API
Supporteddial-sdk
Other SDKs
SupportedGo client for Advanced iMessage; Rust and Go clients for the 2.0 API
Not supportedSDK overview lists only Node and Python clients, plus agent framework packages.
CLI
Supported@photon-ai/cli manages projects, lines, users and billing
Supporteddial CLI, installed with a shell script or npx. Needs Node 22 or later.
Webhooks
Supported
Supported
Signed webhooks
SupportedHMAC-SHA256, plus Standard Webhooks signatures
SupportedHMAC-SHA256 over timestamp and body, X-Dial-Signature header.
MCP server
SupportedHosted MCP server, plus an MCP server for the docs
SupportedRemote server with OAuth at getdial.ai/mcp, or local stdio through the CLI.
Open source
SupportedMIT: spectrum-ts, imessage-kit and most SDKs
PartialThe Chat SDK adapter is MIT on GitHub. The platform is closed.
Self-hosting
SupportedRun the open-source core on your own Mac and number, no Spectrum Cloud
Not listedSelf-Hosted mode only means calls are driven by your own agent server; the platform itself is hosted.
Local testing
SupportedTerminal chat UI provider, no phone or number needed
Not listed
Custom channel providers
SupporteddefinePlatform plugs any interface into the same Spectrum API
Not listed
Event replay
SupportedCatch up on events after a disconnect from a durable sequence
PartialWebhooks retry up to 6 attempts. The live stream replays only about 2 minutes of missed events.
OpenTelemetry
SupportedOpt-in messaging traces in spectrum-ts, and traces in the 2.0 beta dashboard
Not listed
No-code integrations
Supportedn8n community nodes and a Dify plugin
SupportedZapier app with message and call triggers, and send, call and provision actions.
CRM integrations
Not listed
Not listed
Built for AI agents
Agent framework
SupportedSpectrum is a multi-channel agent framework with streaming replies
PartialHosted AI voice agent runs calls from a prompt. Messaging is send and receive only.
Agent framework integrations
SupportedVercel Chat SDK, Mastra, LangChain, Convex and others
SupportedLangChain, Vercel AI SDK, CrewAI, AutoGen, Microsoft Agent Framework and a Vercel Chat SDK adapter.
Streaming replies
SupportedAI output streams into one iMessage bubble, edited in place
Not listed
Agent group chats
BetaAgents find other agents and add them to a group chat (2.0 beta)
Not listed
Human handoff
BetaA person can reply in a conversation from the 2.0 beta Inbox
PartialThe voice agent can transfer a call to a person. No handoff for messaging.
Audit logs
BetaAPI logs and traces in the 2.0 beta dashboard
Not listed
Message history API
SupportedList and get messages per chat
SupportedList and search messages, up to the 100 most recent per request.
Plans and compliance
Free plan
SupportedUp to 10 users on shared lines
Supported$5 of free credit, no card. Free accounts are capped at 5-minute calls and 2 concurrent calls.
Public pricing
Supported
Supported
No per-message fees
SupportedNo per-message fees for iMessage, WhatsApp or Telegram; SMS, voice and email are metered in the 2.0 beta
PartialMessages from a $250/month iMessage number are free. SMS on standard numbers is billed per message.
Uptime SLA
SupportedContractual SLA on the Enterprise plan
PartialUptime SLA listed for Enterprise only.
Isolated infrastructure
SupportedEach line runs in an isolated, dedicated environment
Not listed
SOC 2 Type II
SupportedStated on photon.codes
PartialSite says SOC 2 certified. Report type and a report are not published.
GDPR
SupportedPrivacy policy covers GDPR rights and SCC transfers
SupportedDPA covers GDPR and UK GDPR, with Standard Contractual Clauses.

Checked on each provider's own site and docs on 2026-10-25. “Not listed” means the provider does not mention it.

Pricing

Photon

Free plan, Pro at $25/month, Business at $250 per dedicated line per month, and custom Enterprise; the 2.0 beta adds metered SMS, voice and email.

Pricing model: plan tiers plus flat fee per dedicated line

Source

Dial

Pay-as-you-go starts with $5 of free credit. A standard number is $3 a month plus metered SMS and calls, an iMessage number is $250 a month with free messages, and Enterprise is custom.

Pricing model: per number plus metered usage; iMessage messages free on an iMessage number

Source

Which should you choose?

Choose Photon if you need group management, group name and photo, mentions and edit and unsend.

Choose Dial if its pricing fits better: it does not support anything here that Photon lacks.

Frequently asked questions