All guides
Workify
Zapier
Automationbeginner

How to Automate Invoicing with Zapier and Workify

Connect Workify to 6,000+ apps via Zapier. Automatically create invoices and clients when deals close, forms are submitted, or projects are marked complete.

What You'll Build

A Zapier workflow (Zap) that automatically creates a Workify invoice whenever a trigger fires in another app — for example, when a project is marked complete in Asana, when a client pays a deposit in Stripe, or when a row is added to a Google Sheet.

What You'll Need

  • A Workify Pro account (API access is a Pro feature)
  • A Zapier account (free tier works for basic Zaps)
  • Your Workify API key — find it under Settings → API Keys
  • The org_id of your organisation — shown in Settings

Step 1: Generate a Workify API Key

  1. In Workify, go to Settings → API Keys
  2. Click Create API key, give it a name (e.g. "Zapier"), and select the scopes you need — at minimum invoices:write and clients:read
  3. Copy the key immediately — it starts with wfy_ and won't be shown again

Step 2: Create a New Zap in Zapier

In Zapier, click Create Zap and choose your trigger app. Common triggers include:

  • Google Forms — new form submission
  • Typeform — new response
  • Asana / Trello — task marked complete
  • Stripe — payment received
  • Google Sheets — new row added

Configure the trigger with your credentials and test it to confirm Zapier can read the data.

Step 3: Add a Workify Action via Webhooks

Since Workify uses a REST API, use Zapier's built-in Webhooks by Zapier action:

  1. Click + to add an action step
  2. Search for Webhooks by Zapier and select POST
  3. Set the URL to:
    https://getworkify.app/api/v1/invoices
    
  4. Set Payload Type to JSON
  5. Under Headers, add:
    Authorization: Bearer wfy_your_api_key_here
    

Step 4: Map Your Invoice Data

In the Data section of the Webhooks action, map fields from your trigger to the Workify invoice payload:

{
  "org_id": "your-org-id",
  "client_id": "client-uuid-from-workify",
  "currency": "USD",
  "line_items": [
    {
      "description": "Web design project",
      "quantity": 1,
      "unit_price": 1500
    }
  ],
  "due_date": "2026-05-20"
}

If you need to look up a client ID dynamically, add a preceding Webhooks GET step to GET /api/v1/clients?email=client@example.com and map the returned id into the invoice payload.

Step 5: Test and Activate

Click Test step in Zapier to fire a test request. Check your Workify dashboard — a draft invoice should appear. Once confirmed, turn the Zap on.

Common Zap Recipes

TriggerAction
Google Forms — new project enquiryCreate Workify client
Asana — task marked completeCreate Workify invoice
Stripe — charge succeededCreate Workify invoice for record-keeping
Google Sheets — new rowCreate Workify invoice from spreadsheet data
Calendly — meeting bookedCreate Workify draft invoice

Tips

  • Use Zapier's Filter step to only run the Zap for specific conditions (e.g. only when a deal stage equals "Won")
  • Add a Delay step if you want invoices created a few days after the trigger
  • Use Zapier's Formatter to calculate due dates dynamically (e.g. trigger date + 30 days)
  • Store your API key in Zapier's Storage for easy reuse across multiple Zaps

Ready to automate your invoicing?

Get your Workify API key and start building in minutes. Pro plan includes full API and webhook access.