# Folk

folk is a next-generation CRM designed for teams to manage and nurture their relationships efficiently.

- **Category:** crm
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 23
- **Triggers:** 0
- **Slug:** `FOLK`
- **Version:** 20260223_00

## Tools

### Create Company

**Slug:** `FOLK_CREATE_COMPANY`

Creates a new company in the Folk workspace with the specified details. Required: company name (unique identifier). Optional: description, industry, funding details, employee range, contact info (emails, phones, urls, addresses), group assignments, and custom field values. Returns the created company with a unique ID, all provided fields, timestamps, and creator information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The unique name of the company. |
| `urls` | array | No | List of URLs associated with the company. |
| `emails` | array | No | List of email addresses associated with the company. |
| `groups` | array | No | The groups to add the company to. Provide group IDs. |
| `phones` | array | No | List of phone numbers associated with the company. |
| `industry` | string | No | Industry sector of the company. |
| `addresses` | array | No | List of addresses associated with the company. |
| `description` | string | No | A short description of the company. |
| `employeeRange` | string | No | Employee count range for the company. |
| `fundingRaised` | string | No | Amount of funding raised by the company (numeric value only). |
| `foundationYear` | string | No | Year the company was founded in YYYY format. |
| `lastFundingDate` | string | No | Date of the last funding round in YYYY-MM-DD format. |
| `customFieldValues` | object | No | Custom field values grouped by group ID. Values depend on field type: text, number, date, select, contact, user, etc. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Note

**Slug:** `FOLK_CREATE_NOTE`

Tool to create a new note in the Folk workspace. Use when you need to add a note to a person, company, or deal entity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity` | object | Yes | The person, company, or deal that the note is attached to. Provide the entity object with an id field. |
| `content` | string | Yes | The content of the note. Supports plain text or markdown format. Must be between 1 and 100,000 characters. |
| `parentNote` | object | No | Reference to a parent note when creating a reply. |
| `visibility` | string ("public" | "private") | Yes | Visibility of the note. 'public' means visible to all workspace users, 'private' means visible only to the current user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Person

**Slug:** `FOLK_CREATE_PERSON`

Creates a new person in the Folk workspace with the specified details. Optional fields include: first name, last name, emails, phones, group assignments, and custom field values. The first email/phone in the list is treated as the primary contact. Returns the created person with a unique ID, all provided fields, timestamps, and creator information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `emails` | array | No | List of email addresses for the person. The first email is considered the primary email. |
| `groups` | array | No | The groups to add the person to. Provide group IDs. |
| `phones` | array | No | List of phone numbers for the person. The first phone is considered the primary phone. |
| `lastName` | string | No | Last name of the person. |
| `firstName` | string | No | First name of the person. |
| `customFieldValues` | object | No | Custom field values grouped by group ID. Values depend on field type: text, number, date, select, contact, user, etc. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Company

**Slug:** `FOLK_DELETE_COMPANY`

Tool to delete a company from the workspace (irreversible). Use after confirming this company should be removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company_id` | string | Yes | The ID of the company to delete. Must be exactly 40 characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Note

**Slug:** `FOLK_DELETE_NOTE`

Tool to delete an existing note in the workspace (irreversible). Use after confirming this note should be permanently removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note_id` | string | Yes | The ID of the note to delete. Must be exactly 40 characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Person

**Slug:** `FOLK_DELETE_PERSON`

Tool to delete an existing person in the workspace (irreversible). Use after confirming this person should be permanently removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `person_id` | string | Yes | The ID of the person to delete. Must be exactly 40 characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Reminder

**Slug:** `FOLK_DELETE_REMINDER`

Tool to delete an existing reminder in the workspace (irreversible). Use after confirming this reminder should be permanently removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reminder_id` | string | Yes | The ID of the reminder to delete. Must be exactly 40 characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Company

**Slug:** `FOLK_GET_COMPANY`

Tool to retrieve an existing company by its ID. Use after authentication has been verified.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company_id` | string | Yes | The ID of the company to retrieve. Must be exactly 40 characters long. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current Workspace User

**Slug:** `FOLK_GET_CURRENT_WORKSPACE_USER`

Tool to get details of the current authenticated workspace user. Use after authentication to retrieve the user's profile information.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Note

**Slug:** `FOLK_GET_NOTE`

Tool to retrieve an existing note by its ID. Use when you need the full content and metadata of a specific note.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note_id` | string | Yes | The ID of the note to retrieve. Must be exactly 40 characters long. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Person

**Slug:** `FOLK_GET_PERSON`

