Connect Harlo to Zapier
Start a Zap whenever something new shows up in Harlo: a load, a delivered load, an invoice, a payment. Then send it anywhere Zapier reaches.
You'll need
- A Harlo admin login
- A paid Zapier plan (Webhooks by Zapier is premium)
The trigger
Harlo works with Zapier's built-in Webhooks app, so there's nothing to install.
- Make a Harlo API key. In Harlo, open Settings, API keys, choose Create API key, name it Zapier, and copy it. You'll paste it in a moment; Harlo shows it only once.
- In a new Zap, set the trigger:
App Webhooks by Zapier Trigger event Retrieve Poll URL https://harlo-api-dev.pages.dev/v1/loads?limit=25Key dataDeduplication Key idHeaders Authorizationin the left box,Bearer hk_…(the word Bearer, a space, your key) in the right. - Test the trigger, then add any action: a Slack message, a Google Sheets row, an email, a CRM update.
Ready-made trigger URLs
Use one of these as the URL. Each one starts the Zap once per record.
| Start the Zap when... | URL after https://harlo-api-dev.pages.dev/v1 |
|---|---|
| A load is created | /loads?limit=25 |
| A load is delivered | /loads?status=delivered&sort=-updated_at&limit=25 |
| An invoice is issued | /invoices?limit=25 |
| An invoice is paid in full | /invoices?status=paid&sort=-updated_at&limit=25 |
| A payment is recorded | /payments?limit=25 |
| A customer is added | /customers?limit=25 |
| A driver is added | /drivers?limit=25 |
| A POD is uploaded | /documents?type=load_pod&limit=25 |
The filtered ones work because Zapier remembers each id: a load enters the delivered list once, when it's delivered, so the Zap starts once.
Look something up mid-Zap
To fetch more detail in a later step, add Webhooks by Zapier, GET with a URL like https://harlo-api-dev.pages.dev/v1/loads/ followed by an id from the trigger, and the same Authorization header.
- When you turn the Zap on, Zapier notes the records already there and starts only for new ones. To bring older records across, see Spreadsheets and CSV for a one-time export.
- Webhooks by Zapier is a premium app: it needs a paid Zapier plan. How often it checks depends on the plan.
- Field names in Zapier match the API. Nested fields show with spaces, like Customer Name or Load Number.