You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Event property equals/contains/etc something --> we have the event's properties, so easy to do all possible comparisons
User property contains something --> we need the Person for this. We are selecting it for all posthog-js events due to some automatic $set properties, so it's probably fine to also fetch the person (if not already fetched) to match a property for an action
User belongs to a cohort --> add one extra query to get all cohorts for a person? ... or inlined in the fetch above?
In addition:
We will need a system to keep all these ActionSteps in memory in the plugin server and reload them when changed. Similar to PluginConfigs now.
However:
We still need the django async action-event mapping code to clean up after changes to actions (calculating action...)
Should we find a way to run webhooks on late-matched or back-matched actions?
Shouldn't be that hard to pull off?
Next step after this: automatically update cohorts after ingesting events.
We should probably match actions to events on the fly in the plugin server.
At the highest level:
There are three different types of ActionSteps that we can match directly:
Filters on all three of them add some complexity:
Personfor this. We areselecting it for all posthog-js events due to some automatic$setproperties, so it's probably fine to also fetch the person (if not already fetched) to match a property for an actionIn addition:
PluginConfigs now.However:
Shouldn't be that hard to pull off?
Next step after this: automatically update cohorts after ingesting events.