# What are "triggers"?

### About this export

| Field | Value |
| --- | --- |
| **content_type** | lesson |
| **platform** | contentstack-academy |
| **source_url** | https://www.contentstack.com/academy/courses/data-insights-data-ingestion-profile-construction/data-insights-course-3--what-are-triggers |
| **course_slug** | data-insights-data-ingestion-profile-construction |
| **lesson_slug** | data-insights-course-3--what-are-triggers |
| **markdown_file_url** | /academy/md/courses/data-insights-data-ingestion-profile-construction/data-insights-course-3--what-are-triggers.md |
| **generated_at** | 2026-04-28T06:55:44.161Z |

> Part of **[Data Ingestion & Profile Construction](https://www.contentstack.com/academy/courses/data-insights-data-ingestion-profile-construction)** on Contentstack Academy. **Academy MD v3** — structured for retrieval; no quiz or assessment keys.

<!-- ai_metadata: {"lesson_id":"15","type":"video","duration_seconds":223,"video_url":"https://cdn.jwplayer.com/previews/AW2Mx2Bb","thumbnail_url":"https://cdn.jwplayer.com/v2/media/AW2Mx2Bb/poster.jpg?width=720","topics":["What","are","triggers"]} -->

#### Video details

#### At a glance

- **Title:** 23-data-insights-trigger-basics
- **Duration:** 3m 43s
- **Media link:** https://cdn.jwplayer.com/previews/AW2Mx2Bb
- **Publish date (unix):** 1752881258

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113752 kbps
- video/mp4 · 180p · 180p · 130023 kbps
- video/mp4 · 270p · 270p · 138491 kbps
- video/mp4 · 360p · 360p · 145476 kbps
- video/mp4 · 406p · 406p · 150625 kbps
- video/mp4 · 540p · 540p · 166917 kbps
- video/mp4 · 720p · 720p · 192897 kbps
- video/mp4 · 1080p · 1080p · 263885 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/AW2Mx2Bb-120.vtt`

#### Transcript

Once you have a profile built and you start to build audiences, what's the actual mechanism to allow you to do something with that? How do we know somebody just entered an audience? How do we know they exited an audience? How do we know a value changed? How do the jobs that are real-time syncs even work at all? All of the answers to those questions are what we call triggers. So essentially, this is where I'm going to explain it like a noob. If we want to go into more detail, Eric can go into much more detail on the processing pipeline. But essentially, data comes into Lytx. You have raw events. It's the stuff that we're collecting. It's the stuff that we're pulling from systems. We do what I call enrichment. So that's where our behavioral scores are calculated. Audience memberships are calculated. The model scores are calculated. So there's a bunch of things that are happening to where we're improving, updating, and adding additional context onto the profile. Based on the results of that, it then can trigger things. Most of the triggers, certainly the most common triggers, are around segment membership. So at that point in the pipeline, once data has been collected, we've done all this analysis, now we understand all of the audiences that this user is either a member of and no longer a member of or isn't a member of and now will be a member of. At that point in time, you can essentially use what we call a trigger to say, Eric is now joining segment A. Because Eric's joining segment A, I want to fire off that information, that profile, in these 16 different systems, or I want to fire this webhook, or I want to do something downstream based on that specific signal. So segment entry is one of those. I'm now a member of a segment. Segment exit is one of those signals. So now I'm no longer a member of that segment. Yep. A new trigger, I guess, technically, is flows. We'll go through and talk about flows specifically, but flows is somewhere between segment and attribute. It's a little bit different than its own special thing, but sort of like flow, stage, step membership is also a trigger, but it's all contained kind of within flows, which is in a segment context. But yeah, the triggers are super important in that it's how data gets out of the system and kind of understanding what you can do and what you can't do with them is important. And then also for our jobs, you have the non-trigger base, which is sort of like on a cadence. We're going to go through and just do a scan of the users in that segment and pass it. That's still a possibility as well. But I think more and more, we try to do everything in that sort of real-time streaming system. Every time a trigger happens, it sends to the information. Yeah, the other thing that we probably won't get into very deep here is there are sort of like candidates to be triggered later. So it's the concept of like, maybe we need to look at this profile again in the future. And that's another thing that we look at during the same evaluation. So if one of these custom rules has been inactive for five days, that would be like, as soon as they have any activity, it would make them a candidate to be inactive five days in the future. And that's another thing that happens all at the same time that we're calculating these triggers.

#### Subtitles (WebVTT)

```webvtt
WEBVTT

1
00:00:00.000 --> 00:00:22.040
Once you have a profile built and you start to build audiences, what's the actual mechanism

2
00:00:22.040 --> 00:00:24.680
to allow you to do something with that?

3
00:00:24.680 --> 00:00:27.040
How do we know somebody just entered an audience?

4
00:00:27.040 --> 00:00:28.560
How do we know they exited an audience?

5
00:00:28.560 --> 00:00:30.520
How do we know a value changed?

6
00:00:30.520 --> 00:00:34.800
How do the jobs that are real-time syncs even work at all?

7
00:00:34.800 --> 00:00:37.360
All of the answers to those questions are what we call triggers.

8
00:00:37.360 --> 00:00:40.360
So essentially, this is where I'm going to explain it like a noob.

9
00:00:40.360 --> 00:00:43.360
If we want to go into more detail, Eric can go into much more detail on the processing

10
00:00:43.360 --> 00:00:44.360
pipeline.

11
00:00:44.360 --> 00:00:46.100
But essentially, data comes into Lytx.

12
00:00:46.100 --> 00:00:47.100
You have raw events.

13
00:00:47.100 --> 00:00:48.100
It's the stuff that we're collecting.

14
00:00:48.100 --> 00:00:50.280
It's the stuff that we're pulling from systems.

15
00:00:50.280 --> 00:00:51.760
We do what I call enrichment.

16
00:00:51.760 --> 00:00:55.000
So that's where our behavioral scores are calculated.

17
00:00:55.000 --> 00:00:56.240
Audience memberships are calculated.

18
00:00:56.240 --> 00:00:57.520
The model scores are calculated.

19
00:00:57.520 --> 00:01:01.920
So there's a bunch of things that are happening to where we're improving, updating, and adding

20
00:01:01.920 --> 00:01:04.880
additional context onto the profile.

21
00:01:04.880 --> 00:01:08.960
Based on the results of that, it then can trigger things.

22
00:01:08.960 --> 00:01:13.720
Most of the triggers, certainly the most common triggers, are around segment membership.

23
00:01:13.720 --> 00:01:18.280
So at that point in the pipeline, once data has been collected, we've done all this analysis,

24
00:01:18.280 --> 00:01:22.520
now we understand all of the audiences that this user is either a member of and no longer

25
00:01:22.520 --> 00:01:26.520
a member of or isn't a member of and now will be a member of.

26
00:01:26.520 --> 00:01:32.200
At that point in time, you can essentially use what we call a trigger to say, Eric is

27
00:01:32.200 --> 00:01:38.080
now joining segment A. Because Eric's joining segment A, I want to fire off that information,

28
00:01:38.080 --> 00:01:42.560
that profile, in these 16 different systems, or I want to fire this webhook, or I want

29
00:01:42.560 --> 00:01:47.400
to do something downstream based on that specific signal.

30
00:01:47.400 --> 00:01:49.320
So segment entry is one of those.

31
00:01:49.320 --> 00:01:51.280
I'm now a member of a segment.

32
00:01:51.280 --> 00:01:53.080
Segment exit is one of those signals.

33
00:01:53.080 --> 00:01:55.760
So now I'm no longer a member of that segment.

34
00:01:56.000 --> 00:01:57.000
Yep.

35
00:01:57.000 --> 00:02:00.800
A new trigger, I guess, technically, is flows.

36
00:02:00.800 --> 00:02:06.000
We'll go through and talk about flows specifically, but flows is somewhere between segment and

37
00:02:06.000 --> 00:02:07.000
attribute.

38
00:02:07.000 --> 00:02:11.360
It's a little bit different than its own special thing, but sort of like flow, stage, step

39
00:02:11.360 --> 00:02:15.240
membership is also a trigger, but it's all contained kind of within flows, which is in

40
00:02:15.240 --> 00:02:17.240
a segment context.

41
00:02:17.240 --> 00:02:25.120
But yeah, the triggers are super important in that it's how data gets out of the system

42
00:02:25.480 --> 00:02:28.200
and kind of understanding what you can do and what you can't do with them is important.

43
00:02:28.200 --> 00:02:32.560
And then also for our jobs, you have the non-trigger base, which is sort of like on a cadence.

44
00:02:32.560 --> 00:02:35.560
We're going to go through and just do a scan of the users in that segment and pass it.

45
00:02:35.560 --> 00:02:37.080
That's still a possibility as well.

46
00:02:37.080 --> 00:02:44.400
But I think more and more, we try to do everything in that sort of real-time streaming system.

47
00:02:44.400 --> 00:02:47.200
Every time a trigger happens, it sends to the information.

48
00:02:47.200 --> 00:02:59.360
Yeah, the other thing that we probably won't get into very deep here is there are sort

49
00:02:59.360 --> 00:03:02.640
of like candidates to be triggered later.

50
00:03:02.640 --> 00:03:09.200
So it's the concept of like, maybe we need to look at this profile again in the future.

51
00:03:09.200 --> 00:03:13.080
And that's another thing that we look at during the same evaluation.

52
00:03:13.120 --> 00:03:20.400
So if one of these custom rules has been inactive for five days, that would be like, as soon

53
00:03:20.400 --> 00:03:25.800
as they have any activity, it would make them a candidate to be inactive five days in the future.

54
00:03:25.800 --> 00:03:33.560
And that's another thing that happens all at the same time that we're calculating these triggers.

```

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish if cues were auto-derived from WebVTT -->
[00:00] Once you have a profile built and you start to build audiences, what's the actual mechanism
[00:22] to allow you to do something with that?
[00:24] How do we know somebody just entered an audience?
[00:27] How do we know they exited an audience?
[00:28] How do we know a value changed?
[00:30] How do the jobs that are real-time syncs even work at all?
[00:34] All of the answers to those questions are what we call triggers.
[00:37] So essentially, this is where I'm going to explain it like a noob.
[00:40] If we want to go into more detail, Eric can go into much more detail on the processing
[00:43] pipeline.
[00:44] But essentially, data comes into Lytx.
[00:46] You have raw events.
[00:47] It's the stuff that we're collecting.
[00:48] It's the stuff that we're pulling from systems.
[00:50] We do what I call enrichment.
[00:51] So that's where our behavioral scores are calculated.
[00:55] Audience memberships are calculated.
[00:56] The model scores are calculated.
[00:57] So there's a bunch of things that are happening to where we're improving, updating, and adding
[01:01] additional context onto the profile.
[01:04] Based on the results of that, it then can trigger things.
[01:08] Most of the triggers, certainly the most common triggers, are around segment membership.
[01:13] So at that point in the pipeline, once data has been collected, we've done all this analysis,
[01:18] now we understand all of the audiences that this user is either a member of and no longer
[01:22] a member of or isn't a member of and now will be a member of.
[01:26] At that point in time, you can essentially use what we call a trigger to say, Eric is
[01:32] now joining segment A. Because Eric's joining segment A, I want to fire off that information,
[01:38] that profile, in these 16 different systems, or I want to fire this webhook, or I want
[01:42] to do something downstream based on that specific signal.
[01:47] So segment entry is one of those.
[01:49] I'm now a member of a segment.
[01:51] Segment exit is one of those signals.
[01:53] So now I'm no longer a member of that segment.
[01:56] Yep.
[01:57] A new trigger, I guess, technically, is flows.
[02:00] We'll go through and talk about flows specifically, but flows is somewhere between segment and
[02:06] attribute.
[02:07] It's a little bit different than its own special thing, but sort of like flow, stage, step
[02:11] membership is also a trigger, but it's all contained kind of within flows, which is in
[02:15] a segment context.
[02:17] But yeah, the triggers are super important in that it's how data gets out of the system
[02:25] and kind of understanding what you can do and what you can't do with them is important.
[02:28] And then also for our jobs, you have the non-trigger base, which is sort of like on a cadence.
[02:32] We're going to go through and just do a scan of the users in that segment and pass it.
[02:35] That's still a possibility as well.
[02:37] But I think more and more, we try to do everything in that sort of real-time streaming system.
[02:44] Every time a trigger happens, it sends to the information.
[02:47] Yeah, the other thing that we probably won't get into very deep here is there are sort
[02:59] of like candidates to be triggered later.
[03:02] So it's the concept of like, maybe we need to look at this profile again in the future.
[03:09] And that's another thing that we look at during the same evaluation.
[03:13] So if one of these custom rules has been inactive for five days, that would be like, as soon
[03:20] as they have any activity, it would make them a candidate to be inactive five days in the future.
[03:25] And that's another thing that happens all at the same time that we're calculating these triggers.
```

#### Key takeaways

- Connect **What are "triggers"?** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

## Supplement for indexing

### Content summary

What are "triggers"?. What are "triggers"? in Data Ingestion & Profile Construction (data-insights-data-ingestion-profile-construction).

### Retrieval tags

- What
- are
- triggers
- data-insights-data-ingestion-profile-construction
- lesson 15
- What are "triggers"?
- data-insights-data-ingestion-profile-construction lesson

### Indexing notes

Index this lesson as a primary chunk tagged with lesson_id "15" and topics: [What, are, triggers].
Parent course slug: data-insights-data-ingestion-profile-construction. Use asset_references URLs as thumbnail hints in search results when present.
Never surface LMS quiz content or assessment answers from this file.

### Asset references

| Label | URL |
| --- | --- |
| Video thumbnail: What are "triggers"? | `https://cdn.jwplayer.com/v2/media/AW2Mx2Bb/poster.jpg?width=720` |

### External links

| Label | URL |
| --- | --- |
| Contentstack Academy home | `https://www.contentstack.com/academy/` |
| Training instance setup | `https://www.contentstack.com/academy/training-instance` |
| Academy playground (GitHub) | `https://github.com/contentstack/contentstack-academy-playground` |
| Contentstack documentation | `https://www.contentstack.com/docs/` |
