Log new Stripe subscriptions to a Notion customers database and announce in Slack

By General Input

When Stripe creates a new subscription, file the customer in your Notion customers database with plan and MRR, then ping the team in Slack.

Integrations

  • Stripe
  • Notion
  • Slack

Type

Deterministic Code

Categories

  • Finance
  • Operations

Build a code workflow that logs every new Stripe subscription into a Notion customers database and announces it in Slack. The whole thing should be deterministic CRUD with no agent reasoning needed.

Trigger: poll Stripe for the new_subscription event. Whenever a new subscription is created, fire the workflow with that subscription's ID and customer ID.

Step 1. Use the Stripe Retrieve Subscription operation to fetch the full subscription object. Pull the plan or price nickname (call it the plan name), the recurring amount converted to monthly recurring revenue in dollars (MRR), the status, the start date as the signup date, and the customer ID.

Step 2. Use the Stripe Retrieve Customer operation against that customer ID to get the customer name and billing email.

Step 3. Use the Notion Query a Data Source operation against the customers database, filtering on the Stripe customer ID property equal to the customer ID from Stripe. If any page comes back, exit the workflow without writing or posting (this is the dedupe check).

Step 4. Use the Notion Create a Page operation to add a new page in the customers database. Map the properties: Name = customer name, Email = billing email, Plan = plan name, MRR = the dollar amount, Status = subscription status, Signup Date = signup date, Stripe Customer ID = the Stripe customer ID, and a Stripe Customer URL property linking to https://dashboard.stripe.com/customers/{customer_id}. Capture the new Notion page URL from the response.

Step 5. Use the Slack Send a Message operation to post to the #revenue channel (make this configurable at setup). The message should be a single line in the format: "New {plan} subscription: {customer name} (${mrr}/mo)" with the new Notion page URL linked at the end so anyone in the channel can click through to the customer record.

At setup, ask the user to pick: their Stripe account, the Notion customers database, the column names that map to Name, Email, Plan, MRR, Status, Signup Date, Stripe Customer ID, and Stripe Customer URL, and the Slack channel to post in.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredLet support send one-off Loops emails without an engineerCustomer lifecycle inspector for Loops, Stripe and PostHogChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downMonth-end Stripe finance pack, stored and shared in SlackNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollments