Reach your audience directly with personalized SMS campaigns. High-deliverability routing, custom sender IDs, and built-in opt-out management.
Send to thousands of recipients in a single API call with per-recipient variable substitution — names, promo codes, links.
Send from your brand name (e.g., "ACME") in countries that support alphanumeric sender IDs. Long codes and short codes available everywhere else.
Automatic STOP/UNSUBSCRIBE handling per sender ID. Replies are captured via webhook and opt-outs are enforced on subsequent sends.
Schedule campaigns to send at the right local time per recipient. Avoid late-night sends that generate complaints.
await client.sms.sendBulk({
messages: customers.map(c => ({
to: c.phone,
template: 'flash_sale',
variables: {
name: c.firstName,
discount: c.loyaltyTier === 'gold' ? '30%' : '20%',
code: c.promoCode,
}
})),
options: {
senderId: 'ACME',
scheduledAt: '2026-03-15T09:00:00-05:00',
idempotencyKey: 'campaign-spring-sale-2026',
}
})