> ## Documentation Index
> Fetch the complete documentation index at: https://v0.x-docs.novu.co/llms.txt
> Use this file to discover all available pages before exploring further.

# SMS Channel Overview

> Learn the process of configuring and using sms providers with Novu

export const MissingProvider = ({channelName}) => <span>
    Are we missing a provider you'd like to use for {channelName ? channelName : "this"} channel? Please consider adding a new feature request on <a href="https://github.com/novuhq/novu/issues/new?assignees=&amp;labels=feature&amp;projects=&amp;template=feature_request.yml&amp;title=%F0%9F%9A%80+Feature%3A+">github</a> or help us upvoting the existing ones on our public <a href="https://roadmap.novu.co/roadmap">roadmap</a>
  </span>;

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 />

## Configuring SMS providers

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.

<Note>
  Some countries have strict restriction of using verified `from` sender id
  (name). Kindly check country and provider specific requirements first.
</Note>

## Sending SMS Overrides

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.

```javascript theme={null}
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'
    },
  },
});
```

## Using different SMS integration

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:-

1. twilio-abcdef
2. twilio-ghijkl
3. firetext-abcdef
4. 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:-

<Tabs>
  <Tab title="Node.js">
    ```javascript theme={null}
    import { Novu } from '@novu/node';

    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.

<Tip>
  <MissingProvider channelName="SMS" />
</Tip>
