Short answer: Drop the "FreshBooks → Create FreshBooks Invoice" action anywhere in your workflow, map the inputs from upstream nodes, and publish.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Customer ID customerid | string | Required | — |
Currency currency_code | string | Optional | — |
Language language | string | Optional | — |
Line Items (JSON array) lines_json | string | Required | [{"name":"Consulting","qty":10,"unit_cost":{"amount":"100","code":"USD"}}] |
{"customerid": "{{trigger.customerid}}","currency_code": "{{trigger.currency_code}}","language": "{{trigger.language}}","lines_json": "[{\"name\":\"Consulting\",\"qty\":10,\"unit_cost\":{\"amount\":\"100\",\"code\":\"USD\"}}]"}
{"response": {"result": {"invoice": {"id": 999,"amount": {"code": "USD","amount": "1000"},"invoice_number": "0000001"}}}}
Use these fields in downstream nodes for routing, logging, or error handling.
Any of these apps can fire this action as part of a workflow.
Triggered by anything in the catalog. Free tier available. No credit card.