▸ Read atomeve.dev/start.md and set up Stripe Revenue & Churn Pulse agent in my project: install it, wire up and verify its credentials, and run it once.Gives you a weekly read on where revenue and churn are heading, posted to Slack. Each week it:
Every number traces back to retrieved data; anything it cannot find is flagged as missing, not guessed. It only posts the pulse, and never changes anything in Stripe or PostHog.
Setup lives in SETUP.md.
The agent reads revenue and churn facts with a restricted, read-only Stripe key. In the Stripe Dashboard: Developers, then API keys, then Create restricted key. Grant read access to customers, subscriptions, invoices, charges, and events only; the agent never writes to Stripe.
To verify, run a free read-only call:
curl -G https://api.stripe.com/v1/customers -u "$STRIPE_API_KEY:" -d limit=1
A JSON list (even an empty one) means the key works.
The agent cross-references at-risk customers against product engagement through
the PostHog CLI. In PostHog: Settings, then Personal API keys, and create a key
with read scopes; that is POSTHOG_CLI_API_KEY. For POSTHOG_CLI_PROJECT_ID,
copy the number from your PostHog URL (us.posthog.com/project/<id>) or from
Settings, then Project.
Connect Slack in Vercel so the agent can post; it authenticates through Vercel
Connect and never sees a token. For SLACK_PULSE_CHANNEL_ID, open the channel
in Slack, click the channel name, and copy the Channel ID shown at the bottom
of the About tab. Invite the connected app to that channel.
Local runs read .env.local (gitignored). Deployed and scheduled runs read Vercel
project env: vercel env add NAME production takes the value from stdin, so pipe it
in. All four values here are single-line; quote them anyway if they contain special
characters.
Fill in the <!-- project-config --> block at the top of agent/instructions.md.
Both fields are optional: leave Lookback window unset for the default 7 days, and
leave Pulse format unset for the default shape (headline, 3-5 supporting facts,
2-3 prioritized actions).
The exact source npx atom-eve add installs — instructions, tools, and skills. Read it here, or copy any file straight into your project.
channels/eve.tsimport { eveChannel } from "eve/channels/eve";
import { localDev, placeholderAuth, vercelOidc } from "eve/channels/auth";
export default eveChannel({
auth: [
vercelOidc(),
localDev(),
placeholderAuth(),
],
});