Platform Ops
Production Logs
PostHog
We use PostHog to track product usage across the platform. We use PostHog's "Autocapture" feature to capture product interaction, as well as emitting specific events from our backend to PostHog such as:
esp-capability-mapping-requestedespi-message
You can view PostHog Activity to see a raw list of all events captured.
PostHog Actions
We can classify our self-defined events and autocapture classified as PostHog Actions, where you can select user interactions in the form of explicit events or other behaviours. The benefit here is that you might have multiple events (that occur in different parts of the application) that all classify as the same "Action". Examples of a PostHog action include:
- Auth: Platform Login - Tracks when a user has logged into the platform.
- User Task: Create Task - Tracks when a user has created a new user task.
- ESPi: New Message - Tracks when a user has sent a message to ESPi.
- Portfolio: Map Capabilities - Tracks when a user has triggered a new mapping process for their portfolio.
- Agent Task: Start Task - Tracks when a user has started a new deep research/agent task.
Integrations: PostHog Destinations
We setup PostHog Destinations to automatically funnel events from PostHog out to other resources. We use Slack primarily here and report into the #ops-production channel.
If you want to start recording new events in Slack, add a new Destination. You can then define which events which you want to feed to the destination and the message format that is sent to Slack too. It is advised to follow conventions:
- Bot Name:
PostHog: Platform Ops - Emoji Icon: Use an appropriate emoji that differentiates it from other event types.
- Trigger Options: This can be a useful tool to limit the notification traffic going into Slack. You can choose whether every action/event triggers a message, or set intervals/limits, e.g. sending a notification just when a user sends their first ESPi message, rather than every message.

