# Communication Campaign

The Communication Campaign feature encompasses the suite of in-app messaging tools designed to provide timely and relevant feedback to users about their driving behavior, challenges, streaks, and nudges. Based on configuration set, the Sentiance Engagement Platform generates user-specific messages informed by their behavior and journeys.

Ideally, these messages are designed to be versatile in their presentation, allowing for display as widgets on a screen, as popup messages (for example, "You have succeeded in your challenge"), or within a dedicated page for listing notifications.

Every message belongs to a **category** and a **type**

### Message Category

<table><thead><tr><th width="191">Category</th><th></th></tr></thead><tbody><tr><td>ALL</td><td>Messages relevant to all aspects of the app's engagement features.</td></tr><tr><td>CHALLENGES</td><td>Communications specific to the challenges users are participating in or have completed.</td></tr><tr><td>BADGES</td><td>Messages related to badges earned for various achievements.</td></tr><tr><td>STREAKS</td><td>Updates and information on users' streaks.</td></tr><tr><td>SCORES</td><td>Communications concerning users' scores from their driving behavior</td></tr><tr><td>LEADERBOARD</td><td>Messages related to leaderboard standings, encouraging competitive engagement.</td></tr><tr><td>TRIPS</td><td>Updates on users' trips.</td></tr><tr><td>PROFILE</td><td>Messages related to the user's profile information or updates.</td></tr><tr><td>SCHEDULED</td><td>Scheduled messages meant for timely delivery on specific dates or events.</td></tr></tbody></table>

### Message Types

<table><thead><tr><th width="217">Type</th><th>Comment</th></tr></thead><tbody><tr><td>IN_APP_MESSAGE</td><td>Direct messages displayed within the app, providing immediate feedback or information.</td></tr><tr><td>REACTIVE_MESSAGE</td><td>Messages triggered by specific user actions or behaviors, offering real-time engagement.<br>(e.g you have successfully completed your challenge)</td></tr></tbody></table>

{% hint style="info" %}
**GQL Definition**: UserEngagementCommunication

**GQL Path**: user.engagement.communications
{% endhint %}

```graphql
query User($user_id: String) {
  user(user_id: $user_id) {
    engagement {
      communications {
        new(type: IN_APP_MESSAGE) {
          limit: 1
          slice {
            message
          }
        }
      }
    }
  }
}
```

## Sample Wireframe & Workflow

<figure><img src="https://3097961207-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FB9ZHBaHKglgKmgIlyHT0%2Fuploads%2Fgit-blob-0798399a5b91c7f20560b6078ee240ce07d8c0ff%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

***

Additional helpful links:

* GQL [UserEngagementCommunication](https://graphqldocs.sentiance.com/#definition-UserEngagementCommunication) definition
