Where the trigger comes from
The fastest way to tell these tools apart is to ask who fires the trigger.
With Knock, your application does. When a teammate leaves a comment, your backend calls Knock with the workflow key, the recipients and a payload. Knock then runs the workflow: it checks each recipient's preferences, may wait to batch several comments into one digest, posts an in-app feed item, and falls back to email if the feed item is not seen. Knock is infrastructure you build into a feature.
With PostHog Workflows, your analytics does. PostHog already records that a user signed up, completed a step or joined a cohort. A workflow watches for that signal and acts: sends an email, posts to Slack, calls a webhook or updates a person property. No one had to add a new API call to the product for it to work.
Three scenarios, three answers
"Tell a user when someone assigns them a task." This is a product notification. It happens because of an action in your app, the user expects it immediately, and they may want it in-app, by email or in Slack depending on their settings. Knock is designed for exactly this.
"Email users who signed up three days ago and have not created a project." This is a behavioral nudge. The logic depends on analytics and a time delay, not a specific product action. PostHog Workflows handles it in a few clicks. In Knock, you would compute the audience yourself and trigger the workflow from a scheduled job.
"Send a trial-ending sequence that changes based on usage and plan." This is lifecycle marketing. It needs segments, several emails, copy marketing can edit, and billing data. Neither tool is built for it.
What Knock gives you that PostHog does not
- In-app feeds. React and mobile components render a notification inbox and toasts inside your product.
- Preferences. Users choose per workflow and per channel what they receive, and Knock enforces it on every send.
- Batching. Bursts of activity become one digest instead of ten emails.
- Provider routing. Knock includes an email channel and connects to SendGrid, Postmark, Resend, Amazon SES and others, plus SMS, push, Slack and Microsoft Teams providers, behind one API.
- Guides and broadcasts. In-app guides and one-time broadcasts reuse the same templates and channels.
What PostHog Workflows gives you that Knock does not
- No new trigger code. Every event PostHog captures is available as a trigger.
- Cohorts as audiences. The cohort you analyze in a funnel can be the audience for a message.
- Analytics actions. Workflows can update person properties or send data to real-time destinations.
- A lower first step. Paid usage starts at $0.003 per email after 10,000 free each month.
The $250 cliff
The pricing tension in this pair is the jump from free to paid. Knock's Developer plan is free for 10,000 messages a month. The next plan, Starter, is $250 a month for 50,000 messages, with extra messages at $0.005 each. There is nothing in between. A team that outgrows 10,000 messages by a small margin pays $250 either way.
PostHog has no such step. Crossing 10,000 emails by 2,000 costs about $6 that month. For a product whose notification volume hovers near the free limit, that difference is real.
Per-channel billing math
Knock counts one message per recipient per channel. Take a product that sends 40,000 notifications a month, each delivered as an in-app item plus an email.
| Line item | Knock Starter | PostHog Workflows | Sequenzy |
|---|---|---|---|
| Billable units | 80,000 messages (2 channels) | 40,000 emails | 40,000 emails |
| Included | 50,000 messages | 10,000 emails | 60,000 on the $49 plan |
| Overage | 30,000 x $0.005 = $150 | 30,000 x $0.003 = $90 | None |
| Monthly total | About $400 | About $90, plus PostHog analytics | $49 |
| What you get | Feed, preferences, batching, routing | Email only, no in-app surface | Email only, no in-app surface |
The numbers show why price alone misleads here. Knock costs more because it does more; PostHog and Sequenzy cannot render an in-app feed at any price.
Preferences are a compliance feature, not a nicety
Once a product sends several kinds of notifications, users ask to turn some off. Knock's preference model lets them opt out of a workflow on one channel while keeping it on another, and Knock applies that on every send. Building this yourself means a settings UI, a storage model and checks in every code path.
PostHog Workflows handles opt-outs with message categories and a suppression list, which suits marketing-style unsubscribes. It is not designed for "email me about mentions but only show approvals in-app".
Using them together
A reasonable split: product notifications users expect as part of the app go through Knock; behavioral nudges and internal alerts from analytics stay in PostHog; and PostHog can call Knock's API from a webhook step when an analytics signal should become a preference-aware notification.
The risk is overlap. If both tools email the same user about related things, you get duplicate or conflicting messages. Decide which tool owns each category of email and write it down.
Review signals
Knock holds about 4.6 out of 5 on G2 across roughly 140 reviews, mostly from small businesses. Reviewers praise centralizing notifications across apps, scheduling, the pre-built React components and developer experience. Criticism in comparisons centers on the $250 starting paid price, templates that are less visual than some competitors, the need to bring your own delivery providers, and the absence of marketing campaign features. PostHog Workflows is newer, and independent reviews of it specifically remain limited.
Use-case matchups
| Need | Better fit | Why |
|---|---|---|
| Notification bell with unread state | Knock | Feed components and read tracking are built in |
| Per-user, per-channel opt-outs | Knock | Preference model enforced on every send |
| Nudge from a funnel drop-off | PostHog Workflows | Cohort triggers need no code |
| Slack alert to sales on usage spike | PostHog Workflows | Internal dispatches are included |
| Dunning and trial-ending sequences | Sequenzy | Stripe events and editable sequences |
Where Sequenzy fits
Sequenzy is not notification infrastructure. It does not provide in-app feeds, provider routing or per-channel preference centers, so it does not replace Knock.
It fills the gap beside both: lifecycle and marketing email. Sequenzy handles onboarding sequences, trial conversion, newsletters and transactional templates in one place with shared suppression. It connects to Stripe for billing triggers, and its native PostHog integration receives events through a PostHog destination, so analytics events can start sequences without new backend code. Pricing is by emails sent with unlimited contacts: free for 2,500 a month, $19 for 15,000 and $49 for 60,000.
Migration checklist
| Workstream | PostHog Workflows to Knock | Knock to PostHog Workflows |
|---|---|---|
| Triggers | Add Knock trigger calls in your backend | Replace trigger calls with PostHog event or cohort triggers |
| Audiences | Pass recipients in each trigger | Rebuild scheduled-job audiences as cohorts |
| Templates | Recreate per channel in Knock | Export HTML; in-app and push steps need another home |
| Preferences | Map PostHog message categories to Knock preferences | Map preferences to message categories and suppression |
| Providers | Connect an email provider and verify its domain | Verify your sending domain in PostHog |
| Identity | Use the same user ID for Knock recipients and PostHog persons | Confirm distinct IDs match your app's user IDs |
Decision checklist
- Choose Knock if your product needs an in-app feed, per-user preferences, batching or multi-provider routing.
- Choose PostHog Workflows if you want analytics events and cohorts to trigger email, Slack and webhook actions without code.
- Avoid Knock if your volume sits just above 10,000 messages and you only need email; the $250 step buys features you will not use.
- Avoid PostHog Workflows for notifications users expect inside the app.
- Consider Sequenzy for lifecycle, billing and marketing email that neither tool is designed to run.

