> ## Documentation Index
> Fetch the complete documentation index at: /help/llms.txt
> Use this file to discover all available pages before exploring further.

# Power Automate

> Send contacts from Power Automate flows to a Kerux campaign, and receive Kerux events in a flow.

> [!NOTE]
>
> **Pro plan.** Power Automate works through trigger URLs, webhooks and API keys (to read a contact), which are part of Pro and Agency (and the free trial). Anything you already have keeps working on every plan. See [Plans and billing](/help/account/billing.md).

If your team works in Microsoft 365, Power Automate can carry contacts in and events out:

* an **HTTP** action sends people from Excel, Dynamics 365, Forms or SharePoint to a campaign's trigger URL;
* a flow that starts with **When a HTTP request is received** gets Kerux's events (replies, accepted invitations, meetings).

> [!NOTE]
>
> **How it connects:** Power Automate's HTTP action and HTTP request trigger, which Microsoft lists as premium ([HTTP](https://learn.microsoft.com/en-us/azure/connectors/connectors-native-http) and [Request](https://learn.microsoft.com/en-us/azure/connectors/connectors-native-reqres) docs).

## Before you start

* **Power Automate license:** premium, for the HTTP action and the HTTP request trigger.
* **Kerux:** owners and admins add webhook addresses in **Integrations > Developers**.

## 1. Send people to a campaign

**1. Copy the trigger URL**

In Kerux, open the campaign, click **+ Add** on the **Trigger** half of the start box and choose **Incoming webhook (API)**. Click **Add**, then **Copy link**.

**2. Add an HTTP action**

Method **POST**, URI the trigger URL, header `Content-Type: application/json`, and the body below with dynamic content from your trigger (for example the Excel row).

```json theme={null}
{
  "linkedin_url": "https://www.linkedin.com/in/maria-lopez",
  "first_name": "Maria",
  "email": "maria@acme.com",
  "company": "Acme",
  "custom": { "source": "Target accounts sheet" }
}
```

Kerux answers `202` with `{ "data": { "enrolled": 1, "already_in": 0, "lead_ids": ["..."] } }`. Send up to 100 people at once as `{ "leads": [ ... ] }`.

## 2. Receive Kerux events

**1. Create the flow**

Start a flow with **When a HTTP request is received**, save it, and copy its URL.

**2. Add it in Kerux**

In **Integrations > Developers**, under **Webhooks**, add the URL, pick the events (for example `reply.positive`) and click **Send test event**.

**3. Read the event**

Kerux sends `{ "id": "evt_...", "type": "reply.positive", "created_at": "...", "workspace_id": "...", "data": { "lead_id": "...", "text": "..." } }`. Use **Use sample payload to generate schema** with the test event to get its fields.

Events carry `data.lead_id`, not the email. To get the contact's details, add an **HTTP** action: GET `https://www.usekerux.com/api/v1/leads/` followed by the id, header `Authorization: Bearer YOUR_KERUX_API_KEY` (a key with scope `leads:read`, kept in a secure input).

## Test with one contact

Run the sending flow once and check that the person appears in the campaign. For events, click **Send test event** in Kerux and open the flow's run history.

## Common errors

> [accordion] 422 VALIDATION\_FAILED
>
> `linkedin_url` is missing or invalid. The answer names the field.

> [accordion] The HTTP action isn't available
>
> It's a premium connector: the flow's owner needs a premium license.

> [accordion] Test event fails
>
> The flow isn't saved or is off, so its URL doesn't answer. Turn it on and send the test again.

Related: [Webhooks](/help/developers/webhooks.md), [Microsoft Teams](/help/integration-guides/microsoft-teams.md), [Zapier](/help/integration-guides/zapier.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.