n8n

How to Automate Stripe to HubSpot Payment Updates?

Get every Stripe payment recorded in your CRM without manual work. When invoices are paid, deals in HubSpot are marked as paid and your accounts team gets clear Slack updates. Ideal for finance and revenue teams that track purchase orders and want fast handoff.

The flow starts when Stripe sends an invoice payment succeeded event. An If check looks for a PO number in the invoice custom fields. If none is found, a Slack alert posts to the team channel so someone can follow up. If a PO exists, the workflow searches HubSpot deals by a custom property called po_number. If a matching deal is found, the deal gets updated with a paid value of Yes and a success message goes to Slack with amount and currency. If no deal matches the PO, a different Slack alert explains that the deal was not found.

Setup needs valid connections for Stripe, HubSpot, and Slack. Make sure your HubSpot deals include a po_number property and a paid field that can store Yes. Expect faster reconciliation, fewer data mistakes, and quicker updates for sales and finance. Great for subscription renewals, purchase order billing, and B2B invoices where the CRM must reflect real payment status.

What are the key features?

  • Stripe event trigger listens for invoice payment succeeded and starts the flow right away.
  • PO number check detects missing custom fields and routes to a Slack warning.
  • HubSpot deal search uses the po_number property to find the correct record.
  • Deal update sets the paid field to Yes to confirm revenue status in the CRM.
  • Slack messages cover three cases paid, missing PO, and deal not found for full visibility.
  • Slack notifications include amount and currency pulled from the Stripe invoice.
  • Supports HubSpot OAuth2 and API Key credentials across the two HubSpot nodes.

What are the benefits?

  • Reduce manual reconciliation from 60 minutes per day to 5 minutes.
  • Streamline finance to sales handoff by up to 80% with instant alerts.
  • Improve CRM payment accuracy by using Stripe data at the source.
  • Connect Stripe, HubSpot and Slack in one simple flow.
  • Handle higher invoice volume without adding headcount.

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with Stripe, HubSpot and Slack. See the Tools Required section above for links to create accounts with these services.
  3. In the n8n credentials manager, create a Stripe credential. Use your Stripe secret API key from the Stripe dashboard. Assign this credential to the Stripe trigger node and confirm the event type is invoice.payment_succeeded.
  4. In your Stripe dashboard under Developers, check Webhooks and confirm the endpoint from n8n is active and set to send invoice.payment_succeeded. Send a test event to verify n8n receives it.
  5. Create a HubSpot OAuth2 credential in n8n. Connect your account and grant access to deals. Assign this credential to the Update Deal to Paid node.
  6. Create a HubSpot API Key credential or a second OAuth2 credential in n8n. Assign it to the Find Deal based on PO Number node and test the connection.
  7. In HubSpot, make sure there is a deal property named po_number and another property named paid. If they do not exist, create them. The paid field should accept a value of Yes.
  8. Open the If no PO Number node and review the expression reading custom_fields from the Stripe invoice. If your PO is stored in a different field or index, adjust the expression to match your Stripe data.
  9. Open each Slack node and create a Slack credential in n8n. Install the app to your workspace, authorize it, and invite the bot to the team-accounts channel. Confirm the channel names match your Slack setup.
  10. Enable the workflow. In Stripe test mode, create a paid invoice with a custom field that matches a HubSpot deal’s po_number. Check that HubSpot updates and Slack posts the success message.
  11. Test edge cases. Send a payment without a PO to see the missing PO alert. Try a PO that does not match any deal to see the deal not found alert. If the Update Deal node fails, confirm the search output contains an id and that the update node is reading it correctly.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

HubSpot

Sign up

Free: $0 / mo; API access included (private app or OAuth). Limits on Free: 250,000 API calls/day and 100 requests per 10 seconds per private app.

Slack

Sign up

Free plan: $0 / mo; limited to 10 apps (third-party or custom) and usable via Slack API

Stripe

Sign up

Pay-as-you-go: $0 / mo; 2.9% + $0.30 per successful domestic card transaction (US).

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.