# Custom Quests

### Dashboard configuration

A Custom Quest is configured in the dashboard and (similar to all other point rewards) requires a **title**, **description** and **amount** of points to transfer to the user eligible for the reward.

<figure><img src="https://1499671166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fda0CPvFjFKQsHDL5o9xa%2Fuploads%2FGD11cggXTtRk423rZs3D%2FScreenshot%202023-03-15%20at%2010.04.40.png?alt=media&#x26;token=5d097081-3779-46f4-9da4-a6b0f63b42b7" alt=""><figcaption><p>Example of a milestone rewards</p></figcaption></figure>

Custom Quests are a very flexible quest type that allows to reward specific user behaviour in your application. This means that (after adding a little bit of code to your app) you can incentivize all sort of user interactions in your app!

Examples of important customer touch points that could be incentivised:

* **User completes profile**
* **Client purchases product**
* **Player levels up**
* And more...

### Create Events

Using THX SDK you will be able to register system events for an Identity connected to your user. You can use these events for custom quest purposes.

```javascript
await thx.events.create({ name: 'level_up', identity: 'a6021617-9aab-4194-b2af-a4dd0cc96f84' })
```

{% content-ref url="../../developers/js-sdk/identity" %}
[identity](https://docs.thx.network/developers/js-sdk/identity)
{% endcontent-ref %}

{% content-ref url="../../developers/js-sdk" %}
[js-sdk](https://docs.thx.network/developers/js-sdk)
{% endcontent-ref %}

### Widget appearance

The Custom Quest card in the widget will show a *Not available* state for unauthenticated users or users that are not eligible for the reward.

<figure><img src="https://1499671166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fda0CPvFjFKQsHDL5o9xa%2Fuploads%2FW4Ggq64Vl6fcRs4J8wJG%2FScreenshot%202023-03-15%20at%2010.18.09.png?alt=media&#x26;token=262f700d-04c6-4e01-b8f3-4e2b4cfb8ac4" alt=""><figcaption><p>Milestone rewards not available for authenticated user</p></figcaption></figure>

As soon as your app runs the webhook for a particular user the card will show that user a progress bar for the amount of reward claims available and the amount of rewards claimed.

<figure><img src="https://1499671166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fda0CPvFjFKQsHDL5o9xa%2Fuploads%2Fae8ObXfb5BDS3BnpiGdM%2FScreenshot%202023-03-15%20at%2010.19.02.png?alt=media&#x26;token=8b884176-15c1-4531-8b01-67ab813fc488" alt=""><figcaption><p>2 out of 3 milestoned rewards claimed for authenticated user</p></figcaption></figure>
