# Project setup guide

This guide outlines the steps to set up your Pushwoosh project and messaging channels such as push notifications, message inbox, in-app messaging, email, WhatsApp, LINE, Kakao, SMS, and Apple and Google Wallet passes. Depending on the channel, you’ll configure platform settings, integrate SDKs (if required), and register user data.

Once a channel is configured, you can start sending messages through the Pushwoosh Control Panel or via the API.

## Prerequisites 

Before you start working with any communication channel, complete these steps:

* **Create a Pushwoosh account**

* **Use your default project or create a new one**
  A default project (**My project**) is created when you register. Use it for one app across multiple platforms, or create separate projects for different apps
  <LinkCard title="Learn how to create a project" href="/product/first-steps/start-with-your-project/create-your-project/" />


## Set up messaging channels 

<TitleIcon icon="push">
### Push notifications
</TitleIcon>


Send timely and personalized alerts to users across mobile and web platforms.

To enable push notifications:

<Steps>
1. **Configure your platform**

   Set up credentials for iOS, Android, Huawei, and Web. [Learn more](/developer/first-steps/connect-messaging-services/configure-project/)

2. **Integrate the SDK**

   Add the Pushwoosh SDK to your app or website. [Learn more](/developer/pushwoosh-sdk/pushwoosh-sdk-overview/)

3. **Test the integration and publish your app or website**

   Ensure push functionality works as expected.
   * For apps, release the version with integrated SDK to the app stores.
   For websites, just update your live site. [Learn more](/developer/first-steps/test-your-integration/test-devices/)

4. **Register users**

   Subscribe devices and sync user data to enable push delivery. [Learn more](/developer/first-steps/subscribe-users/)

5. **Set custom User IDs**

   Assign a custom User ID to unify a person's devices/contacts under one profile. [Learn more](/developer/first-steps/collecting-user-ids/)
</Steps>


