← ClaudeAtlas

migrate-to-sentlisted

Plans and executes a migration from Twilio, Sinch, Infobip, Vonage, or MessageBird/Bird to Sent v3 — mapping send calls, status vocabularies, webhook signature schemes, opt-out stores, templates, and tenancy models, then cutting over safely with dual-run and rollback. Use when replacing an incumbent CPaaS provider, translating provider code or webhook handlers to Sent, or planning a phased cutover and its verification gates.
aiskillstore/marketplace · ★ 421 · AI & Automation · score 80
Install: claude install-skill aiskillstore/marketplace
# Migrate to Sent Every migration from a major CPaaS provider hits the same five translation problems. Work them in this order, because the first one silently doubles cost and is invisible in tests. ## 1. Ordered fallback becomes automatic routing Incumbent platforms express cross-channel delivery through different caller-side arrays, failover objects, messaging-service features, or application-level priority configuration. Do not assume those shapes have a direct Sent request-field equivalent. **Sent's `channel` array is a broadcast list.** Porting an ordered array produces one message and one charge per recipient-channel pair, which passes tests and multiplies production spend. The correct translation is automatic routing — omit `channel` or send `["sent"]` — which lets the platform select a route and reroute across up to three channel-and-provider pairs on the same `message_id`. Details belong to `sent-routing-strategist`; the migration rule is simply: **never port an ordered channel list.** ## 2. Status vocabularies do not line up Incumbent statuses map onto Sent's, but Sent adds two states that have no equivalent and that break naive retry logic. | Sent status | Closest incumbent analogue | Migration note | | --- | --- | --- | | `QUEUED` | Twilio `queued`, Sinch `QUEUED_ON_CHANNEL` | Accepted, not sent | | `ROUTED` | no analogue | Route chosen; fires again on reroute | | `SENT` | Twilio `sent`, Sinch `MESSAGE_SUBMIT` | Provider handoff only | | `DELIVERED` | `deli