# Challenges

The "Challenges" module is meticulously crafted to provide a structured, step-by-step approach aimed at enhancing users' driving behavior.

## Types of Challenges

The "Challenges" feature in the Sentiance platform offers a variety of targeted challenges designed to improve specific aspects of driving behavior. By engaging users with these challenges, the platform aims to encourage safer driving practices and habits. Below are the types of challenges available:

* **Focused Challenges**: These challenges are designed to help drivers improve their concentration on the road, reducing distractions and thereby enhancing overall safety.
* **Speeding Challenges**: Aimed at encouraging drivers to adhere to speed limits, these challenges focus on reducing instances of speeding.

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

**GQL Path**: `user.engagement.challenges.available`
{% endhint %}

```graphql
query User($user_id: String) {
  user(user_id: $user_id) {
    engagement {
      challenges {
        available {
          slice {
            challenge_id
            category
            image_url
            progress
            status
          }
        }
      }
    }
  }
}
```

## Workflow

The Sentiance platform's "Challenges" feature introduces an interactive model that differentiates it from more passive features like the "user adaptive score" and "streaks". While these passive features primarily involve the application querying the platform for insights to display to the user, "Challenges" actively engages users by allowing them to interact directly with the application. Here's how the workflow is designed:

* **List Available Challenges**: Display available challenges to users.
* **Accept Challenge**: Users choose a challenge to accept.
* **Participation (IN\_PROGRESS)**: Users engage in the challenge.
* **Winning**: Successfully completing challenge criteria.
* **Failing**: Option to retake uncompleted challenges.

Note: A user can opt to abandon a challenge at any time.

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

***

Additional helpful links:

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sentiance.com/sentiance-insights/engagement/challenges.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
