ClickUp to Stripe, invoices sent and tracked via Gmail
Invoices slip through when billing depends on “remembering to do it later.” One status change in ClickUp, a few tabs, a Stripe draft, an email to the client, then a separate note to your team. Something always gets missed.
Agency owners feel it when projects pile up. Ops managers get tired of chasing “did we invoice them?” threads. And freelancers are the ones eating the cost when they forget. This ClickUp Stripe invoices automation turns a ClickUp status update into a sent invoice and a team confirmation email.
Below you’ll see exactly what this workflow does, what you need, and how the flow works so you can set it up once and stop babysitting billing.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: ClickUp to Stripe, invoices sent and tracked via Gmail
flowchart LR
subgraph sg0["ClickUp Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/clickup.svg' width='40' height='40' /></div><br/>ClickUp Trigger"]
n1@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Status = send invoice ", pos: "b", h: 48 }
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Create Invoice"]
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/stripe.svg' width='40' height='40' /></div><br/>Create Customer"]
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Create item invoice"]
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Send invoice"]
n6@{ icon: "mdi:message-outline", form: "rounded", label: "Send email to you/team", pos: "b", h: 48 }
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/clickup.svg' width='40' height='40' /></div><br/>ClickUp"]
n7 --> n3
n5 --> n6
n2 --> n4
n0 --> n1
n3 --> n2
n4 --> n5
n1 --> n7
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n1 decision
class n2,n4,n5 api
classDef customIcon fill:none,stroke:none
class n0,n2,n3,n4,n5,n7 customIcon
Why This Matters: Invoices That Depend on Memory
Most teams don’t have an “invoicing problem.” They have a handoff problem. A task gets moved to “Ready to invoice,” then someone has to open it, find the client email, confirm the amount, create (or locate) the Stripe customer, build the invoice, add line items, send it, and finally tell the team it went out. When you’re busy, that chain breaks. The result is awkward follow-ups, delayed cash, and invoices that go out with wrong totals or missing context.
It adds up fast. Here’s where it breaks down.
- ClickUp status changes happen in seconds, but invoicing can sit untouched for days if it’s not tied to that moment.
- Copy-pasting client details from a task into Stripe invites small mistakes that turn into big back-and-forth.
- Line items get entered inconsistently, which makes reporting messy and client questions harder to answer.
- Your team doesn’t get a reliable “invoice sent” receipt, so people keep checking Stripe manually.
What You’ll Build: ClickUp Status → Stripe Invoice + Gmail Receipt
This workflow watches ClickUp for a task status change and only runs when the task hits your invoicing-ready status. Once triggered, it pulls the task details (client name, email, and the project cost you’ve stored in ClickUp). With that info, it creates or updates the customer in Stripe, then builds an invoice using Stripe’s API (via HTTP requests), including your description and footer. Next, it adds the invoice line item with the correct amount in cents (Stripe’s format), sends the invoice to the client, and wraps up by emailing your team through Gmail with the key details and a direct link back to the ClickUp task. Clear, traceable, and consistent.
The workflow starts in ClickUp, not in Stripe. It validates the status first, then assembles everything needed to create the customer and invoice. Finally, it sends two messages: the invoice to the client and a confirmation email to your team.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you send 10 invoices a week. Manually, it’s easy to spend about 20 minutes per invoice between ClickUp, Stripe, double-checking amounts, and emailing the team, which is roughly 3 hours weekly. With this automation, the “work” becomes moving a task to the right status plus a quick spot-check, maybe 2–3 minutes each. The Stripe creation and sending happens in the background. That’s a couple hours back most weeks, and invoicing stops being a recurring mental tax.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- ClickUp to trigger from task status changes
- Stripe to create and send invoices
- Gmail account access (connect it inside n8n credentials)
Skill level: Intermediate. You’ll connect accounts and paste API details for Stripe’s HTTP requests.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
A ClickUp task changes status. The workflow uses a ClickUp trigger that listens for updates, then checks if the new status matches your “ready to invoice” stage.
The workflow pulls the task details. It retrieves the task and extracts the fields you care about (client name, email, project cost). If your ClickUp setup uses custom fields, this is where you map them.
Stripe gets the customer and invoice created. n8n creates the Stripe customer, then builds the invoice through HTTP requests, calculates the due date in a Stripe-friendly timestamp, and adds a line item with the amount converted into cents.
Two messages go out. Stripe sends the invoice to the client, and Gmail sends an internal receipt to your team with the invoice context plus a link back to the ClickUp task.
You can easily modify ClickUp statuses to match your pipeline, or swap the team notification email for a different destination. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the ClickUp Trigger
This workflow starts when a ClickUp task status changes. You’ll configure ClickUp Update Trigger to listen for the correct team and list.
- Add the ClickUp Update Trigger node to your workflow.
- Set Team to
90151078626. - Set Events to
taskStatusUpdated. - Set Filters → List ID to
901510285394. - Select Authentication as
oAuth2. - Credential Required: Connect your ClickUp OAuth2 credentials.
Step 2: Add Status Validation and Task Retrieval
Next, Validate Invoice Status checks the status change and Retrieve ClickUp Task pulls full task details used for Stripe and email steps.
- In Validate Invoice Status, set the condition Left Value to
{{$json.history_items[0].after.status}}. - Set the condition Operator to equals and Right Value to
send invoice. - Configure Retrieve ClickUp Task with Operation set to
get. - Set ID to
{{ $('ClickUp Update Trigger').item.json.task_id }}. - Select Authentication as
oAuth2. - Credential Required: Connect your ClickUp OAuth2 credentials.
send invoice, the workflow stops at Validate Invoice Status.Step 3: Set Up Stripe Customer and Invoice Creation
These nodes create a Stripe customer and draft invoice using data from the ClickUp task.
- Configure Generate Stripe Customer with Resource set to
customerand Operation set tocreate. - Set Name to
{{ $json.name }}and Additional Fields → Email to{{ $json.creator.email }}. - Credential Required: Connect your Stripe credentials.
- In Build Stripe Invoice, set URL to
https://api.stripe.com/v1/invoicesand Method toPOST. - Enable Send Query and set Authentication to
predefinedCredentialTypewith Credential TypestripeApi. - Set query parameters: collection_method =
send_invoice, customer ={{ $json.id }}, description =Thanks for working with SaviFlow!, due_date ={{ $today.toSeconds() +604800 }}, footer =This is the very cool footer. - Credential Required: Connect your Stripe API credentials for Build Stripe Invoice.
Step 4: Add Line Items and Dispatch the Invoice
Once the invoice is created, the workflow adds a line item and sends the invoice from Stripe.
- Configure Add Invoice Line with URL
https://api.stripe.com/v1/invoiceitemsand MethodPOST. - Enable Send Query and set Authentication to
predefinedCredentialTypewith Credential TypestripeApi. - Set query parameters: customer =
{{ $('Generate Stripe Customer').last().json.id }}, amount ={{ $('Retrieve ClickUp Task').last().json.custom_fields[1].value *100 }}, description =Thanks for building the coolest automation with SaviFlow, currency ={{ $json.currency }}, invoice ={{ $json.id }}. - Credential Required: Connect your Stripe API credentials for Add Invoice Line.
- In Dispatch Invoice, set URL to
=https://api.stripe.com/v1/invoices/{{ $('Build Stripe Invoice').item.json.id }}/sendand Method toPOST. - Set Authentication to
predefinedCredentialTypewith Credential TypestripeApi. - Credential Required: Connect your Stripe API credentials for Dispatch Invoice.
Step 5: Configure Team Notification Email
After the invoice is sent, Notify Team via Email informs your team with task and client details.
- Set Send To to
{{ $('Retrieve ClickUp Task').item.json.custom_fields[0].value }}. - Set Subject to
New invoice has been sent. - Set Email Type to
text. - Set Message to
Hello Team,.
A new invoice was dispatched to {{ $('Retrieve ClickUp Task').item.json.name }}.
View the task: https://app.clickup.com/t/{{ $('ClickUp Update Trigger').item.json.task_id }} - Credential Required: Connect your Gmail OAuth2 credentials.
Step 6: Test and Activate Your Workflow
Validate the end-to-end flow from ClickUp to Stripe and email before turning it on.
- Manually execute the workflow using a ClickUp task that transitions to
send invoicestatus. - Confirm Retrieve ClickUp Task returns the expected custom fields for email recipient and invoice amount.
- Verify Stripe creates a customer, invoice, adds line item, and sends the invoice after Dispatch Invoice.
- Check that Notify Team via Email sends the notification email to the correct recipient.
- When everything looks correct, toggle the workflow to Active for production use.
Troubleshooting Tips
- ClickUp credentials can expire or lack workspace access. If the trigger stops firing, check your ClickUp connection in n8n Credentials and confirm the right Workspace/Space permissions.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Stripe API calls via HTTP Request are picky about formats. If invoices create but totals look wrong, confirm you’re converting amounts into cents and sending the expected currency fields.
Quick Answers
About 30–60 minutes if your ClickUp fields are already clean.
No. You’ll connect accounts and paste/configure a few Stripe API details in the HTTP Request nodes.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Stripe’s standard fees (and any email provider limits if you send a lot).
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and you probably should. You can change the “Validate Invoice Status” rule to match your own ClickUp pipeline, and map different custom fields in the “Retrieve ClickUp Task” step. If you want quotes instead of invoices, you’d swap the Stripe invoice HTTP requests for the relevant Stripe object. Common tweaks include different due dates, adding multiple line items, or notifying a different internal mailbox.
Usually it’s an API key issue or the wrong Stripe mode. Confirm you’re using the correct secret key in the HTTP Request headers, and double-check you’re not trying to send real invoices while the account is in test/developer mode. Also watch for missing required fields like currency, customer ID, or amounts not being in cents. If it fails only sometimes, you may be hitting rate limits when several tasks flip status at once, so add basic retry handling.
On n8n Cloud you’re mainly limited by your plan’s monthly executions, and by ClickUp/Stripe API limits. If you self-host, there’s no platform execution cap, so it mostly depends on server size and how many invoices you send per hour.
Often, yes, because this flow leans on conditional logic and multiple Stripe API calls, which can get awkward (or expensive) in simpler tools. n8n is also easier to extend when you want “if client is enterprise, set different terms” style rules. Zapier or Make can still work if you keep it very basic, but you’ll hit limits sooner as your invoicing rules grow. The bigger factor is ownership: n8n can be self-hosted, so you’re not paying per tiny step forever. If you’re torn, Talk to an automation expert and we’ll map the cheapest path.
Once this is running, invoicing becomes a ClickUp habit, not a separate job. The workflow handles the repetitive parts, and you get your time back for work that actually moves revenue.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.