Skip to main content
The absentify Connector for Power Automate covers the most common triggers and a small set of actions out of the box. When you need something the connector does not yet expose, you can integrate Power Automate with absentify manually in two complementary ways — both covered on this page:
  • Outbound — HTTP action + API key: Power Automate calls the absentify API on demand to read or modify data (e.g. create a member, update an allowance, read workspace settings).
  • Inbound — webhook trigger: absentify pushes events (request created, status changed, user created or updated) to a Power Automate flow, no polling required.
An expanded connector with full coverage of members, departments, leave types, requests, public holidays, workspace settings, and absences is currently in Microsoft certification. Until it is published, the HTTP action and the webhook trigger are the recommended ways to integrate.

When to use which approach


Part 1 — Outbound: HTTP action with API key

Prerequisites

  • An absentify workspace on the Plus plan (the API is a Plus feature).
  • A Power Automate license that includes the HTTP premium action (any plan that allows premium connectors, e.g. Power Automate Premium).
  • Permission in absentify to generate an API key (workspace owner or admin).

Step 1: Generate an API key in absentify

1

Open API settings

In absentify, go to Settings → Integrations and find the API section. Full details: Configuring API access.
2

Generate the key

Select Get API key. The key is shown once — copy it immediately and store it somewhere safe (a password manager or Azure Key Vault).
3

Treat it like a password

The key has the permissions of the workspace. Anyone with the key can read and modify your absence data.
Never paste the API key directly into a flow that you share, export, or commit to source control. Use a secure variable, an environment variable, or Azure Key Vault — see Storing the key securely below.

Step 2: Add an HTTP action to your flow

1

Open or create your flow

Go to Power Automate, open the flow you want to extend, and add a new step.
2

Pick the HTTP action

Search for HTTP and select HTTP — HTTP (the premium built‑in action, not HTTP with Microsoft Entra ID).

Step 3: Configure the HTTP request

Use the values below. Replace your_api_key_here with the key from Step 1 and select the endpoint that matches what you want to do (see API reference).

Example: list all leave requests

The list endpoints (/requests, /requests_per_day, /absences_per_day) require start and end, and the window between them may span at most 1826 days (5 years). A far-future end date such as end=2100-12-31 is rejected with a 400 response — request the period you actually need, and page through longer periods in windows of 5 years or less.

Example: create a leave request

Browse all available endpoints, parameters, and example payloads in the API reference. Use the Try it panel there to validate a request before wiring it into Power Automate.

Step 4: Parse the JSON response

Most endpoints return JSON. To use values from the response in later steps, add a Parse JSON action after the HTTP action.
1

Add Parse JSON

Add a new step → search for Parse JSON.
2

Set Content

Set Content to the Body dynamic content of the HTTP action.
3

Generate schema from sample

Select Generate from sample and paste a real response from the API reference or from a test call. Power Automate builds the schema for you.
After this step, every field of the response is available as dynamic content in subsequent actions (e.g. Send an email, Post message in Teams, Update a row in Dataverse).

Storing the key securely

Hard‑coding the API key into the HTTP action works, but anyone with access to the flow definition can read it. Use one of these patterns instead:
  • Environment variable (recommended for solutions): Create a Secret environment variable in your solution, store the key there, and reference it from the HTTP action.
  • Azure Key Vault: Store the key in Key Vault and add a Get secret action before the HTTP action. Pass the secret to the x-api-key header.
  • Secure input/output: On the HTTP action, open Settings and enable Secure Inputs and Secure Outputs so the key is not written to run history.
If you accidentally exposed your API key (e.g. in a shared flow export), regenerate it immediately in Settings → Integrations → API. The old key stops working as soon as a new one is created.

Handling errors

The API uses standard HTTP status codes. Add a Condition or Configure run after on the next step to react to failures.

Example flow: daily absence digest in Teams

A common pattern combining everything above:
1

Trigger

Recurrence — every weekday at 08:00.
2

HTTP

GET https://api.absentify.com/api/v1/absences/per-day?start=...&end=... with the x-api-key header.
3

Parse JSON

Generate the schema from a sample response.
4

Compose / Select

Build a Markdown summary from the parsed array.
5

Post in Teams

Send the summary to a Teams channel using Post message in a chat or channel.


Part 2 — Inbound: webhook trigger

If you want Power Automate to react to changes in absentify (request created, status changed, user created or updated) without polling, use a webhook trigger. absentify sends a JSON POST to a Power Automate URL whenever the event occurs.

How it works

You create a flow whose trigger is a public URL, then register that URL as a webhook in absentify.

Step 1: Create a flow with the HTTP request trigger

1

New instant flow

In Power Automate, select Create → Instant cloud flow.
2

Pick the trigger

Select When a HTTP request is received as the trigger. (This trigger is included in standard Power Automate plans — it is not a premium connector.)
3

Set Method to POST

In the trigger settings, set Who can trigger the flow to Anyone and the method to POST.

Step 2: Generate the request schema

Paste a sample webhook payload into Use sample payload to generate schema so Power Automate exposes every field as dynamic content in later steps.
Use the full v2 payloads documented in Webhook reference — they match the GET /api/v1/requests/{id} and GET /api/v1/members/{id} responses.

Step 3: Add follow-up actions and save the flow

Add the actions you want. Examples: Post message in a chat or channel (Teams), Send an email, or Update a row in Dataverse. Use the dynamic content from the trigger to fill in fields. Once you select Save, Power Automate displays the HTTP POST URL at the top of the trigger. Select the copy icon next to it.
This URL contains a SAS signature that lets anyone who has it trigger your flow. Treat it like a secret. If it leaks, regenerate it (open the trigger → Regenerate URL) and update the webhook in absentify.

Step 4: Register the URL as a webhook in absentify

1

Open webhook settings

In absentify, go to Settings → Integrations and find the Webhooks section. Full details: Webhook integration.
2

Configure the URL

Select Configure URL and paste the Power Automate URL from Step 3.
3

Select the event type

Pick All Events or one of: request_created, request_status_changed, user_created, user_updated.
4

Select payload v2

Always pick v2 for new integrations. v1 is deprecated.
5

Save

Select Add.

Step 5: Test the flow

Trigger the event in absentify (for example, create a request) and open My flows → Run history in Power Automate. You should see a successful run with the absentify payload. If a run does not appear, check:
  • The webhook is saved with the same URL that the flow trigger now shows.
  • The flow is enabled.
  • The event type matches what you triggered.

Outbound or inbound — combine them

The two approaches work well together. A typical pattern:
1

Inbound webhook

Flow is triggered by request_status_changed.
2

Branch on status

A Condition checks whether the status is APPROVED.
3

Outbound HTTP

On approval, an HTTP action calls GET /api/v1/members/{id} (using the API key from Part 1) to fetch the requester’s department, manager, or custom fields that are not in the webhook payload.
4

Act

Post to Teams, update Dataverse, sync to your HRIS.

Next steps