Enrich new Stripe customers with Apollo and post wins to Salesforce and Slack

When a new Stripe charge succeeds, enrich the buyer with Apollo, upsert firmographics into the matching Salesforce account, and celebrate the win in Slack.

Deterministic Code
StripeApolloSalesforceSlackSalesOperationsLead EnrichmentData SyncNotifications & Alerts

Build a code workflow that turns every successful Stripe charge into an enriched Salesforce account update and a Slack celebration.

Trigger: poll Stripe for new charges (event type: new_charge). Only continue when the charge succeeded.

Step 1. Use Stripe Retrieve Customer with the customer ID from the charge to pull the customer's email, name, and metadata.

Step 2. Call Apollo People Enrichment with the customer's email to get their title, seniority, LinkedIn URL, and employment history.

Step 3. Extract the company domain from the customer's email (or from Apollo's people enrichment response) and call Apollo Organization Enrichment with that domain to get industry, employee count, estimated annual revenue, funding stage, and technologies.

Step 4. Use Salesforce Create or Update Account (Upsert) to find or create the matching account by domain (Website or a Domain external ID field). Write the firmographics from Apollo onto the account: Industry, NumberOfEmployees, AnnualRevenue, and a custom Funding Stage field if one exists.

Step 5. Use Salesforce Add Note to Account on that same account. Title the note "New Stripe charge: {{amount}} on {{date}}" and include the charge ID, amount, currency, and the buyer's name and title in the body.

Step 6. Use Slack Send a Message to post in the #wins channel. Format it as a celebratory message with the customer's name, company, charge amount, and a short firmographic summary, for example: "New $4,800 from Acme Inc. (Series B, 240 employees, SaaS). Buyer: Jamie Chen, VP Eng."

Run every step in order. If Apollo enrichment returns no match, skip the firmographic fields but still upsert the Salesforce account, add the note, and post to Slack so the team always sees the win.

Additional information

What does this prompt do?
  • Watches Stripe for new successful charges and pulls the paying customer's email and metadata.
  • Calls Apollo People Enrichment on the email and Apollo Organization Enrichment on the company domain to grab title, seniority, employee count, industry, and funding stage.
  • Upserts the enriched firmographics into the matching Salesforce account and adds a note with the charge amount and date.
  • Posts a celebratory message in your Slack #wins channel with the customer name, charge amount, and the new firmographic summary.
What do I need to use this?
  • A Stripe account connected to General Input with permission to read charges and customers.
  • An Apollo account with API access for People Enrichment and Organization Enrichment.
  • A Salesforce account with permission to upsert Account records and add notes.
  • A Slack workspace and a channel (e.g. #wins) where the bot can post messages.
How can I customize it?
  • Swap the Slack channel from #wins to a private revenue channel, or DM a specific rep instead.
  • Add a minimum charge threshold (for example, only run on charges above $500) so trial-tier payments don't spam the channel.
  • Map additional Apollo fields onto custom Salesforce account fields, such as technologies used or LinkedIn URL.
  • Change the note format on the Salesforce account, or also append the charge to the matching Opportunity instead.

Frequently asked questions

How does the workflow find the right Salesforce account for a Stripe charge?
It uses the customer's email domain from Stripe as the matching key, then upserts the Salesforce Account using an external ID field (typically Website or a Domain custom field). You can change the matching field when you wire up the workflow.
What if Apollo cannot find the person or organization?
Apollo enrichment returns gracefully when there is no match. The workflow still upserts the Salesforce account with whatever data Stripe provided and posts the Slack message without firmographics, so you never miss a win notification.
Will this workflow run on test charges?
Only if you connect a Stripe account in test mode. In production it triggers on live successful charges. You can also add a filter on charge amount or metadata to skip specific transactions.
Can I use HubSpot or Pipedrive instead of Salesforce?
Yes. Replace the Salesforce Create or Update Account step with the equivalent upsert in HubSpot, Pipedrive, or your CRM of choice. The rest of the chain stays the same.
Why is this a code workflow instead of an agent?
Every step is deterministic and maps to a known node: poll Stripe, retrieve customer, enrich in Apollo, upsert in Salesforce, post to Slack. A code workflow runs faster, costs less, and gives you predictable behavior on every charge.

Turn every Stripe charge into a fully enriched Salesforce win.

Connect Stripe, Apollo, Salesforce, and Slack once, and General Input runs this enrichment chain on every successful charge.