# User Onboarding

A sequence of user onboarding automations that are performed as a background job are included.

The following emails are sent to a new user:

1. Verification email
2. Verification reminder after 1 day if not verified&#x20;
3. Welcome email when verification is completed
4. Subscription plan selected
5. Trial expires in 3 days
6. Trial has expired and account was upgraded

{% hint style="warning" %}
The link in the verification reminder email only works with the Gravity web client. Verification requests for the native app must be triggered via the 'resend verification' button within the app.
{% endhint %}

## Starting The Onboarding Worker

There is a background job worker that runs the onboarding flow once every day at 12:05pm London time. You can adjust this inside the [config](/gravity-server/config.md) by changing `worker_schedule.onboarding`.

This flow performs 3 tasks out-of-the-box:

1. Gets a list of active trials from Stripe and sends an email to those expiring in 3 days from today.
2. Gets a list of trials from Stripe that expire today and notifies the user they have been upgraded to the paid plan they selected.
3. Gets a list of new accounts created yesterday that are still unverified and sends the user a reminder email.

Ensure the background worker is running and then execute the start script to begin the daily CRON job.

```javascript
node worker/onboarding // start the background job worker
node worker/onboarding/start // start the daily cron queue
```


---

# 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.usegravity.app/gravity-server/user-onboarding.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.
