> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gleap.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Checklists

Dive into a completely refreshed onboarding experience that will guide your users with gusto. The new checklist feature not only ensures your users are thoroughly onboarded but also keeps them deeply engaged. All of this is neatly packed inside our Gleap widget!

## Open the checklists overview

Open the checklists overview with the method below.

```js theme={null}
Gleap.openChecklists();
```

## Manually start a checklist

Checklists can be sent either through trigger rules or manually with the method below.

```js theme={null}
Gleap.startChecklist("outboundId");
```

You can find the outboundId within the checklist editor.

<Info>
  Please note that SDK version 12.1.0 or higher is required to send checklists.
</Info>

## Start a checklist from a link or button

If you want a checklist to start when someone clicks a link or a button, you can
use a `gleap://` link instead of writing any JavaScript. Gleap picks these links
up automatically wherever the SDK is loaded:

```html theme={null}
<a href="gleap://checklist/OUTBOUND_ID">Start checklist</a>
```

Replace `OUTBOUND_ID` with the outboundId from the checklist editor. The same
format works for other Gleap content:

```html theme={null}
<a href="gleap://tour/PRODUCT_TOUR_ID">Start product tour</a>
<a href="gleap://survey/SURVEY_ID">Open survey</a>
<a href="gleap://article/ARTICLE_ID">Open help article</a>
<a href="gleap://news/NEWS_ID">Open news article</a>
```

Because it is a plain link, you can also paste it into the link field of any
rich text editor — including help center articles — rather than adding a script.

<Info>
  Unlike product tours, checklists have no `gleap_checklist` URL parameter. Use
  the `gleap://checklist/...` link above to start a checklist from a click.
</Info>

## Get checklist data

Retrieve checklist data programmatically using the checklist ID and project identifier.

```js theme={null}
Gleap.getChecklistData("outboundId", "sharedKey").then((data) => {
    console.log(data);
});
```

The sharedKey is optional.

## Listen for checklist events

You can listen to various checklist events to track user progress and interactions.

### Checklist loaded event

```js theme={null}
Gleap.on('checklist-loaded', (data) => {
  console.log('Checklist loaded:', data);
});
```

### Step completed event

```js theme={null}
Gleap.on('checklist-step-completed', (data) => {
  console.log('Step completed:', data.stepId);
});
```

### Checklist completed event

```js theme={null}
Gleap.on('checklist-completed', (data) => {
  console.log('Checklist completed!');
});
```
