# App Channels Configuration

In this article, you will create a Communication App in the Partner Portal and declare which communication channels your app will handle. By the end of this article, your app will be registered and ready to receive message events from any merchant who installs it.


## Prerequisites

If you are new to Salla's Partners ecosystem, make sure you have the following before starting.

| Requirement | What you need to do |
|---|---|
| Partner account | [Sign up here](https://portal.salla.partners/) if you do not have one yet |
| Demo store | [Set up a demo store](https://salla.dev/blog/how-to-test-your-app-using-salla-demo-stores/) — you will use it to test with demo data |
| App Functions familiarity | Read the [App Functions reference](https://docs.salla.dev/1726817m0) if you have not built a function before |

:::check[Already a Salla partner?]
If you have an existing communication app and a demo store ready, skip straight to [Configure Supported Features](#configure-supported-features).
:::

## Create a new app


<Steps>
  <Step title="">
Log in to the [Partner Portal](https://portal.salla.partners/).
  </Step>
  <Step title="">
Clicking on `+ Create New App`, this will open the Create App form where you can choose the App type. Choose the Public App type then click on Continue


![image.png](https://api.apidog.com/api/v1/projects/451700/resources/375437/image-preview)

  </Step>
  <Step title="">
Fill in the basic app information and choose the Communication App Category.


![image.png](https://api.apidog.com/api/v1/projects/451700/resources/375439/image-preview)

  </Step>
    
<Step title="">
After completing the form click on the Create App button.


![image.png](https://api.apidog.com/api/v1/projects/451700/resources/375440/image-preview)

</Step>
</Steps>



:::warning[Why app type matters]
Selecting Communication App is what enables the Supported Features section in your app settings. Without it, the channel configuration options will not appear and you will not be able to build a communication app.
:::


## Configure Supported Features

Supported Features declare which communication channels your app handles. When a merchant installs your app and sets it as their active handler, Salla routes all matching messages through your App Function — your app takes full ownership of that message type.

:::danger[Action Required]
Your app cannot go live until at least one Supported Feature is selected.
:::

<Steps>
<Step title="">
In the Partner Portal, open your newly created communications app and scroll down to the **Supported Feature** section.


![image.png](https://api.apidog.com/api/v1/projects/451700/resources/375443/image-preview)
</Step>



<Step title="">
Click the **Supported Feature** button to open the channels selector. Then choose the features supported by your App and click Save.


![image.png](https://api.apidog.com/api/v1/projects/451700/resources/375444/image-preview)


| Tab | Feature | What your app handles |
|---|---|---|
| SMS | **Local SMS** | All SMS messages to KSA numbers (`+966...`) |
| SMS | **International SMS** | All SMS messages to numbers outside KSA |
| Email | **Email** | All email messages |
| WhatsApp | **WhatsApp** | All WhatsApp messages |
</Step>
</Steps>


:::check[Handling multiple channels]
You can select multiple features. For example, tick both **Local SMS** and **International SMS** if your provider handles both. Each feature you select means your app takes full ownership of that message type for every merchant who installs it.
:::

## Setup Webhook Events

ADD A SCREENSHOT FOR CUSTOMER READ_WRITE

After creating the communication app you will need to set it up according to the your app needs. First add your webhook url *(you can use [webhook.site](https://webhook.site/) for testing purposes)*. Then Scroll down to the Store Events in Webhooks/Notifications section and click on Add Events.

![image.png](https://api.apidog.com/api/v1/projects/451700/resources/375446/image-preview)

A pop-up page will display the Store Events list, here you can click on the Communication then tick the events you want to listen to. 


![image.png](https://api.apidog.com/api/v1/projects/451700/resources/375448/image-preview)


## What you have now

At this point you should have the following ready:

- Communication app created and configured with supported channels
- Demo store
- Webhook server and events ready

<!--

## What happens next

Once a merchant installs your app and selects it as their active handler from their dashboard, Salla stops using its default delivery layer for the channels you declared and starts routing those messages to your App Function instead.

You do not need to configure anything else on the app side for this to work — the Supported Features you just saved are enough for Salla to know what to route to you.

The next step is setting up your communication provider so you have credentials ready before you write your first function.

-->
