# Learndot Destination

## Destination Info

* Accepts [Page](/docs/segment/connections/spec/page), [Alias](/docs/segment/connections/spec/alias), [Group](/docs/segment/connections/spec/group), [Identify](/docs/segment/connections/spec/identify), [Track](/docs/segment/connections/spec/track) calls.
* Refer to it as **Learndot** in the [Integrations object.](/docs/segment/guides/filtering-data/#filtering-with-the-integrations-object)
* This integration is **partner owned.** Please reach out to the partner's support for any issues.

[Learndot](https://www.learndot.com/?utm_source=segmentio\&utm_medium=docs\&utm_campaign=partners) is a product focussed customer education platform that enables companies to rapidly produce and distribute engaging training content.

This destination is maintained by Learndot. For any issues with the destination, [contact the Learndot Support team](mailto:help@learndot.com).

## Getting Started

1. From the Segment web app, click **Catalog**.
2. Search for "Learndot" in the Catalog, select it, and choose which of your sources to connect the destination to.
3. Enter the "API Key" into your Segment Settings UI which you can find from your [Learndot admin](https://admin.learndotx.com/settings).

## Identify

If you're not familiar with the Segment Specs, take a look to understand what the [Identify method](/docs/segment/connections/spec/identify/) does. An example call would look like:

```text
analytics.identify('userId123', {
  email: 'john.doe@example.com'
});
```

Learndot uses the `identify` event in order to map events in Segment back to learners in Learndot.

**IMPORTANT:** `email` is a required trait as Learndot will use this as the primary field to complete the mapping.

## Track

If you're not familiar with the Segment Specs, take a look to understand what the [Track method](/docs/segment/connections/spec/track/) does. An example call would look like:

```text
analytics.track('Clicked Login Button')
```

The `track` call is used in conjunction with the `identify` to determine when to mark lessons complete for learners.

The `track` and `identify` are tightly coupled in Learndot. We use the `identify` to map your user back to the Learner in Learndot and the `track` to determine if the user has completed the task you gave them. If Learndot receives a `track` call without an accompanying `identify` call it won't be able to determine which Learner the completed the task.

## Page

If you're not familiar with the Segment Specs, take a look to understand what the [Page method](/docs/segment/connections/spec/page/) does. An example call would look like:

```text
analytics.page()
```

Page calls will be sent to Learndot as a `pageview`and will be used to help further segment the users and power more detailed analytics in Learndot.

## Screen

If you're not familiar with the Segment Specs, take a look to understand what the [Screen method](/docs/segment/connections/spec/screen/) does. An example call would look like:

```text
[[SEGAnalytics sharedAnalytics] screen:@"Home"];
```

Screen calls will be sent to Learndot as a `screenview` and will be used to help further segment the users and power more detailed analytics in Learndot.

## Page, Screen & Group

Page, Screen and Group calls are used to help further segment the users and power more detailed analytics in Learndot.

## Engage

You can send computed traits and audiences generated using [Engage](/docs/segment/engage) to this destination as a **user property**. To learn more about Engage, schedule a [demo](https://segment.com/contact/demo).

For user-property destinations, an [identify](/docs/segment/connections/spec/identify/) call is sent to the destination for each user being added and removed. The property name is the snake\_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property `order_completed_last_30days: true`. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to `false`.

When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

> \[!NOTE]
>
> Real-time audience syncs to Learndot  may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.

## Settings

Segment lets you change these destination settings from the Segment app without having to touch any code.

| Field   | Description                                     | Required | Type   |
| ------- | ----------------------------------------------- | -------- | ------ |
| API Key | You can find your API key on the settings page. | Yes      | string |
