title | sidebarTitle | description |
---|---|---|
SMS Channel Overview |
Overview |
Learn the process of configuring and using sms providers with Novu |
Novu can be used to deliver sms messages to your customers using a unified delivery API. You can easily integrate your favorite sms provider using the built-in integration store.
<iframe src="https://www.loom.com/embed/1d12bede8bf5482185ac626c2130cf33" width="100%" height="400px" frameBorder="0" allowFullScreen></iframe>When creating a SMS provider integration you will be asked to provide additional fields alongside the provider-specific credentials:
- From - Will be displayed as the sender of the SMS
Additional credentials can be API key, username, password or other provider specific credentials.
Some countries have strict restriction of using verified `from` sender id (name). Kindly check country and provider specific requirements first.The overrides field supports a sms
property and from
, to
, content
field overrides. This allows you to send a message to a different recipient, from a different sender, or with a different content.
import { Novu } from '@novu/node';
const novu = new Novu('<NOVU_API_KEY>');
novu.trigger('<WORKFLOW_TRIGGER_IDENTIFIER>', {
to: {
subscriberId: '<SUBSCRIBER_ID>',
}
overrides: {
sms: {
to: '+123012345678',
from: 'Novu Team',
content: 'This SMS message is from overrides'
},
},
});
In Novu integration store, multiple SMS channel type provider integrations can be active at the same time. But only one provider integration can be primary at a time. This primary integration will be used as a provider to deliver the SMS by default. If you want to use a different active provider integration then you can use the integrationIdentifier
sms overrides field.
If there are 4 active SMS integrations with these identifiers:-
- twilio-abcdef
- twilio-ghijkl
- firetext-abcdef
- infobip-abcdef
Here, if twilio-abcdef
is primary integration and you want to use infobip-abcdef
with this trigger then you can use integrationIdentifier
sms overrides field as below:-
const novu = new Novu('<NOVU_API_KEY>');
novu.trigger('<WORKFLOW_TRIGGER_IDENTIFIER>', { to: { subscriberId: '<SUBSCRIBER_ID>', }, overrides: { sms: { integrationIdentifier: "infobip-abcdef" }, }, });
</Tab>
</Tabs>
<Info> Integration identifier is similar to Provider identifier but it is different than Provider Id. It is unique for each integration. You can find the `integrationIdentifier` in the integration store page. </Info>
## Common errors
Common errors and reason for these errors while sending sms messages using Novu.
1. Subscriber does not have a configured channel.
- if the `from` field is missing / null / undefined.
<Snippet file="missing-provider.mdx" />