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

# folk

> Create people in folk CRM from a campaign, in the group your team works from, with email and LinkedIn URL.

> [!NOTE]
>
> **Pro plan.** folk works through a connection and HTTP steps, 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).

When a contact accepts or replies, a **Webhook / HTTP** step creates them in folk with their name, email and LinkedIn URL, in the group your team works from.

> [!NOTE]
>
> **How it connects:** folk's public API with a bearer token. See folk's [Create a person](https://developer.folk.app/api-reference/people/create-a-person) docs. The request and answer below follow folk's docs.

## Before you start

* **folk plan:** check folk's pricing page for API access on your plan.
* **An API key:** in folk, open **Settings > API** and create one.
* **The group's id:** folk's API lists your groups and their ids (`GET /v1/groups`), or leave groups out.

## 1. Connect folk

In Kerux, open **Integrations > Connections**, click **Connect** on **Custom API** (under **Developers**):

* **How it signs in:** **Bearer token**, paste the key.
* **Base URL:** `https://api.folk.app`

Click **Save**, then **Test connection**.

## 2. Create the person

After **Invitation accepted**, add a **Webhook / HTTP** step named `folk`:

```json theme={null}
{
  "method": "POST",
  "url": "/v1/people",
  "bodyType": "json",
  "body": {
    "firstName": "{{contact.first_name}}",
    "lastName": "{{contact.last_name | optional}}",
    "jobTitle": "{{contact.title | optional}}",
    "emails": ["{{email}}"],
    "urls": ["{{contact.linkedin_url}}"],
    "companies": [{ "name": "{{contact.company}}" }],
    "groups": [{ "id": "YOUR_GROUP_ID" }]
  }
}
```

A contact without an email waits at this step: remove `emails` if you want everyone in folk. folk answers with the new person under `data` (trimmed):

```json theme={null}
{ "data": { "id": "per_183ed5cc-...", "firstName": "Sofia", "lastName": "Chen" } }
```

Save `{{steps.folk.response.body.data.id}}` on the contact with an **Update contact** step (a custom field such as **folk person id**) to update the person later.

## Test with one contact

In the **Builder**, click **Test** to open **Test on one contact** and check the person in the group in folk.

## Common errors

> [accordion] 401 Unauthorized
>
> The key is wrong or was deleted. Create a new one in **Settings > API**.

> [accordion] 400 with a group error
>
> The group id doesn't exist in this workspace. List your groups and copy the id again.

> [accordion] Same person twice
>
> Creating doesn't check for duplicates. Save folk's id on the contact and update instead of creating on later runs.

Related: [Webhook steps](/help/integrations/webhook-steps.md), [Attio](/help/integration-guides/attio.md), [Notion](/help/integration-guides/notion.md).


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