AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured workflow for creating, updating, testing, and managing scheduled subscriptions in PostHog. It supports the delivery of insight snapshots, dashboard snapshots, and AI-generated prompt reports to email, Slack, or Microsoft Teams. The skill covers the full lifecycle of a subscription, including checking for duplicates, configuring delivery schedules, handling destination-specific requirements, and managing subscription status (pause/resume/delete). It also addresses operational considerations such as plan limits, AI credit usage, and troubleshooting delivery failures.
What it does
- Creates recurring subscriptions for insights, dashboards, and AI prompt reports.
- Manages subscription lifecycle including pausing, resuming, and deleting.
- Configures delivery destinations for email, Slack, and Microsoft Teams.
- Tests subscription delivery to verify configuration and connectivity.
- Monitors delivery history and investigates potential failures.
- Handles AI-specific requirements including credit usage and summary settings.
When to use it
- When a user needs to schedule recurring reports or snapshots of product data.
- When a user wants to change recipients, schedules, or destinations for existing subscriptions.
- When troubleshooting why a scheduled report was not received.
- When managing subscription limits or cleaning up unused reports to free up slots.
- When verifying that a new Slack or Teams integration is correctly configured for delivery.
Advantages
- Ensures consistent data delivery through a standardized, step-by-step process.
- Prevents duplicate subscriptions by checking existing configurations before creation.
- Provides clear guidance on handling sensitive credentials like Teams webhooks.
- Integrates verification steps to confirm delivery success after configuration changes.
- Helps manage organizational resources by tracking plan limits and AI credit usage.
Usage examples
- “Set up a weekly email subscription for the 'User Retention' dashboard.”
- The agent will list existing subscriptions to avoid duplicates, verify the dashboard ID, confirm the email recipients, set the weekly schedule, and offer to send an immediate test delivery.
- “Pause my AI prompt report subscription.”
- The agent will retrieve the subscription, confirm its status, and perform a partial update to set it to disabled, effectively pausing future deliveries.
- “Why did my Slack subscription stop sending reports?”
- The agent will check the delivery history for the subscription, verify the integration status, and suggest checking channel access or re-authenticating the Slack integration.
- “Change the destination for my insight report to a new Slack channel.”
- The agent will retrieve the current subscription, list available Slack channels, update the target value, and ask for approval before triggering a test delivery to the new channel.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/posthog/managing-subscriptions/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip managing-subscriptions.zip -d .agents/skills
Documentation by PostHog
Managing subscriptions
Subscriptions deliver product data on a fixed schedule. They support insight snapshots, dashboard snapshots, and AI prompt reports.
Read the relevant references
Read subscription-types.md before you select or change a resource type.
Read destinations.md before you create or change a destination.
Read operations.md for schedules, limits, billing, delivery checks, and failures.
Use
creating-ai-subscriptionfor the detailed prompt report creation workflow.
Choose the correct product
Use a subscription for fixed delivery, such as "send this dashboard every Monday."
Use a product alert for a condition, such as "notify me when conversion falls below 10%."
Use a reminder when the user wants a private prompt to inspect a resource later.
Use a Signals scout when an agent must decide what is important to report.
Subscriptions do not evaluate thresholds, recovery, consecutive breaches, or quiet hours. Snapshot subscriptions attempt each scheduled occurrence even when the saved results do not change.
Tools
| Tool | Purpose |
|---|---|
posthog:subscriptions-list | Find subscriptions |
posthog:subscriptions-retrieve | Read one subscription |
posthog:subscriptions-create | Create a subscription |
posthog:subscriptions-partial-update | Change, pause, or resume a subscription |
posthog:subscriptions-test-delivery-create | Send a test delivery |
posthog:subscriptions-deliveries-list | List delivery attempts |
posthog:subscriptions-deliveries-retrieve | Read one delivery |
posthog:subscriptions-delete | Stop all future deliveries |
posthog:integrations-list | Find a Slack integration |
posthog:integrations-channels-retrieve | Find Slack channels |
posthog:dashboard-get | Read dashboard tiles |
posthog:insight-get | Resolve an insight ID |
Create a subscription
Call
posthog:subscriptions-listand check for a duplicate.Select one resource type from subscription-types.md.
Resolve the destination with destinations.md.
Resolve the schedule with operations.md.
Ask whether the user wants an immediate delivery.
Set
send_test_nowto the user's choice.Call
posthog:subscriptions-create.Read the saved subscription and check each requested field.
If the user approved an immediate delivery, check its delivery record.
If creation times out or returns an uncertain result, list matching subscriptions before you retry. Creation is not idempotent. A blind retry can create a duplicate subscription and send a duplicate immediate delivery.
Do not infer missing recipients, channels, times, or time zones. Ask for these values before creation.
Find existing subscriptions
Use these list filters when they reduce ambiguity:
resource_type:insight,dashboard, orai_prompt.target_type:email,slack, orteams.insightorinsights: One insight ID or a comma-separated ID list.dashboard: One dashboard ID.dashboard_tiles: Insight subscriptions for live tiles on one dashboard.created_by: One creator UUID.
Check for duplicates
Use search when the user supplied a title, insight name, dashboard name, or prompt text.
Prompt subscriptions match their title and prompt text.
Compare the resource, destination type, target, schedule, and enabled state.
A Teams result contains only the webhook host. One host can serve many channels. Do not use the host to identify a duplicate.
Show the title, schedule, creator, and creation date for possible Teams matches. Ask the user to select a subscription when these fields identify it. Create a new subscription when no field identifies the target channel.
Confirm the saved result
Check these fields after creation:
resource_typematchesinsight,dashboard, orai_prompt.target_typeand the safe target label match the request.enabledistrue.next_delivery_datematches the schedule and time zone.The AI and delivery options match the user's choices.
Change a subscription
Call posthog:subscriptions-retrieve before each update.
Before an update that can send a delivery, list the current delivery IDs.
Then call posthog:subscriptions-partial-update with the changed fields.
Ask before an update that can send an immediate delivery. The MCP update tool cannot suppress an immediate delivery for these changes. If the user does not approve delivery, do not make the update.
Set
enabled: falseto pause delivery.Set
enabled: trueto resume delivery.Send the complete new target when you change recipients.
Send
target_typeandtarget_valuetogether when you change the destination type.Omit
target_valueto keep a saved Teams webhook URL.Send the full new Teams webhook URL when you replace it.
The resource type cannot change. Create a new subscription when the user wants a different resource type.
Check the new next_delivery_date after a schedule update.
An exhausted schedule cannot resume until the user extends or removes its end condition.
After an update that sends a delivery, poll for a new target_change delivery ID.
Read that delivery until it reaches a final state.
Then retrieve the subscription and check its final enabled value.
Test and inspect delivery
Ask for approval unless the user already requested a test.
List the current delivery IDs.
Call
posthog:subscriptions-test-delivery-create.Poll for a new manual delivery ID.
Read the new delivery when the list result needs more detail.
Wait between polls and stop after two minutes. If delivery does not reach a final state, report the last state and suggest another check later.
A test sends a real message.
The tool returns 202 after it queues the delivery.
It returns 409 when another test is active or the subscription is disabled.
Delivery states are starting, completed, failed, and skipped.
Filter the delivery list by status when you investigate a failure.
A queued workflow does not prove delivery.
A completed delivery can contain partial recipient failures.
The MCP tools hide per-recipient results.
Do not claim that each recipient succeeded.
Stop a subscription
Confirm the subscription ID and safe destination label.
Ask for approval unless the user already requested deletion or unsubscribe.
Then call posthog:subscriptions-delete.
Deletion is a one-way soft delete through MCP. It stops future deliveries and frees a plan slot. Create a new subscription if the user needs it again.
Report the result
State the resource type, destination type, schedule, and next delivery date.
State whether the subscription is enabled.
State whether AI features can consume AI credits.
Do not repeat email addresses unless the user needs them for confirmation.
Never repeat a Teams webhook URL.
Related skills
creating-ai-subscription: Create a report from a free-text AI prompt.building-a-dashboard: Create a dashboard before you subscribe to it.adding-product-alerting: Notify users when data meets a condition.managing-reminders: Schedule a private prompt to inspect a resource.understanding-billing-usage: Investigate PostHog AI credit use.
Files
- ATTRIBUTION.mdAdded by AutoGineer863 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md8.2 KiB
- references/destinations.md3.2 KiB
- references/operations.md7.5 KiB
- references/subscription-types.md4.6 KiB
references/destinations.md
Destinations
Subscriptions support email, slack, and teams.
They do not support a generic webhook destination.
Set
target_typetoemail.Set
target_valueto comma-separated email addresses.
Email recipients can use an unsubscribe link. An unsubscribe token expires after 30 days.
One recipient can unsubscribe without stopping delivery to other recipients.
PostHog removes that address from target_value.
PostHog soft-deletes the subscription when the last email recipient unsubscribes.
The overall delivery can succeed when at least one recipient succeeds. The MCP tools do not return per-recipient results. Ask the user to confirm receipt when every address matters.
Slack
Call
posthog:integrations-listand find an integration withkind: slack.Call
posthog:integrations-channels-retrievefor that integration.Set
integration_idto the integration ID.Set
target_valueto<channel_id>|<channel_name>.
The integration must belong to the current project. The API uses the channel ID for delivery.
For dashboard snapshots, delivery_config.post_all_insights_in_main_message controls Slack layout.
The default is false.
PostHog sends the first image in the main message and the rest in a thread.
Set the option to true to send all images in the main message.
Only dashboard snapshots need the Slack files:write permission for this option.
It does not apply to email or Teams.
For AI prompt reports, the same option controls where the chart images go in Slack.
With the default false, the main message holds the summary and the charts go in the first thread reply.
Set it to true to post the charts in the main message.
Microsoft Teams
Ask the user to add the Workflows app to the target channel.
Ask them to select the workflow that posts to a channel after a webhook request.
Set
target_typetoteams.Set
target_valueto the full HTTPS webhook URL.Omit
integration_id.
A URL from a different workflow can save but fail to deliver.
The webhook URL is a credential.
Anyone with the URL can post to the channel.
Pass it only as target_value.
Never repeat it in a response, error, log, or summary.
The API returns only the webhook host. The host cannot identify a Teams channel. It cannot replace the saved URL during an update.
To keep the saved URL, omit target_value.
To change it, send a full new webhook URL.
When you change from Teams, send the new destination value in the same update.
Destination failures
If Slack is not connected, ask the user to connect it in Project settings > Integrations.
If Slack cannot post, check channel access and the integration state.
If Slack cannot upload files, reconnect it with the
files:writepermission.If Teams rejects delivery, ask the user to create a new URL with the correct workflow.
If the user asks for a generic webhook, offer email, Slack, or Microsoft Teams.
PostHog can automatically disable a subscription after a permanent destination failure. Fix the destination before you resume it.
Destination acceptance does not prove external delivery. Send an approved test and check its delivery record after destination setup or replacement.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- PostHog
- Publisher
- PostHog (Official)
- Source
- PostHog/skills · skills/omnibus/managing-subscriptions · commit a5d30e7
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by PostHog.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download managing-subscriptions.zip