> ## 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.

# Chat Channel Step

Use the chat channel step to send a message for providers like: Slack, WhatsApp, Discord and others.

```tsx theme={null}
await step.chat('send-chat', async () => {
  return {
    body: 'A new post has been created',
  };
});
```

## Provider Overrides

Some providers offer a rich DSL for styling the messages. Novu Framework offers a robust API to leverage the provider specific capabilities using the step `providers` option object.

Let's see an example of how to send a message to Slack using the `providers` option objet.

```tsx theme={null}
await step.chat('send-chat', async () => {
  return {
    body: 'A new post has been created',
  };
}, {
    providers: {
        slack: ({ inputs }) => ({
            text: 'A new post has been created',
            blocks: [
                {
                    type: 'section',
                    text: {
                        type: 'mrkdwn',
                        text: 'A new post has been created',
                    },
                },
            ],
        }),
    }
});
```

Default chat `body` field is still specified as a fallback value in case a provider specific configuration is not used.

<Info>
  Currently we only support `Slack` provider overrides. We are working on adding more providers.
</Info>
