HollyHR Developer Docs
  • Developer platform
  • GitHub
  • Sign in
  • Manage API keys
  • Start Here
  • Core API
  • AI and MCP
  • API Reference
  • Integrations
  • Recipes
  • Resources
Slack and Microsoft TeamsZapierMakeXero Payroll UKStaffology private preview
Integrations

HollyHR for Zapier

Setting up your first connection? Start with the customer Zapier guide. This page owns the technical permissions and operation contract.

The official HollyHR integration is available in public Beta in the Zapier app directory. No invitation is required. Version 1.1.2 became the public default on 7 September 2026.

What v1 supports

OperationHollyHR scopePlan boundary
New Personpeople:read + webhooks:manageEvery plan
Updated Personpeople:read + webhooks:manageEvery plan
Departing Personpeople:read + webhooks:manageEvery plan
New Time Offtime_off:read + webhooks:manageEvery plan
Updated Time Offtime_off:read + webhooks:manageEvery plan
Cancelled Time Offtime_off:read + webhooks:manageEvery plan
Find Personpeople:readEvery plan
Create Personpeople:writeStandard and higher
Create Time Offtime_off:writeStandard and higher

The read operations use HollyHR's safe public people and time-off projections. They do not expose personal contact details, home addresses, dates of birth, demographic fields, compensation, bank or tax identifiers, document bytes, time-off notes, or health-adjacent details.

Connect a workspace

  1. In HollyHR, open Settings → Integrations → Developer tools as a System Admin.
  2. Create a dedicated key for Zapier and grant only the scopes needed by the Zaps you intend to enable.
  3. In Zapier, enter the workspace part of your HollyHR URL. For https://acme.hollyhr.com, enter acme.
  4. Paste the API key once. Zapier checks GET /me, and HollyHR derives the organisation from that key. The connector never accepts an organisation ID as user input.

For create actions, also grant people:read, org_units:read, and reference:read if you want Zapier to populate the person, department, workplace, work-type, and time-off-category dropdowns.

Trigger timing and recovery

The six triggers use Zapier REST Hooks rather than polling. When a Zap is enabled, Zapier creates an exact, signed HollyHR event subscription. A committed matching change receives a best-effort immediate delivery attempt; a durable one-minute worker remains authoritative for recovery and bounded retries. Delivery is at least once, so use the event ID to make downstream steps idempotent.

Departing Person runs when an employment end date is set or changed. It does not wait until a future end date arrives.

Bulk imports record durable events without starting hundreds of request-lifetime callbacks. Keep downstream Zap actions idempotent because recovery can redeliver an event.

Safe create retries

Both create actions require a Source record key. Map a stable unique value from the Zap trigger, such as the source employee, form submission, or absence request ID. HollyHR hashes it into an idempotency key. If Zapier retries the same task, HollyHR replays the original response instead of creating a duplicate person, seat, or time-off record.

HollyHR still applies the connected key's exact write scope and Standard-or- higher plan entitlement. A System Admin must select that scope when creating the key; the connector cannot bypass it.

Data handling

Zapier receives only fields returned by the selected trigger, search, or action. Any field mapped into a later Zap step is then processed under that destination app's and Zapier's data-handling terms. Review every mapping before enabling a Zap, particularly when employee names, work emails, leave dates, or status leave HollyHR.

Use fictional records for testing. Never paste API keys, employee records, or Zap task payloads into public support messages.

Revoke access

To stop one Zap, turn it off in Zapier. To stop all access for a connection, revoke its dedicated key in Settings → Integrations → Developer tools. Revocation takes effect on the next request; reconnecting requires a new key.

Troubleshooting

  • Authentication failed: confirm the workspace subdomain, make sure the key has not expired or been revoked, and create a new dedicated key if necessary.
  • Missing choices: add the relevant read scope (people:read, org_units:read, or reference:read) to a replacement key.
  • 403 on a create action: the workspace must be Standard or higher and the key needs the matching write scope selected by a System Admin.
  • No trigger event yet: confirm the Zap is enabled, make a fresh matching change, and inspect the webhook endpoint health and delivery activity in HollyHR. Recovery may take longer than the immediate delivery attempt.
  • Duplicate protection replayed an older result: use a different source record key for a genuinely different source event.

If the problem continues, email support@hollyhr.com with the HollyHR request ID shown in the Zap error. Do not include the API key or employee data.

Last modified on October 6, 2026
Slack and Microsoft TeamsMake
On this page
  • What v1 supports
  • Connect a workspace
  • Trigger timing and recovery
  • Safe create retries
  • Data handling
  • Revoke access
  • Troubleshooting