Tool to retrieve an existing person by their ID. Use when you need full profile details of a person by their unique identifier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `person_id` | string | Yes | The unique identifier of the person to retrieve. Must be exactly 40 characters long (format: per_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User

**Slug:** `FOLK_GET_USER`

Tool to retrieve a user by their unique identifier. Use when you need to get details of a specific workspace user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Companies

**Slug:** `FOLK_LIST_COMPANIES`

Tool to list companies in the workspace. Use when you need a paginated overview of companies, optionally filtered.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The number of items to return. Must be between 1 and 100. |
| `cursor` | string | No | A pagination cursor from a previous response's `pagination.nextLink`. Omit on the first call. |
| `filter` | object | No | Filters to apply, using `filter[attribute][operator]=value` syntax. |
| `combinator` | string ("and" | "or") | No | Logical operator to combine multiple filters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Group Custom Fields

**Slug:** `FOLK_LIST_GROUP_CUSTOM_FIELDS`

Tool to list custom fields for a specific group and entity type. Use after selecting a group and entity type to inspect available custom fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Number of items to return (1-100). Defaults to 20. |
| `cursor` | string | No | Pagination cursor. Omit on first call; use `data.pagination.nextLink` from previous response for subsequent pages. |
| `group_id` | string | Yes | ID of the group (exactly 40 characters). Obtain via the list-groups endpoint. |
| `entity_type` | string ("person" | "company") | Yes | Entity type whose custom fields to list. Must be 'person' or 'company'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Groups

**Slug:** `FOLK_LIST_GROUPS`

Tool to list workspace groups. Use when you need to retrieve a paginated list of all workspace groups after authentication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The number of items to return. Must be between 1 and 100. |
| `cursor` | string | No | Cursor for pagination across multiple pages. Omit on first call. Use the `pagination.nextLink` value from a previous response for subsequent pages. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Notes

**Slug:** `FOLK_LIST_NOTES`

Tool to list notes in the workspace. Use when you need to retrieve notes with pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The number of items to return. Must be between 1 and 100. |
| `cursor` | string | No | A pagination cursor from a previous response's `pagination.nextLink`. Omit on the first call. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List People

**Slug:** `FOLK_LIST_PEOPLE`

Tool to list people in the workspace. Use when you need to paginate through contacts after authentication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The number of items to return. Must be between 1 and 100. |
| `cursor` | string | No | A pagination cursor from a previous response's `pagination.nextLink`. Omit on the first call. |
| `filter` | object | No | Filters to apply, following `filter[attribute][operator]=value` format. E.g., {'firstName': {'eq': 'John'}}. |
| `combinator` | string ("and" | "or") | No | Logical operator to combine multiple filters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Reminders

**Slug:** `FOLK_LIST_REMINDERS`

Tool to list reminders in the workspace. Use when you need a paginated overview of reminders, optionally filtered by entity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The number of items to return. Must be between 1 and 100. |
| `cursor` | string | No | A pagination cursor from a previous response's `pagination.nextLink`. Omit on the first call. |
| `entity_id` | string | No | Filter reminders by entity ID (person, company, or object). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Users

**Slug:** `FOLK_LIST_USERS`

Tool to list workspace users. Use when you need to paginate through users list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Number of users to return. Must be between 1 and 100. |
| `cursor` | string | No | A pagination cursor from previous response's `nextLink`. Omit on first call. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Webhooks

**Slug:** `FOLK_LIST_WEBHOOKS`

Tool to list webhooks in the workspace. Use when you need to retrieve configured webhooks with pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Number of webhooks to return. Must be between 1 and 100. |
| `cursor` | string | No | A pagination cursor from previous response's `nextLink`. Omit on first call. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Company

**Slug:** `FOLK_UPDATE_COMPANY`

Tool to update an existing company in the workspace. Use after confirming the company ID; only provided fields are updated and list fields replace existing values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the company. |
| `urls` | array | No | List of URLs associated with the company; replaces existing URLs. |
| `emails` | array | No | List of email addresses associated with the company; replaces existing emails. |
| `groups` | array | No | Groups to associate with the company; list values replace existing groups. |
| `phones` | array | No | List of phone numbers associated with the company; replaces existing phones. |
| `addresses` | array | No | List of addresses associated with the company; replaces existing addresses. |
| `company_id` | string | Yes | The ID of the company to update. Must be exactly 40 characters long. |
| `description` | string | No | A short description of the company. |
| `customFieldValues` | object | No | Custom field values grouped by group ID. Values depend on field type: text, number, date, select, contact, user, etc. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Note

**Slug:** `FOLK_UPDATE_NOTE`

Tool to update an existing note in the workspace. Use after confirming the note ID; only provided fields are updated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `content` | string | No | The content of the note in plain text or markdown format. |
| `note_id` | string | Yes | The ID of the note to update. |
| `visibility` | string ("public" | "private") | No | Visibility level for a note. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Person

**Slug:** `FOLK_UPDATE_PERSON`

Tool to update an existing person in the workspace. Use after confirming the person ID; only provided fields are updated and list fields replace existing values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `urls` | array | No | List of URLs associated with the person; replaces existing URLs. |
| `emails` | array | No | List of email addresses associated with the person; replaces existing emails. |
| `groups` | array | No | Groups to associate with the person; list values replace existing groups. When removing a person from a group, their custom field values for that group are also removed. |
| `phones` | array | No | List of phone numbers associated with the person; replaces existing phones. |
| `birthday` | string | No | The person's birthday in ISO 8601 date format (YYYY-MM-DD). Set to null to remove. |
| `fullName` | string | No | The full name of the person. |
| `jobTitle` | string | No | The job title of the person. |
| `lastName` | string | No | The last name of the person. |
| `addresses` | array | No | List of addresses associated with the person; replaces existing addresses. |
| `companies` | array | No | Companies to associate with the person; list values replace existing companies. |
| `firstName` | string | No | The first name of the person. |
| `person_id` | string | Yes | The ID of the person to update. Must be exactly 40 characters long. |
| `description` | string | No | A short description of the person. |
| `customFieldValues` | object | No | Custom field values grouped by group ID. Values depend on field type: text, number, date, select, contact, user, etc. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
