Many freelancers track clients and projects in Notion. Learn how to connect your Notion database to Workify so invoices are created automatically when a project status changes.
An automation that watches a Notion database for status changes (e.g. when a project moves from "In Progress" to "Ready to Invoice") and automatically creates a Workify invoice with the project details.
Notion doesn't have invoicing — but a huge number of freelancers and consultants already manage their client projects, scopes, and deliverables there. Workify doesn't have a project tracker — but it's the best place to send invoices and get paid. Connecting them means your Notion project board drives your billing workflow automatically.
Settings → API Keys)Your Notion database needs the following properties to map to a Workify invoice:
| Notion Property | Type | Maps To |
|---|---|---|
| Name | Title | Invoice notes / line item description |
| Client Email | Used to look up Workify client | |
| Amount | Number | Invoice unit_price |
| Currency | Select | Invoice currency |
| Status | Select | Trigger condition |
Add a Status select property with options like: Scoping, In Progress, Ready to Invoice, Invoiced.
Also add an Invoice ID text property — you'll write the Workify invoice ID back here once created.
Add a Filter after the trigger:
Status equals Ready to InvoiceInvoice ID is empty (to avoid creating duplicate invoices if the item is updated again)Add an HTTP module:
GET https://getworkify.app/api/v1/clients?email={{notion_item.client_email}}
Authorization: Bearer wfy_your_key
Add a Router to branch on whether a client was found:
{{client.data[0].id}}POST /api/v1/clients step first, then continuePOST https://getworkify.app/api/v1/invoices
{
"org_id": "your-org-id",
"client_id": "{{client_id}}",
"currency": "{{notion_item.currency}}",
"notes": "{{notion_item.name}}",
"line_items": [
{
"description": "{{notion_item.name}}",
"quantity": 1,
"unit_price": {{notion_item.amount}}
}
],
"due_date": "{{formatDate(addDays(now; 30); 'YYYY-MM-DD')}}"
}
After the invoice is created, update the Notion database item to record the invoice ID and change the status to "Invoiced":
{{invoice.id}}InvoicedNow your Notion board reflects which projects have been invoiced, and you can click through to find the invoice ID without leaving Notion.
If your projects have multiple phases (Design, Development, Testing), structure your Notion database with a sub-items or linked database approach:
line_items fieldThis gives you properly itemised invoices that match the breakdown your client sees in Notion.
If you prefer manual control rather than automatic triggering, Notion's Button property can call a Make webhook when clicked:
Now clicking "Create Invoice" in Notion fires the Make scenario on demand — giving you the speed of automation with manual confirmation.
Get your Workify API key and start building in minutes. Pro plan includes full API and webhook access.