Once the setup is complete, you can start [sending push notifications via the Control Panel](/product/messaging-channels/push-notifications/#start-sending-different-types-of-push-notifications) or use the [`Notify`](/developer/api-reference/messaging-api-v2/notify/) API method.

<TitleIcon icon="download">
### Message inbox
</TitleIcon>

Store important messages in a dedicated in-app space to reach users even if they opt out of push notifications.

To enable Message inbox:

<Steps>
1. **Configure platforms**

   Set up your app for push messaging on supported platforms. [Learn more](/developer/first-steps/connect-messaging-services/configure-project/)

2. **Integrate the SDK**

   Add Pushwoosh SDK to your app to enable inbox functionality. [Learn more](/developer/pushwoosh-sdk/pushwoosh-sdk-overview/)

3. **Register users**

   Sync user data to allow inbox message delivery. [Learn more](/developer/first-steps/subscribe-users/)

4. **Set custom User IDs**

   Assign a custom User ID to unify a person's devices/contacts under one profile. [Learn more](/developer/first-steps/collecting-user-ids/)

5. **Implement Message inbox**

   Follow platform-specific guides to implement inbox UI. [Learn more](/developer/guides/message-inbox/)

6. **Customize the UI (optional)**

   Customize the inbox appearance as needed. [Learn more](/developer/guides/message-inbox/)
</Steps>

Once integration is complete, you can deliver inbox messages using [Pushwoosh Customer Journey](/product/customer-journey/journey-elements/#save-to-inbox) or the [`Notify`](/developer/api-reference/messaging-api-v2/notify/) API method.

<TitleIcon icon="inapp">
### In-app messages
</TitleIcon>

Display contextual messages directly inside your app.

To enable in-app messaging:

<Steps>
1. **Configure your platform**

   Ensure your app supports in-app messaging. [Learn more](/developer/first-steps/connect-messaging-services/configure-project/)

2. **Integrate the SDK**

   Required for in-app message delivery. [Learn more](/developer/pushwoosh-sdk/pushwoosh-sdk-overview/)

3. **Test the integration and publish your app**

   Ensure in-app functionality works as expected and release the version with the integrated SDK to the app stores. [Learn more](/developer/first-steps/test-your-integration/)

4. **Register users**

   Ensure devices are subscribed and user data is synced. [Learn more](/developer/first-steps/subscribe-users/)

5. **Set custom User IDs**

   Assign a custom User ID to unify a person's devices/contacts under one profile. [Learn more](/developer/first-steps/collecting-user-ids/)
</Steps>

After setup, you can send in-app messages via [Customer Journey](/product/messaging-channels/in-apps/sending-in-apps/#send-in-apps-via-customer-journey) or use the [Instant in-apps](/product/messaging-channels/in-apps/sending-in-apps/#send-instant-in-apps) functionality.

<TitleIcon icon="email">
### Emails
</TitleIcon>


Reach your users with personalized email campaigns or transactional messages.

To start sending emails:

<Steps>
1. **Configure email platform**

   Authenticate your domain and sender address. [Learn more](/developer/first-steps/connect-messaging-services/email-verification/)

2. **Register users**

   Import and sync user email addresses. [Learn more](/developer/first-steps/subscribe-users/)

3. **Set custom User IDs**

   Assign a custom User ID to unify a person's devices/contacts under one profile. [Learn more](/developer/first-steps/collecting-user-ids/)
</Steps>

Once setup is complete, you can start sending emails using the Pushwoosh Control Panel or the [`Notify`](/developer/api-reference/messaging-api-v2/notify/) method.

<TitleIcon icon="whatsapp">
### WhatsApp 
</TitleIcon>

Engage users on one of the world’s most widely used messaging apps, delivering secure and approved messages that drive meaningful interactions.

To enable WhatsApp messaging:

<Steps>
1. **Connect your WhatsApp Business account**

   [Learn more](/product/first-steps/start-with-your-project/configure-platforms/whatsapp-configuration/)

2. **Approve templates**

   Submit your own templates to Meta or use pre-approved ones. [Learn more](/product/messaging-channels/whatsapp-messages/#create-whatsapp-templates)

3. **Register WhatsApp contacts**

   [Learn more](/developer/first-steps/subscribe-users/)

4. **Set custom User IDs**

   Assign a custom User ID to unify a person's devices/contacts under one profile. [Learn more](/developer/first-steps/collecting-user-ids/)
</Steps>

Once the integration is ready, you can send WhatsApp messages [using the Control Panel](/product/messaging-channels/whatsapp-messages/send-whatsapp-messages/) or the [`Notify`](/developer/api-reference/messaging-api-v2/notify/) API method.

<TitleIcon icon="sms">
### SMS
</TitleIcon>

Send text messages directly to user mobile numbers.

To enable SMS:

<Steps>
1. **Connect your SMS provider**

   [Learn more](/developer/first-steps/connect-messaging-services/sms-configuration/)

   For provider callback URLs, see [SMS provider webhooks](/developer/first-steps/connect-messaging-services/sms-configuration/sms-provider-webhooks/).

2. **Register phone numbers**

   Collect and format numbers correctly (E.164) with user opt-in. [Learn more](/developer/first-steps/subscribe-users/)

3. **Set custom User IDs**

   Assign a custom User ID to unify a person's devices/contacts under one profile. [Learn more](/developer/first-steps/collecting-user-ids/)
</Steps>

After setup, you can send SMS messages using the [Customer Journey](/product/customer-journey/journey-elements/#sms), or via the [`Notify`](/developer/api-reference/messaging-api-v2/notify/) API method.

<TitleIcon icon="line">
### LINE 
</TitleIcon>

Use LINE to connect with users via Customer Journeys, API, or 1:1 chat, using either templates or plain-text messages.
To start using LINE messaging:

<Steps>

1. **Set up your LINE accounts**
   Create a [LINE Official Business Account](https://www.linebiz.com/jp-en/) and a [LINE Developers Account](https://developers.line.biz/en/docs/line-developers-console/login-account/).

2. **Connect LINE to Pushwoosh**
   Configure the LINE platform in your Pushwoosh account. [Learn more](/developer/first-steps/connect-messaging-services/line-configuration/)

3. **Make sure LINE Messaging is set up and billing is enabled.**
   > **Important:** LINE Messaging API pricing is managed directly by LINE. Plans vary by region and usage volume. [View pricing details](https://developers.line.biz/en/docs/messaging-api/pricing/)

</Steps>


##### Next steps

* **Send messages via API**

  Use the Pushwoosh API to send LINE messages with template or plain-text content.

  <LinkCard title="Notify" href="/developer/api-reference/messaging-api-v2/notify/" />

<TitleIcon icon="comment">
### Kakao
</TitleIcon>

Send Kakao messages via Customer Journeys or API using approved templates to reach users on KakaoTalk.

To start using Kakao messaging:

<Steps>

1. **Connect Kakao to Pushwoosh**

   Configure the Kakao platform in your Pushwoosh account. [Learn more](/developer/first-steps/connect-messaging-services/kakao-configuration/)

2. **Create and approve message templates**

   Use approved Kakao templates; custom templates require approval in the Kakao Business Center. [Learn more](/product/content/kakao-presets/)

</Steps>

##### Next steps

* **Send messages via API**

  Use the Pushwoosh API to send Kakao messages with approved templates.

  <LinkCard title="Notify" href="/developer/api-reference/messaging-api-v2/notify/" />

### Apple Wallet passes

Design Apple Wallet passes, including loyalty cards, coupons, event tickets, and more, and push live updates to every device that added them.

To start using Apple Wallet passes:

<Steps>

1. **Configure the signing certificate**

   Add your Apple Pass Type ID certificate to your application so Pushwoosh can sign passes. [Learn more](/developer/first-steps/connect-messaging-services/ios-configuration/ios-wallet-pass-configuration/)

2. **Design and issue a pass**

   Build a pass in the pass builder, then share it as an install link or QR code. [Learn more](/product/messaging-channels/apple-wallet-passes/pass-builder/)

</Steps>

##### Next steps

* **Learn more about Apple Wallet passes**

  Design, distribute, and update passes in the Control Panel.

  <LinkCard title="Learn more" href="/product/messaging-channels/apple-wallet-passes/" />

* **Manage passes via API**

  Use the PassKit API to create, update, and manage passes programmatically.

  <LinkCard title="Learn more" href="/developer/api-reference/apple-wallet-passkit-api/" />

### Google Wallet passes

Design Google Wallet passes, including loyalty cards, offers, event tickets, and more, and let Google sync updates to every device that saved them.

To start using Google Wallet passes:

<Steps>

1. **Configure Google Wallet in Pushwoosh**

   Add your Issuer ID and service account key to your application. This setup is independent of Firebase. [Learn more](/developer/first-steps/connect-messaging-services/android-configuration/android-google-wallet-configuration/)

2. **Design and issue a pass**

   Build a pass in the pass builder, then share an "Add to Google Wallet" save link or QR code. [Learn more](/product/messaging-channels/google-wallet-passes/pass-builder/)

</Steps>

##### Next steps

* **Distribute, and update passes in the Control Panel**

  <LinkCard title="Learn more" href="/product/messaging-channels/google-wallet-passes/" />

* **Message pass holders**

  Reach holders with pass updates, one-time push, or Customer Journey.

  <LinkCard title="Learn more" href="/product/messaging-channels/google-wallet-passes/message-pass-holders/" />

* **Manage passes via API**

  Use the Google Wallet API to create passes, issue save links, and send them to users.

  <LinkCard title="Learn more" href="/developer/api-reference/google-wallet-api/" />

## Build omnichannel campaigns

Once you've configured and integrated the necessary messaging channels, you can create omnichannel campaigns to coordinate communication across multiple touchpoints.

To enable omnichannel functionality, ensure you register and associate user data (e.g., device ID, email, phone number) under a [unified User ID](/developer/pushwoosh-knowledge-hub/users-userids/). This allows you to address the same user across channels from a single campaign logic.

<LinkCard title="Learn more about omnichannel campaigns" href="/product/pushwoosh-knowledge-hub/omnichannel-campaigns/" />