Generate invoice PDFs from Zapier or Make without writing code
There is no dedicated Zapier or Make app from InvoiceCraftly. Instead, you can call the plain HTTP endpoint documented on the main API page from Zapier's built-in Webhooks by Zapier action, or Make's built-in HTTP module — both are generic HTTP request tools already included in every Zapier or Make account, not an InvoiceCraftly-specific integration.
What you'll need
- An InvoiceCraftly API key (see the API reference).
- A Zapier or Make account (free tiers support the Webhooks/HTTP action used here).
- Whatever trigger starts your automation — a form submission, a payment event, a spreadsheet row.
Set up the action
In Zapier, add a Webhooks by Zapier action step, set to POST. In Make, add an HTTP module, set to Make a request. Both need the same three settings:
- URL:
https://invoicecraftly.com/api/v1/documents/pdf - Headers:
Authorization: Bearer dk_live_…andContent-Type: application/json - Body type: JSON — map your trigger's fields into the same shape as the fixture on the main API page:
type,issueDate,currency,seller,buyer,items.
The response is a binary PDF, not JSON. Make's HTTP module has an explicit setting for this — enable Parse response's binary/file handling so the module's output is a file bundle a following step can attach to an email or upload to storage. Zapier's Webhooks action has no equivalent "treat the response as a file" switch and primarily expects JSON or text, so check your zap's response-handling settings for binary/file output, or route the PDF through a follow-up action that re-fetches it from a URL you control.
A non-200 response means no PDF
Both Zapier and Make surface the HTTP status code from the action's output. A 401 means AUTHENTICATION_FAILED (check the key), a 400 means INVALID_REQUEST — malformed or missing fields, the most likely error when you're hand-mapping trigger fields, so check the JSON body against the field reference — a 422 means TARGET_NOT_SUPPORTED (the document type or template you asked for isn't supported, not a general body-shape problem), and a 429 means RATE_LIMITED — add a Filter/Router step after the action to branch on status code rather than assuming every run produced a PDF.
Get an API key and try this recipe.
Free during the beta, 100 renders included per month.