From 99a09807383ca23846fd6a41bcaa23abd529d891 Mon Sep 17 00:00:00 2001 From: Abheek Basu Date: Tue, 14 Oct 2025 16:24:12 -0400 Subject: [PATCH 1/9] Reflecting the focus on workflows in the docs --- ...aunch-campaign.mdx => launch-workflow.mdx} | 2 +- contents/docs/messaging/start-here.mdx | 4 +-- ...paign-builder.mdx => workflow-builder.mdx} | 20 ++++++------- src/navs/index.js | 14 ++++----- src/pages/docs/messaging/index.tsx | 29 +++++++++---------- 5 files changed, 34 insertions(+), 35 deletions(-) rename contents/docs/messaging/{launch-campaign.mdx => launch-workflow.mdx} (99%) rename contents/docs/messaging/{campaign-builder.mdx => workflow-builder.mdx} (80%) diff --git a/contents/docs/messaging/launch-campaign.mdx b/contents/docs/messaging/launch-workflow.mdx similarity index 99% rename from contents/docs/messaging/launch-campaign.mdx rename to contents/docs/messaging/launch-workflow.mdx index d9c870b41c57..832c32164119 100644 --- a/contents/docs/messaging/launch-campaign.mdx +++ b/contents/docs/messaging/launch-workflow.mdx @@ -1,5 +1,5 @@ --- -title: "Launch your first messaging campaign" +title: "Launch your first workflow" showStepsToc: true --- diff --git a/contents/docs/messaging/start-here.mdx b/contents/docs/messaging/start-here.mdx index b18640dc15f6..5a442b9cfe03 100644 --- a/contents/docs/messaging/start-here.mdx +++ b/contents/docs/messaging/start-here.mdx @@ -1,5 +1,5 @@ --- -title: Getting started with messaging +title: Getting started with workflows hideRightSidebar: true contentMaxWidthClass: max-w-5xl --- @@ -9,7 +9,7 @@ import { IconGraph, IconRewindPlay, IconToggle } from '@posthog/icons' import ChannelPlatforms from './_snippets/channel-platforms' - + -Campaigns are composed of the following components: +Workflows are composed of the following components: | Component | Description | |-----------|-------------| -| [Triggers](#triggers) | What starts the campaign. We let you start a campaign when an event is performed (e.g. a user signs up), or programmatically via a webhook. | +| [Triggers](#triggers) | What starts the workflow. We let you start a workflow when an event is performed (e.g. a user signs up), or programmatically via a webhook. | | [Dispatches](#dispatches) | The messages you send, mail, slack, SMS, webhook, or any PostHog real time destinations. | | [Delays](#delays) | Wait steps such as "wait 2 days" or "wait until condition is true." | -| [Audience splits](#audience-splits) | Target and split the users you message with more specificity or try a/b testing with random branching. | -| [PostHog actions](#posthog-actions) | Change a person's properties, or trigger other events, once a person reaches a specific point in your campaign. | +| [Audience splits](#audience-splits) | Target and split your users so you can automate some action for them or send a message with more specificity. | +| [PostHog actions](#posthog-actions) | Change a person's properties, or trigger other events, once a person reaches a specific point in your workflow. | ## Triggers -Every campaign starts with a trigger. Triggers represent actions taken by users that kick off the campaign workflow. There are two types of triggers: +Every workflow starts with a trigger. Triggers represent actions taken by users that kick off the workflow. There are two types of triggers: | Trigger type | Description | |--------------|-------------| | Event trigger | A captured [PostHog event](/docs/data/events) (e.g. `signed up`) | -| Webhook trigger | Programmatically start a campaign with a webhook | +| Webhook trigger | Programmatically start a workflow with a webhook | ### Event triggers @@ -68,7 +68,7 @@ You can see an example of a delay in the [email drip campaign](/docs/messaging/e ## Audience splits -Audience splits help you target your messages to specific groups of users. There are 2 types of audience splits: +Audience splits help you target your automation or messages to specific groups of users. There are 2 types of audience splits: | Audience split type | Description | |--------------|-------------| diff --git a/src/navs/index.js b/src/navs/index.js index 78653753ffb2..ff75227faded 100644 --- a/src/navs/index.js +++ b/src/navs/index.js @@ -4578,14 +4578,14 @@ export const docsMenu = { ], }, { - name: 'Messaging', + name: 'Workflows', icon: 'IconMegaphone', color: 'red', url: '/docs/messaging', - description: 'Create campaigns to send messages to your users.', + description: 'Create automations or campaigns to send messages to your users.', children: [ { - name: 'Messaging', + name: 'Workflows', }, { name: 'Overview', @@ -4611,8 +4611,8 @@ export const docsMenu = { featured: true, }, { - name: 'Design your first campaign', - url: '/docs/messaging/launch-campaign', + name: 'Launch your first workflow', + url: '/docs/messaging/launch-workflow', icon: 'IconMegaphone', color: 'blue', featured: true, @@ -4621,8 +4621,8 @@ export const docsMenu = { name: 'Concepts', }, { - name: 'Campaign builder', - url: '/docs/messaging/campaign-builder', + name: 'Workflow builder', + url: '/docs/messaging/workflow-builder', icon: 'IconDatabase', color: 'orange', }, diff --git a/src/pages/docs/messaging/index.tsx b/src/pages/docs/messaging/index.tsx index ebad21764436..da6fbfaab083 100644 --- a/src/pages/docs/messaging/index.tsx +++ b/src/pages/docs/messaging/index.tsx @@ -16,15 +16,14 @@ export const Content = () => {

Overview

- Messaging is PostHog's no-code, drag-and-drop tool for building automated campaigns. Think of it - as a way to message your users. You decide who receives messages, when they're sent, - and how they're delivered. + Workflows is PostHog's no-code, drag-and-drop tool for building logic that automates processes + or sends messages to your users. You decide how and when a process is triggered, who receives + messages and when they're sent.

- Campaigns are made up of components that you - can arrange into a flow; triggers, actions, delays, audience splits, and PostHog actions. Every - campaign starts with a trigger and ends with an exit, but you can add as much logic in between - as needed. + Workflows are made up of components that you + arrange; triggers, actions, delays, audience splits, and PostHog actions. Every workflow starts + with a trigger and ends with an exit, but you can add as much logic in between as needed.

@@ -36,23 +35,23 @@ export const Content = () => { padding={false} classes="rounded @md:max-w-2xl" /> - Build and design campaigns with PostHog messaging + Build and design workflows with PostHog Workflows
-

Why use messaging?

+

Why use workflows?

  • - Leverage product analytics: Use PostHog events to quickly message the right people - based on the actions they take on your site or app. + Leverage product analytics: Use PostHog events to quickly automate the right actions + or send messages to the right people based on the actions they take on your site or app.
  • - No-code builder: Drag, drop, and publish quickly. Avoid brittle hardcoded Twilio or - Mailgun campaigns. + No-code builder: Drag, drop, and publish quickly. Avoid brittle hardcoded API calls + for example to Twilio or Mailgun.
  • Composable CDP: Add any{' '} @@ -104,8 +103,8 @@ const Messaging: React.FC = () => {
    Date: Tue, 14 Oct 2025 18:18:41 -0400 Subject: [PATCH 2/9] updated guides with workflow specifics, changed getting started to reflect new priority --- .../docs/messaging/email-drip-campaign.mdx | 34 ++++---- contents/docs/messaging/launch-workflow.mdx | 52 +++++------ contents/docs/messaging/start-here.mdx | 87 +++++++++---------- contents/docs/messaging/troubleshooting.mdx | 2 +- 4 files changed, 86 insertions(+), 89 deletions(-) diff --git a/contents/docs/messaging/email-drip-campaign.mdx b/contents/docs/messaging/email-drip-campaign.mdx index ea1c5728e819..ce469cf95dd1 100644 --- a/contents/docs/messaging/email-drip-campaign.mdx +++ b/contents/docs/messaging/email-drip-campaign.mdx @@ -9,7 +9,7 @@ In this guide we'll walk through creating a simple **drip campaign**. After foll - + Go to [Messaging](https://app.posthog.com/messaging/campaigns/new/workflow) and click the **+ New campaign button**. @@ -17,20 +17,20 @@ Go to [Messaging](https://app.posthog.com/messaging/campaigns/new/workflow) and imageLight="https://res.cloudinary.com/dmukukwp6/image/upload/w_1600,c_limit,q_auto,f_auto/messaging_new_campaign_light_c1f7b79b46.png" imageDark="https://res.cloudinary.com/dmukukwp6/image/upload/w_1600,c_limit,q_auto,f_auto/messaging_new_campaign_dark_6a4ea06e58.png" classes="rounded" - alt="Click the New Campaign button" + alt="Click the New Workflow button" /> -This will open the campaign builder. +This will open the workflow builder. -The new campaign only has two blocks: -- A trigger block: This defines the event that will start the campaign workflow. -- An exit block: This defines the event that will end the campaign workflow. +The new workflow only has two blocks: +- A trigger block: This defines the event that will start the workflow. +- An exit block: This defines the event that will end the workflow. The trigger block has a little exclamation mark. This means it is not configured. In general, if there are problems with a block, it will have a little exclamation mark. @@ -39,7 +39,7 @@ The trigger block has a little exclamation mark. This means it is not configured -Now, let's click on the trigger block and configure it. In a new campaign, the trigger doesn't have any default trigger events. Triggers tell PostHog what events will start the campaign workflow. +Now, let's click on the trigger block and configure it. In a new workflow, the trigger doesn't have any default trigger events. Triggers tell PostHog what events will start the workflow workflow. -Drag an **Email** dispatch beneath the trigger, into the campaign like this: +Drag an **Email** dispatch beneath the trigger, into the workflow like this: -Now the complete campaign should look like this: +Now the complete workflow should look like this: -Click **Create** to publish the campaign. +Click **Create** to publish the workflow. - + -Once you have confirmed the campaign works as expected, you can enable it by clicking the **Enable** button at the top right of the campaign builder. +Once you have confirmed the workflow works as expected, you can enable it by clicking the **Enable** button at the top right of the workflow builder. -Your new users will now automatically receive this drip campaign to help guide them through onboarding. +Your new users will now automatically receive this email drip campaign to help guide them through onboarding. diff --git a/contents/docs/messaging/launch-workflow.mdx b/contents/docs/messaging/launch-workflow.mdx index 832c32164119..aa14a727ae13 100644 --- a/contents/docs/messaging/launch-workflow.mdx +++ b/contents/docs/messaging/launch-workflow.mdx @@ -5,13 +5,13 @@ showStepsToc: true import Tab from "components/Tab" -After setting up your [messaging channel](/docs/messaging/configure-channels), you can launch your first campaign. Campaigns are workflows that deliver messages to your users based your configured logic. +This guide covers creating a very basic workflow where we send an email to users who perform an event on your app or site. Since we are sending a message (email), you will need to set up a [messaging channel](/docs/messaging/configure-channels) first. -This guide covers creating a very basic campaign. See the [campaign builder](/docs/messaging/campaign-builder) for more information on the different components of a campaign, and see the end of this guide for more examples. +See the [workflow builder](/docs/messaging/workflow-builder) for more information on the different components of a workflow, and see the end of this guide for more examples. - + Go to [Messaging](https://app.posthog.com/messaging/campaigns/new/workflow) and click the **+ New campaign button**. @@ -19,29 +19,29 @@ Go to [Messaging](https://app.posthog.com/messaging/campaigns/new/workflow) and imageLight="https://res.cloudinary.com/dmukukwp6/image/upload/w_1600,c_limit,q_auto,f_auto/messaging_new_campaign_light_c1f7b79b46.png" imageDark="https://res.cloudinary.com/dmukukwp6/image/upload/w_1600,c_limit,q_auto,f_auto/messaging_new_campaign_light_c1f7b79b46.png" classes="rounded" - alt="Click the New Campaign button" + alt="Click the New Workflow button" /> -This will open the campaign builder: +This will open the workflow builder: -The new campaign only has two blocks: -- A trigger block: This defines the event that will start the campaign workflow. -- An exit block: This defines the event that will end the campaign workflow. +The new workflow only has two blocks: +- A trigger block: This defines the event that will start the workflow workflow. +- An exit block: This defines the event that will end the workflow workflow. -On the right side of the campaign builder, you can see the types of blocks available to add to your campaign. +On the right side of the workflow builder, you can see the types of blocks available to add to your campaign. -Now, let's click on the trigger block and configure it. In a new campaign, the trigger doesn't have any trigger events. Triggers tell PostHog what events will start the campaign workflow. +Now, let's click on the trigger block and configure it. In a new workflow, the trigger doesn't have any trigger events. Triggers tell PostHog what events will start the workflow workflow. -Now that we have a trigger that can initiate the campaign workflow, we need to add an Dispatch to send a message to the users who trigger the campaign. +Now that we have a trigger that can initiate the workflow workflow, we need to add an Dispatch to send a message to the users who trigger the workflow. -Drag an **Email** dispatch beneath the trigger, into the campaign. Then, click on the email block to configure it. +Drag an **Email** dispatch beneath the trigger, into the workflow. Then, click on the email block to configure it. @@ -108,18 +108,18 @@ The email template has access to event and person properties of the trigger even - + -Before publishing the campaign, you can test it to confirm it works as expected. On the right side of the campaign builder, you can see the **Test** button. +Before publishing the workflow, you can test it to confirm it works as expected. On the right side of the campaign builder, you can see the **Test** button. -When you click the **Test** button, you will be directed to test the campaign by creating a mock trigger. The following options are available: +When you click the **Test** button, you will be directed to test the workflow by creating a mock trigger. The following options are available: - **Make a real request to PostHog:** When enabled, real messages will be delivered to the recipient. When disabled, API calls are mocked and logged. - **Test event:** Click to expand the test event configuration. An example event will be generated by default. You can click the **Load new event** to load a real event's data into the test event. @@ -128,21 +128,21 @@ You can click the ** Run test** button to send the test event. - + -Once you have confirmed the campaign works as expected, you can enable it by clicking the **Enable** button at the top right of the campaign builder. +Once you have confirmed the workflow works as expected, you can enable it by clicking the **Enable** button at the top right of the workflow builder. -This will publish the campaign and start delivering messages to your when the trigger event is triggered. For this example campaign, you can hardcode all emails to your own email address for testing. +This will publish the workflow and start delivering messages to your when the trigger event is triggered. For this example workflow, you can hardcode all emails to your own email address for testing. - + -Once the campaign is enabled, you can monitor your campaign in the **Metrics** and **Logs** tabs of the campaign builder. +Once the workflow is enabled, you can monitor your workflow in the **Metrics** and **Logs** tabs of the workflow builder. -To confirm your campaign is delivering messages, look for these signs: +To confirm your workflow is delivering messages, look for these signs: - In the **Metrics** tab, you should see a line chart showing the number of **succeeded** and **triggered** messages. -- In the **Logs** tab, you can see logs of recently triggered campaign workflows. Confirm that there aren't any errors. +- In the **Logs** tab, you can see logs of recently triggered workflow workflows. Confirm that there aren't any errors. - See the message delivered in your inbox. diff --git a/contents/docs/messaging/start-here.mdx b/contents/docs/messaging/start-here.mdx index 5a442b9cfe03..5565dc7990d9 100644 --- a/contents/docs/messaging/start-here.mdx +++ b/contents/docs/messaging/start-here.mdx @@ -8,80 +8,77 @@ import { QuestLog, QuestLogItem } from 'components/Docs/QuestLog' import { IconGraph, IconRewindPlay, IconToggle } from '@posthog/icons' import ChannelPlatforms from './_snippets/channel-platforms' - -Messaging is PostHog's no-code drag-and-drop tool for building automated campaigns. -Think of it as a way to communicate with your users – you decide which users should receive which messages, when, and through which channel. - -Before you can launch a campaign, you need to configure a messaging channel: +The [workflow builder](/docs/messaging/workflow-builder) is a powerful, no-code tool for automating processes and sending messages to your users. - - ---- +There are many features to explore, but you can get a taste with this example: - - Configure your messaging channel + + Design and launch your first workflow -The [campaign builder](/docs/messaging/campaign-builder) is a powerful, no-code tool for building campaigns. +Workflows are made up of the following building blocks: - +| Component | Description | +|-----------|-------------| +| [Triggers](/docs/messaging/workflow-builder#triggers) | What starts the workflow. We let you start a workflow when an event is performed (e.g. a user signs up), or programmatically via a webhook. | +| [Dispatches](/docs/messaging/workflow-builder#dispatches) | The messages you send, mail, slack, SMS, webhook, or any PostHog real time destinations. | +| [Delays](/docs/messaging/workflow-builder#delays) | Wait steps such as "wait 2 days" or "wait until condition is true." | +| [Audience splits](/docs/messaging/workflow-builder#audience-splits) | Target and split the users you message with more specificity or try a/b testing with random branching. | +| [PostHog actions](/docs/messaging/workflow-builder#posthog-actions) | Change a person's properties, or trigger other events, once a person reaches a specific point in your workflow. | -There are many features to explore, but you can get a taste with this example: +Familiarize yourself with these components to explore the full power of the workflow builder. - - Design and launch your first campaign + + Learn about workflow components -Campaigns are made up of the following building blocks: +Workflows is PostHog's no-code drag-and-drop tool for automating a process or delivering messages to your users. +If you want to send your users a message you will need to use a preconfigured destination or configure a messaging channel yourself. This guide shows you how. -| Component | Description | -|-----------|-------------| -| [Triggers](/docs/messaging/campaign-builder#triggers) | What starts the campaign. We let you start a campaign when an event is performed (e.g. a user signs up), or programmatically via a webhook. | -| [Dispatches](/docs/messaging/campaign-builder#dispatches) | The messages you send, mail, slack, SMS, webhook, or any PostHog real time destinations. | -| [Delays](/docs/messaging/campaign-builder#delays) | Wait steps such as "wait 2 days" or "wait until condition is true." | -| [Audience splits](/docs/messaging/campaign-builder#audience-splits) | Target and split the users you message with more specificity or try a/b testing with random branching. | -| [PostHog actions](/docs/messaging/campaign-builder#posthog-actions) | Change a person's properties, or trigger other events, once a person reaches a specific point in your campaign. | + -Familiarize yourself with these components to explore the full power of the campaign builder. + + +--- - - Learn about campaign components + + Configure your messaging channel @@ -94,12 +91,12 @@ Familiarize yourself with these components to explore the full power of the camp We've created a few tutorials for common use cases to get you started: -- [How to create a drip campaign](/docs/messaging/email-drip-campaign) +- [How to create an email drip campaign](/docs/messaging/email-drip-campaign) --- - Try the campaign builder + Try the workflow builder diff --git a/contents/docs/messaging/troubleshooting.mdx b/contents/docs/messaging/troubleshooting.mdx index b3d49dfdf054..e7dbc4624b9d 100644 --- a/contents/docs/messaging/troubleshooting.mdx +++ b/contents/docs/messaging/troubleshooting.mdx @@ -1,5 +1,5 @@ --- -title: Messaging troubleshooting and FAQs +title: Workflows troubleshooting and FAQs --- ## Emails not sending? From 8c734f27354cf9a69e1185a2564eba422328cbce Mon Sep 17 00:00:00 2001 From: "Vincent (Wen Yu) Ge" Date: Wed, 15 Oct 2025 14:09:55 -0400 Subject: [PATCH 3/9] Add a beta banner --- contents/docs/messaging/_snippets/beta.mdx | 9 +++++++++ contents/docs/messaging/configure-channels.mdx | 3 +++ contents/docs/messaging/email-drip-campaign.mdx | 3 +++ contents/docs/messaging/launch-workflow.mdx | 3 +++ contents/docs/messaging/start-here.mdx | 4 ++++ contents/docs/messaging/troubleshooting.mdx | 3 +++ contents/docs/messaging/workflow-builder.mdx | 3 +++ 7 files changed, 28 insertions(+) create mode 100644 contents/docs/messaging/_snippets/beta.mdx diff --git a/contents/docs/messaging/_snippets/beta.mdx b/contents/docs/messaging/_snippets/beta.mdx new file mode 100644 index 000000000000..1f464a40025c --- /dev/null +++ b/contents/docs/messaging/_snippets/beta.mdx @@ -0,0 +1,9 @@ +import CalloutBox from 'components/Docs/CalloutBox' + + + +Workflows is currently in early beta. While in beta, workflows is free to use. See the overview page for the [proposed pricing model](/docs/messaging/overview#pricing). + +We're always looking for feedback to improve workflows, please [reach out to us directly](https://app.posthog.com/messaging/campaigns#panel=support%3Afeedback%3A%3Alow%3Atrue) in app. + + diff --git a/contents/docs/messaging/configure-channels.mdx b/contents/docs/messaging/configure-channels.mdx index dcb8af7fe3b7..e49a31cfe749 100644 --- a/contents/docs/messaging/configure-channels.mdx +++ b/contents/docs/messaging/configure-channels.mdx @@ -4,6 +4,9 @@ showStepsToc: true --- import Tab from "components/Tab" +import Beta from './_snippets/beta.mdx' + + diff --git a/contents/docs/messaging/email-drip-campaign.mdx b/contents/docs/messaging/email-drip-campaign.mdx index ce469cf95dd1..0adfd7032a59 100644 --- a/contents/docs/messaging/email-drip-campaign.mdx +++ b/contents/docs/messaging/email-drip-campaign.mdx @@ -2,6 +2,9 @@ title: "Set up an email drip campaign" showStepsToc: true --- +import Beta from './_snippets/beta.mdx' + + In this guide we'll walk through creating a simple **drip campaign**. After following this guide, you will: - Send a welcome email when a user signs up diff --git a/contents/docs/messaging/launch-workflow.mdx b/contents/docs/messaging/launch-workflow.mdx index aa14a727ae13..f12b169e34bb 100644 --- a/contents/docs/messaging/launch-workflow.mdx +++ b/contents/docs/messaging/launch-workflow.mdx @@ -4,6 +4,9 @@ showStepsToc: true --- import Tab from "components/Tab" +import Beta from './_snippets/beta.mdx' + + This guide covers creating a very basic workflow where we send an email to users who perform an event on your app or site. Since we are sending a message (email), you will need to set up a [messaging channel](/docs/messaging/configure-channels) first. diff --git a/contents/docs/messaging/start-here.mdx b/contents/docs/messaging/start-here.mdx index 5565dc7990d9..91cedb0c4325 100644 --- a/contents/docs/messaging/start-here.mdx +++ b/contents/docs/messaging/start-here.mdx @@ -8,6 +8,10 @@ import { QuestLog, QuestLogItem } from 'components/Docs/QuestLog' import { IconGraph, IconRewindPlay, IconToggle } from '@posthog/icons' import ChannelPlatforms from './_snippets/channel-platforms' +import Beta from './_snippets/beta.mdx' + + + ## Emails not sending? diff --git a/contents/docs/messaging/workflow-builder.mdx b/contents/docs/messaging/workflow-builder.mdx index 6669ead4789b..666f28e53abc 100644 --- a/contents/docs/messaging/workflow-builder.mdx +++ b/contents/docs/messaging/workflow-builder.mdx @@ -1,6 +1,9 @@ --- title: Workflow builder --- +import Beta from './_snippets/beta.mdx' + + Workflows are a collection of steps that automate a process or deliver messages to your users based on your configured logic. In PostHog, you can create a workflow using our no-code workflow builder. From a95a682abcd0b7fa2ea3643ff959042ff7281ce6 Mon Sep 17 00:00:00 2001 From: "Vincent (Wen Yu) Ge" Date: Wed, 15 Oct 2025 14:11:26 -0400 Subject: [PATCH 4/9] Add placeholder for pricing in overivew --- src/pages/docs/messaging/index.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/pages/docs/messaging/index.tsx b/src/pages/docs/messaging/index.tsx index da6fbfaab083..90f42544a95c 100644 --- a/src/pages/docs/messaging/index.tsx +++ b/src/pages/docs/messaging/index.tsx @@ -8,12 +8,14 @@ import Link from 'components/Link' import { ProductScreenshot } from 'components/ProductScreenshot' import { Caption } from 'components/Caption' import ChannelPlatforms from '../../../../contents/docs/messaging/_snippets/channel-platforms' +import Beta from '../../../../contents/docs/messaging/_snippets/beta.mdx' export const Content = () => { return ( <>

    Overview

    +

    Workflows is PostHog's no-code, drag-and-drop tool for building logic that automates processes @@ -67,6 +69,11 @@ export const Content = () => {

    +
    +

    Pricing

    +

    PLACEHOLDER

    +
    +

    Next steps

      From 0a51df93166affc2d4ca24f1b0e17f930c3e8364 Mon Sep 17 00:00:00 2001 From: "Vincent (Wen Yu) Ge" Date: Wed, 15 Oct 2025 14:12:15 -0400 Subject: [PATCH 5/9] IDs --- src/pages/docs/messaging/index.tsx | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/pages/docs/messaging/index.tsx b/src/pages/docs/messaging/index.tsx index 90f42544a95c..d44479eaf928 100644 --- a/src/pages/docs/messaging/index.tsx +++ b/src/pages/docs/messaging/index.tsx @@ -14,7 +14,9 @@ export const Content = () => { return ( <>
      -

      Overview

      +

      + Overview +

      @@ -44,7 +46,9 @@ export const Content = () => {

      -

      Why use workflows?

      +

      + Why use workflows? +

      • @@ -65,17 +69,23 @@ export const Content = () => {
      -

      Channels and platforms

      +

      + Channels and platforms +

      -

      Pricing

      +

      + Pricing +

      PLACEHOLDER

      -

      Next steps

      +

      + Next steps +

        Date: Wed, 15 Oct 2025 15:00:18 -0400 Subject: [PATCH 6/9] messsging to workflows in the urls --- .../{messaging => workflows}/_snippets/beta.mdx | 0 .../_snippets/channel-platforms.tsx | 2 +- .../configure-channels.mdx | 0 .../email-drip-campaign.mdx | 0 .../{messaging => workflows}/launch-workflow.mdx | 0 .../docs/{messaging => workflows}/start-here.mdx | 0 .../{messaging => workflows}/troubleshooting.mdx | 0 .../workflow-builder.mdx | 0 src/navs/index.js | 16 ++++++++-------- .../docs/{messaging => workflows}/index.tsx | 4 ++-- 10 files changed, 11 insertions(+), 11 deletions(-) rename contents/docs/{messaging => workflows}/_snippets/beta.mdx (100%) rename contents/docs/{messaging => workflows}/_snippets/channel-platforms.tsx (92%) rename contents/docs/{messaging => workflows}/configure-channels.mdx (100%) rename contents/docs/{messaging => workflows}/email-drip-campaign.mdx (100%) rename contents/docs/{messaging => workflows}/launch-workflow.mdx (100%) rename contents/docs/{messaging => workflows}/start-here.mdx (100%) rename contents/docs/{messaging => workflows}/troubleshooting.mdx (100%) rename contents/docs/{messaging => workflows}/workflow-builder.mdx (100%) rename src/pages/docs/{messaging => workflows}/index.tsx (97%) diff --git a/contents/docs/messaging/_snippets/beta.mdx b/contents/docs/workflows/_snippets/beta.mdx similarity index 100% rename from contents/docs/messaging/_snippets/beta.mdx rename to contents/docs/workflows/_snippets/beta.mdx diff --git a/contents/docs/messaging/_snippets/channel-platforms.tsx b/contents/docs/workflows/_snippets/channel-platforms.tsx similarity index 92% rename from contents/docs/messaging/_snippets/channel-platforms.tsx rename to contents/docs/workflows/_snippets/channel-platforms.tsx index 74d456917c81..b66f5a1cc5d3 100644 --- a/contents/docs/messaging/_snippets/channel-platforms.tsx +++ b/contents/docs/workflows/_snippets/channel-platforms.tsx @@ -5,7 +5,7 @@ const ChannelPlatforms = () => { const platforms = [ { label: 'Email', - url: '/docs/messaging/configure-channels?tab=Email', + url: '/docs/workflows/configure-channels?tab=Email', image: 'https://res.cloudinary.com/dmukukwp6/image/upload/email_channel_dcb0bdadf1.svg', }, { diff --git a/contents/docs/messaging/configure-channels.mdx b/contents/docs/workflows/configure-channels.mdx similarity index 100% rename from contents/docs/messaging/configure-channels.mdx rename to contents/docs/workflows/configure-channels.mdx diff --git a/contents/docs/messaging/email-drip-campaign.mdx b/contents/docs/workflows/email-drip-campaign.mdx similarity index 100% rename from contents/docs/messaging/email-drip-campaign.mdx rename to contents/docs/workflows/email-drip-campaign.mdx diff --git a/contents/docs/messaging/launch-workflow.mdx b/contents/docs/workflows/launch-workflow.mdx similarity index 100% rename from contents/docs/messaging/launch-workflow.mdx rename to contents/docs/workflows/launch-workflow.mdx diff --git a/contents/docs/messaging/start-here.mdx b/contents/docs/workflows/start-here.mdx similarity index 100% rename from contents/docs/messaging/start-here.mdx rename to contents/docs/workflows/start-here.mdx diff --git a/contents/docs/messaging/troubleshooting.mdx b/contents/docs/workflows/troubleshooting.mdx similarity index 100% rename from contents/docs/messaging/troubleshooting.mdx rename to contents/docs/workflows/troubleshooting.mdx diff --git a/contents/docs/messaging/workflow-builder.mdx b/contents/docs/workflows/workflow-builder.mdx similarity index 100% rename from contents/docs/messaging/workflow-builder.mdx rename to contents/docs/workflows/workflow-builder.mdx diff --git a/src/navs/index.js b/src/navs/index.js index ff75227faded..e9bd35d08a5a 100644 --- a/src/navs/index.js +++ b/src/navs/index.js @@ -4581,7 +4581,7 @@ export const docsMenu = { name: 'Workflows', icon: 'IconMegaphone', color: 'red', - url: '/docs/messaging', + url: '/docs/workflows', description: 'Create automations or campaigns to send messages to your users.', children: [ { @@ -4589,7 +4589,7 @@ export const docsMenu = { }, { name: 'Overview', - url: '/docs/messaging', + url: '/docs/workflows', icon: 'IconHome', color: 'seagreen', }, @@ -4598,21 +4598,21 @@ export const docsMenu = { }, { name: 'Start here', - url: '/docs/messaging/start-here', + url: '/docs/workflows/start-here', icon: 'IconListCheck', color: 'orange', featured: true, }, { name: 'Configure a messaging channel', - url: '/docs/messaging/configure-channels', + url: '/docs/workflows/configure-channels', icon: 'IconMegaphone', color: 'blue', featured: true, }, { name: 'Launch your first workflow', - url: '/docs/messaging/launch-workflow', + url: '/docs/workflows/launch-workflow', icon: 'IconMegaphone', color: 'blue', featured: true, @@ -4622,7 +4622,7 @@ export const docsMenu = { }, { name: 'Workflow builder', - url: '/docs/messaging/workflow-builder', + url: '/docs/workflows/workflow-builder', icon: 'IconDatabase', color: 'orange', }, @@ -4631,7 +4631,7 @@ export const docsMenu = { }, { name: 'Create a drip campaign', - url: '/docs/messaging/email-drip-campaign', + url: '/docs/workflows/email-drip-campaign', icon: 'IconDatabase', color: 'orange', }, @@ -4640,7 +4640,7 @@ export const docsMenu = { }, { name: 'Troubleshooting and FAQs', - url: '/docs/messaging/troubleshooting', + url: '/docs/workflows/troubleshooting', icon: 'IconQuestion', color: 'red', }, diff --git a/src/pages/docs/messaging/index.tsx b/src/pages/docs/workflows/index.tsx similarity index 97% rename from src/pages/docs/messaging/index.tsx rename to src/pages/docs/workflows/index.tsx index d44479eaf928..314bf2133a64 100644 --- a/src/pages/docs/messaging/index.tsx +++ b/src/pages/docs/workflows/index.tsx @@ -7,8 +7,8 @@ import OSTable from 'components/OSTable' import Link from 'components/Link' import { ProductScreenshot } from 'components/ProductScreenshot' import { Caption } from 'components/Caption' -import ChannelPlatforms from '../../../../contents/docs/messaging/_snippets/channel-platforms' -import Beta from '../../../../contents/docs/messaging/_snippets/beta.mdx' +import ChannelPlatforms from '../../../../contents/docs/workflows/_snippets/channel-platforms' +import Beta from '../../../../contents/docs/workflows/_snippets/beta.mdx' export const Content = () => { return ( From 1ef6cd2ce3e35f29c385eb8406f1104ccb074205 Mon Sep 17 00:00:00 2001 From: Abheek Basu Date: Wed, 15 Oct 2025 16:36:52 -0400 Subject: [PATCH 7/9] moving to workflows url part 2 --- contents/docs/workflows/_snippets/beta.mdx | 2 +- .../docs/workflows/configure-channels.mdx | 16 +++++++-------- .../docs/workflows/email-drip-campaign.mdx | 8 +++++--- contents/docs/workflows/launch-workflow.mdx | 14 +++++++------ contents/docs/workflows/start-here.mdx | 20 +++++++++---------- contents/docs/workflows/workflow-builder.mdx | 8 ++++---- src/pages/docs/workflows/index.tsx | 18 ++++++++++------- 7 files changed, 47 insertions(+), 39 deletions(-) diff --git a/contents/docs/workflows/_snippets/beta.mdx b/contents/docs/workflows/_snippets/beta.mdx index 1f464a40025c..d17c302a731c 100644 --- a/contents/docs/workflows/_snippets/beta.mdx +++ b/contents/docs/workflows/_snippets/beta.mdx @@ -2,7 +2,7 @@ import CalloutBox from 'components/Docs/CalloutBox' -Workflows is currently in early beta. While in beta, workflows is free to use. See the overview page for the [proposed pricing model](/docs/messaging/overview#pricing). +Workflows is currently in early beta. While in beta, workflows is free to use. See the overview page for the [proposed pricing model](/docs/workflows/overview#pricing). We're always looking for feedback to improve workflows, please [reach out to us directly](https://app.posthog.com/messaging/campaigns#panel=support%3Afeedback%3A%3Alow%3Atrue) in app. diff --git a/contents/docs/workflows/configure-channels.mdx b/contents/docs/workflows/configure-channels.mdx index e49a31cfe749..73d54ac1bfec 100644 --- a/contents/docs/workflows/configure-channels.mdx +++ b/contents/docs/workflows/configure-channels.mdx @@ -12,9 +12,9 @@ import Beta from './_snippets/beta.mdx' -Before you can design a campaign, you need to configure a messaging channel. Campaigns use messaging channels to deliver messages to your users. +Before you can design a workflow, you need to configure a messaging channel. Workflows that send messages use messaging channels to deliver messages to your users. -To create a new channel, go to messaging > [**Channels** tab](https://app.posthog.com/messaging/channels) > click **+ New channel**, and select the channel you want to configure: +To create a new channel, go to workflows > [**Channels** tab](https://app.posthog.com/messaging/channels) > click **+ New channel**, and select the channel you want to configure: [**Channels** tab](https://app.postho Email is the default messaging channel in PostHog. -You can use it to send **[drip campaigns](/docs/messaging/email-drip-campaign), transactional messages, or announcements** directly from the Campaign Builder. +You can use it to send **[drip campaigns](/docs/workflows/email-drip-campaign), transactional messages, or announcements** directly from the Campaign Builder. ### Configure the channel @@ -80,7 +80,7 @@ Navigate to **Messaging** > **Templates** tab > click **+ Create new**. - Give your template a name. - Write your subject line and body content (HTML and text versions are supported). -- Use variables like `{{ person.name }}` to personalize your message. See the [campaign builder](/docs/messaging/campaign-builder) documentation for more information on available variables. +- Use variables like `{{ person.name }}` to personalize your message. See the [campaign builder](/docs/workflows/campaign-builder) documentation for more information on available variables. Save your template — you'll be able to select it later when you design a campaign. @@ -88,12 +88,12 @@ You'll still be able to edit the message in the campaign builder. - + -Once your channel is created, you can use it in a campaign to deliver messages to your users. +Once your channel is created, you can use it in a workflow to deliver messages to your users. - - Launch your first campaign + + Launch your first workflow diff --git a/contents/docs/workflows/email-drip-campaign.mdx b/contents/docs/workflows/email-drip-campaign.mdx index 0adfd7032a59..fcbbe13f6032 100644 --- a/contents/docs/workflows/email-drip-campaign.mdx +++ b/contents/docs/workflows/email-drip-campaign.mdx @@ -44,9 +44,11 @@ The trigger block has a little exclamation mark. This means it is not configured Now, let's click on the trigger block and configure it. In a new workflow, the trigger doesn't have any default trigger events. Triggers tell PostHog what events will start the workflow workflow. +Change the frequency drop down to `"One time"` this means a user will only go through this workflow once, and cannot be re-enrolled. + @@ -94,7 +96,7 @@ Then, click on the email block to configure it. Set the **subject line** and **s > If you haven't configured an email channel yet, you will need to do that first. > -> +> > Configure an email channel > > diff --git a/contents/docs/workflows/launch-workflow.mdx b/contents/docs/workflows/launch-workflow.mdx index f12b169e34bb..6aa035d2dc50 100644 --- a/contents/docs/workflows/launch-workflow.mdx +++ b/contents/docs/workflows/launch-workflow.mdx @@ -8,15 +8,15 @@ import Beta from './_snippets/beta.mdx' -This guide covers creating a very basic workflow where we send an email to users who perform an event on your app or site. Since we are sending a message (email), you will need to set up a [messaging channel](/docs/messaging/configure-channels) first. +This guide covers creating a very basic workflow where we send an email to users who perform an event on your app or site. Since we are sending a message (email), you will need to set up a [messaging channel](/docs/workflows/configure-channels) first. -See the [workflow builder](/docs/messaging/workflow-builder) for more information on the different components of a workflow, and see the end of this guide for more examples. +See the [workflow builder](/docs/workflows/workflow-builder) for more information on the different components of a workflow, and see the end of this guide for more examples. -Go to [Messaging](https://app.posthog.com/messaging/campaigns/new/workflow) and click the **+ New campaign button**. +Go to [Workflows](https://app.posthog.com/messaging/campaigns/new/workflow) and click the **+ New campaign button**. @@ -57,6 +57,8 @@ Click the **+ Add trigger event** button and search for the event you want to us You can use any PostHog event as a trigger. For example, you could add a button in your app that captures a `test_email` event when clicked. +Change the frequency drop down to `"One time"` this means a user cannot be re-enrolled once they are in the workflow + @@ -93,7 +95,7 @@ In the email template, you can configure the following: During testing, you can hardcode your own email address in the **To** field for testing. -The email template has access to event and person properties of the trigger event. You can learn more about this in the [workflow builder](/docs/messaging/workflow-builder) documentation. +The email template has access to event and person properties of the trigger event. You can learn more about this in the [workflow builder](/docs/workflows/workflow-builder) documentation. diff --git a/contents/docs/workflows/start-here.mdx b/contents/docs/workflows/start-here.mdx index 91cedb0c4325..212e0d13d1d4 100644 --- a/contents/docs/workflows/start-here.mdx +++ b/contents/docs/workflows/start-here.mdx @@ -20,7 +20,7 @@ import Beta from './_snippets/beta.mdx' icon="IconRocket" > -The [workflow builder](/docs/messaging/workflow-builder) is a powerful, no-code tool for automating processes and sending messages to your users. +The [workflow builder](/docs/workflows/workflow-builder) is a powerful, no-code tool for automating processes and sending messages to your users. + Design and launch your first workflow @@ -47,15 +47,15 @@ Workflows are made up of the following building blocks: | Component | Description | |-----------|-------------| -| [Triggers](/docs/messaging/workflow-builder#triggers) | What starts the workflow. We let you start a workflow when an event is performed (e.g. a user signs up), or programmatically via a webhook. | -| [Dispatches](/docs/messaging/workflow-builder#dispatches) | The messages you send, mail, slack, SMS, webhook, or any PostHog real time destinations. | -| [Delays](/docs/messaging/workflow-builder#delays) | Wait steps such as "wait 2 days" or "wait until condition is true." | -| [Audience splits](/docs/messaging/workflow-builder#audience-splits) | Target and split the users you message with more specificity or try a/b testing with random branching. | -| [PostHog actions](/docs/messaging/workflow-builder#posthog-actions) | Change a person's properties, or trigger other events, once a person reaches a specific point in your workflow. | +| [Triggers](/docs/workflows/workflow-builder#triggers) | What starts the workflow. We let you start a workflow when an event is performed (e.g. a user signs up), or programmatically via a webhook. | +| [Dispatches](/docs/workflows/workflow-builder#dispatches) | The messages you send, mail, slack, SMS, webhook, or any PostHog real time destinations. | +| [Delays](/docs/workflows/workflow-builder#delays) | Wait steps such as "wait 2 days" or "wait until condition is true." | +| [Audience splits](/docs/workflows/workflow-builder#audience-splits) | Target and split the users you message with more specificity or try a/b testing with random branching. | +| [PostHog actions](/docs/workflows/workflow-builder#posthog-actions) | Change a person's properties, or trigger other events, once a person reaches a specific point in your workflow. | Familiarize yourself with these components to explore the full power of the workflow builder. - + Learn about workflow components @@ -81,7 +81,7 @@ If you want to send your users a message you will need to use a preconfigured de --- - + Configure your messaging channel @@ -95,7 +95,7 @@ If you want to send your users a message you will need to use a preconfigured de We've created a few tutorials for common use cases to get you started: -- [How to create an email drip campaign](/docs/messaging/email-drip-campaign) +- [How to create an email drip campaign](/docs/workflows/email-drip-campaign) --- diff --git a/contents/docs/workflows/workflow-builder.mdx b/contents/docs/workflows/workflow-builder.mdx index 666f28e53abc..dc8e3d84ab04 100644 --- a/contents/docs/workflows/workflow-builder.mdx +++ b/contents/docs/workflows/workflow-builder.mdx @@ -52,9 +52,9 @@ Dispatches are the messages you send, mail, slack, SMS, webhook, or any PostHog | Dispatch type | Description | |--------------|-------------| -| Email | Send an email natively through PostHog. Configured in the [messaging channels](/docs/messaging/configure-channels) section. | -| Slack | Send a message to a slack channel. Configured in the [messaging channels](/docs/messaging/configure-channels) section. | -| Webhook | Call external systems. Configured in the [messaging channels](/docs/messaging/configure-channels) section. | +| Email | Send an email natively through PostHog. Configured in the [messaging channels](/docs/workflows/configure-channels) section. | +| Slack | Send a message to a slack channel. Configured in the [messaging channels](/docs/workflows/configure-channels) section. | +| Webhook | Call external systems. Configured in the [messaging channels](/docs/workflows/configure-channels) section. | | CDP destinations | Use any [realtime destination](/docs/cdp/destinations) as an dispatch step to deliver messages to users or other services. | ## Delays @@ -67,7 +67,7 @@ Delays help you control the timing of your messages. There are 3 types of delays | Wait until condition | Wait until a specific condition is met (e.g. user has property set to a specific value). | | Wait until time window | Wait until a specific time window (e.g. only send on weekdays 9-5). | -You can see an example of a delay in the [email drip campaign](/docs/messaging/email-drip-campaign) tutorial. +You can see an example of a delay in the [email drip campaign](/docs/workflows/email-drip-campaign) tutorial. ## Audience splits diff --git a/src/pages/docs/workflows/index.tsx b/src/pages/docs/workflows/index.tsx index 314bf2133a64..3836993a08e9 100644 --- a/src/pages/docs/workflows/index.tsx +++ b/src/pages/docs/workflows/index.tsx @@ -25,7 +25,7 @@ export const Content = () => { messages and when they're sent.

        - Workflows are made up of components that you + Workflows are made up of components that you arrange; triggers, actions, delays, audience splits, and PostHog actions. Every workflow starts with a trigger and ends with an exit, but you can add as much logic in between as needed.

        @@ -79,7 +79,11 @@ export const Content = () => {

        Pricing

        -

        PLACEHOLDER

        +

        + Workflows is currently in early beta. While in beta, workflows is free to use. After the beta, we + are planning to charge for usage based on the number of real-time destinations and messages sent per + month, with a generous free tier. +

      @@ -90,14 +94,14 @@ export const Content = () => { { const Messaging: React.FC = () => { return ( - +
      @@ -123,7 +127,7 @@ const Messaging: React.FC = () => { title="Workflows" description="Create workflows that automate actions or send messages to your users." buttonText="Installation guide" - buttonLink="/docs/messaging/start-here" + buttonLink="/docs/workflows/start-here" imageColumnClasses="mt-4 md:-mt-8" imageUrl="https://res.cloudinary.com/dmukukwp6/image/upload/hoggie_mail_48daf2f4b4.png" imageClasses="max-h-48 md:max-h-64" From 43e91eac3f652a77a64c0175e6b88688e09ca11a Mon Sep 17 00:00:00 2001 From: Abheek Basu Date: Wed, 15 Oct 2025 18:37:31 -0400 Subject: [PATCH 8/9] get pricing callout to link correctly --- contents/docs/workflows/_snippets/beta.mdx | 2 +- src/pages/docs/workflows/index.tsx | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/contents/docs/workflows/_snippets/beta.mdx b/contents/docs/workflows/_snippets/beta.mdx index d17c302a731c..e367896c140d 100644 --- a/contents/docs/workflows/_snippets/beta.mdx +++ b/contents/docs/workflows/_snippets/beta.mdx @@ -2,7 +2,7 @@ import CalloutBox from 'components/Docs/CalloutBox' -Workflows is currently in early beta. While in beta, workflows is free to use. See the overview page for the [proposed pricing model](/docs/workflows/overview#pricing). +Workflows is currently in early beta. While in beta, workflows is free to use. See the overview page for the [proposed pricing model](/docs/workflows#pricing). We're always looking for feedback to improve workflows, please [reach out to us directly](https://app.posthog.com/messaging/campaigns#panel=support%3Afeedback%3A%3Alow%3Atrue) in app. diff --git a/src/pages/docs/workflows/index.tsx b/src/pages/docs/workflows/index.tsx index 3836993a08e9..04297b1f98b3 100644 --- a/src/pages/docs/workflows/index.tsx +++ b/src/pages/docs/workflows/index.tsx @@ -79,10 +79,12 @@ export const Content = () => {

      Pricing

      +

      Workflows is currently in early beta. While in beta, workflows is free to use.

      - Workflows is currently in early beta. While in beta, workflows is free to use. After the beta, we - are planning to charge for usage based on the number of real-time destinations and messages sent per - month, with a generous free tier. + After the beta, we are planning to charge for usage based on the number of real-time destinations + used and messages sent per month. Workflows with more destinations or messages will count as higher + usage than those with fewer. We are planning a generous free tier of 10,000 real time + destinations/messages per month, and then volume discounts as usage increases.

      From 0b43e43c967bfe227eeb0d6bc6caa1fb30f0cfe3 Mon Sep 17 00:00:00 2001 From: Abheek Basu Date: Wed, 15 Oct 2025 18:47:07 -0400 Subject: [PATCH 9/9] addressing greptile comments --- contents/docs/workflows/email-drip-campaign.mdx | 6 +++--- contents/docs/workflows/launch-workflow.mdx | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/contents/docs/workflows/email-drip-campaign.mdx b/contents/docs/workflows/email-drip-campaign.mdx index fcbbe13f6032..7f691745bb27 100644 --- a/contents/docs/workflows/email-drip-campaign.mdx +++ b/contents/docs/workflows/email-drip-campaign.mdx @@ -14,7 +14,7 @@ In this guide we'll walk through creating a simple **drip campaign**. After foll -Go to [Messaging](https://app.posthog.com/messaging/campaigns/new/workflow) and click the **+ New campaign button**. +Go to [Workflows](https://app.posthog.com/messaging/campaigns/new/workflow) and click the **+ New workflow button**. -Now, let's click on the trigger block and configure it. In a new workflow, the trigger doesn't have any default trigger events. Triggers tell PostHog what events will start the workflow workflow. +Now, let's click on the trigger block and configure it. In a new workflow, the trigger doesn't have any default trigger events. Triggers tell PostHog what events will start the workflow. Change the frequency drop down to `"One time"` this means a user will only go through this workflow once, and cannot be re-enrolled. @@ -165,7 +165,7 @@ Now the complete workflow should look like this: imageLight="https://res.cloudinary.com/dmukukwp6/image/upload/w_2000,c_limit,q_auto,f_auto/email_drip_overview_light_a84567a8f9.png" imageDark="https://res.cloudinary.com/dmukukwp6/image/upload/w_2000,c_limit,q_auto,f_auto/email_drip_overview_dark_2bb57406d6.png" classes="rounded" - alt="Complete workflow workflow" + alt="Complete drip campaign workflow" /> Click **Create** to publish the workflow. diff --git a/contents/docs/workflows/launch-workflow.mdx b/contents/docs/workflows/launch-workflow.mdx index 6aa035d2dc50..52af6b397ab4 100644 --- a/contents/docs/workflows/launch-workflow.mdx +++ b/contents/docs/workflows/launch-workflow.mdx @@ -35,16 +35,16 @@ This will open the workflow builder: /> The new workflow only has two blocks: -- A trigger block: This defines the event that will start the workflow workflow. -- An exit block: This defines the event that will end the workflow workflow. +- A trigger block: This defines the event that will start the workflow. +- An exit block: This defines the event that will end the workflow. -On the right side of the workflow builder, you can see the types of blocks available to add to your campaign. +On the right side of the workflow builder, you can see the types of blocks available to add to your workflow. -Now, let's click on the trigger block and configure it. In a new workflow, the trigger doesn't have any trigger events. Triggers tell PostHog what events will start the workflow workflow. +Now, let's click on the trigger block and configure it. In a new workflow, the trigger doesn't have any trigger events. Triggers tell PostHog what events will start the workflow. -Now that we have a trigger that can initiate the workflow workflow, we need to add an Dispatch to send a message to the users who trigger the workflow. +Now that we have a trigger that can initiate the workflow, we need to add an Dispatch to send a message to the users who trigger the workflow.