Skip to content
ExpertEnterpriseFinance & AccountingForm trigger31 nodes

Approve documents for invoicing

Starts when someone submits the form across Slack, Google Sheets and Notion, routes each kind of record down its own branch, then drops anything it has already handled. Built for invoicing, around a "Keep Valid Invoices" step, in 31 documented nodes.

Approve documents with Twilio and MySQL on autopilot. An original, ready-to-import n8n workflow built around the 'Approval Workflow' pattern for finance & banking. It starts from a form and orchestrates 31 nodes across Slack, Google Sheets, Notion. Retry-on-fail is enabled on external calls. Import the JSON, add your credentials, and adapt the parameters. Nothing slips through the cracks.

Key benefits

  • Keeps Slack and Google Sheets in step for invoicing, without anyone re-typing a row
  • Safe to re-run: records already in Slack or Google Sheets are skipped, across all 31 nodes of this invoicing build
  • A failed Slack or Google Sheets call is retried rather than dropped, at any of the 31 nodes in this invoicing build
  • Branches rejoin before Slack, so a invoicing run reports once rather than 31 times
  • Every invoicing run leaves an audit row behind, alongside Slack

Use cases

  • Teams keeping Slack and Google Sheets aligned by hand for invoicing
  • Intake checked for completeness before it is stored in Slack, for invoicing
  • Invoicing work where "Keep Valid Invoices" is still a manual step before Slack
  • Invoicing work that only reaches Slack when a form is submitted, when someone remembers to start it

Integrations

SlackGoogle SheetsNotionHTTP / REST APIMySQLTwilio

Workflow preview (31 nodes)

The template's actual node layout and connections. Node parameters and credential slots unlock with the download.

New Invoice Form Submis…Form TriggerKeep Valid InvoicesFilterRoute by Work TypeSwitchDelegate 'auto-approve'…Execute WorkflowFast-Track 'needs-revie…SlackHold Unknown Types (DLQ)My SqlMerge Routed WorkMergeEnrich with Reference D…Http RequestFold In Enrichment Fiel…SetOffload to Post-Process…Execute WorkflowRecord Sub-workflow Res…Execution DataFingerprint for Idempot…CodeDrop Already-Processed …Remove DuplicatesStamp Completion TimeDate TimePersist Run MetadataExecution DataLoad Previous SnapshotGoogle SheetsCompute Drift vs Snapsh…CodeSerialize Run Output (C…Convert To FileArchive Row SnapshotNotionGuard Non-Empty amountFilterStamp Processing TimeDate TimeCap Batch VolumeLimitTag Pipeline MetadataSetAlign Field NamesRename KeysSort Invoices Newest Fi…SortSummarize Run StatsSetAppend Audit Row (Notio…NotionSend Summary to TwilioTwilioCapture Failure ContextSetEscalate Failure to Sla…SlackPark in Dead-Letter Que…Google Sheets

What's inside (31 nodes)

A look at the node types this workflow uses. No purchase required — full parameters and credentials are yours after you buy.

CodeConvert To FileDate TimeExecute WorkflowExecution DataFilterForm TriggerGoogle SheetsHttp RequestLimitMergeMy SqlNotionRemove DuplicatesRename KeysSetSlackSortSwitchTwilio

From download to running in 3 steps

  1. 1
    Import. In n8n, open Workflows → menu → “Import from File” and pick the downloaded JSON.
  2. 2
    Connect. Add your own credentials on the app nodes - n8n highlights exactly which ones need them.
  3. 3
    Activate. Run it once to test, then toggle Active. The automation is live.

What you'll learn

Architect level

The deepest tier - sub-workflow delegation, state snapshots, and full observability.

  • Branching cleanly on approve versus decline
  • Moving data between Slack, MySQL and Google Sheets in a single run
  • Splitting one run into branches and merging the results back

Every node carries its own documentation on the canvas, plus notes explaining why the architecture was built this way, a credential setup guide, troubleshooting, and three practice exercises. Sample data comes pinned to the trigger, so you can hit Execute and watch data flow before connecting a single account.

Common questions

What exactly do I get?

The complete, ready-to-import n8n workflow as a JSON file, delivered instantly after payment. Import it into your own n8n (cloud or self-hosted), add your credentials, and it runs.

How do I import it into n8n?

In n8n, open Workflows, click the three-dot menu, choose “Import from File”, and select the downloaded JSON. Then connect your own app credentials on the highlighted nodes.

Do I need anything else for it to work?

You need your own n8n instance and accounts/credentials for the apps this workflow connects to (Slack, Google Sheets, Notion, HTTP / REST API, …). No coding is required.

What if it doesn't work for me?

If the file is faulty, won't import, or isn't as described, contact us within 7 days and we'll fix it or refund you - see our refund policy.

Can I modify or resell it?

You can freely adapt and use it in your own or your clients' projects. Reselling or redistributing the template file itself is not permitted.

Original n8n workflow template created and owned by WorkflowCrate. After purchase you receive the ready-to-import JSON file and a license to use and adapt it in your own projects.