Skip to main content

Connect an HR tool that is not listed, through the Spendesk API

Your HR tool is not among Spendesk's native HR integrations? Keep members, cost centers, managers and roles in sync through the Spendesk API.

Spendesk connects natively to Personio, BambooHR, HiBob, Workday, Deel, PayFit and Lucca (see Spendesk's native HR tools integrations). If your HR tool is not one of them, your developers or your integration partner can connect it through the Spendesk API, so that new hires, moves and leavers reach Spendesk without anyone re-typing them.

This article is for Account Owners and Admins who decide on and set up the integration. The developer who builds it follows the technical guide Syncing users from your HR system.


What the integration can do

When this happens in your HR tool

Spendesk does this

A department, team or project is created or renamed

Creates or renames the matching cost center, with its owner

Someone is hired

Creates the member, with their role (requester or controller), default cost center, manager and spending policy, and sends them the Spendesk invitation

Someone changes name

Updates their first and last name

Someone moves to another team

Changes their default cost center

Someone changes manager

Changes their manager

Someone becomes, or stops being, a finance controller

Switches their role between requester and controller

Someone leaves

Removes them from the entity: their cards and subscriptions are handled as for any member you remove

People are matched on their work email: it must be the same in your HR tool and in Spendesk.


What stays in Spendesk

Some changes cannot be made through the API. Keep them in Spendesk, and agree with your team who handles them:

  • Admins, Account Owners and Travel Managers. The API only manages members who are requesters or controllers. It cannot update or remove anyone who holds another role, nor give or take away the Admin and Account Owner roles.

  • Changing someone's email address.

  • Changing a spending policy after the member is created, and teams.

  • Members with transfers still on their way (for example a reimbursement) cannot be removed until finance has cleared them.

  • An email already used in another Spendesk organisation cannot be added: contact Spendesk support.

⚠️ One or the other, not both. On an entity whose members are managed by a native HR integration, the API refuses every change to members. Choose one way per entity.


Set it up

  1. Ask for API access. The user endpoints are experimental: ask your Customer Success Manager, or write to support-public-api@spendesk.com, to enable them for your company.

  2. Switch on what you want to sync. Cost centers, reporting managers and spending policies must be enabled on the entity, otherwise the integration cannot set them.

  3. Create the API key from the right account. In Settings > Integrations > API access management, create a key (see Build a native integration using Spendesk API) with these permissions:

    • read and manage users;

    • manage user roles, if you want role changes synced;

    • read and manage cost centers.

    The integration acts as the person who created the key. That person must be an active Admin or Account Owner of every entity you sync. If they leave or lose that role, the sync stops: create the key from an account that will stay in place.

  4. Share the key securely with your developer or integration partner, with the link to the technical guide.


Check that it works

  • New members appear in Settings > Members, in the Invited tab until they accept their invitation, then in Active.

  • Removed members move to the Archived tab.

  • Every call made with the key — what it did, for which member, and whether it worked — is listed in Settings > Integrations > API audit log: see See what your API keys and integrations did.

  • Spendesk does not alert you when a change is refused. Ask your developer to send the refused changes (a removal blocked by a pending transfer, a manager unknown in Spendesk) to whoever owns the HR process.


FAQ

How quickly do changes reach Spendesk?
As soon as the integration sends them: the timing is up to your integration (for example, every night or as soon as the HR tool records the change).

Does Spendesk send changes back to my HR tool?
No. The integration reads from your HR tool and writes to Spendesk.

We have several entities. Do we need several keys?
Not necessarily: an organisation-level key can sync every entity, as long as the person who created it is Admin or Account Owner in each of them.


Related articles

Did this answer your question?