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

# Functions

> Schema fields whose values Kadoa computes for each record

A function is a schema field that Kadoa computes for each record instead of extracting it from the page. Use functions to add a stable ID, assign categories, or clean up job descriptions.

Add a function in the **Schema** panel with **Add field**, or in code with a `mapper` field. See [Add a function field](https://docs.kadoa.com/docs/workflows/schemas.md#add-a-function-field). The **Transform** tab of the [Pipeline](https://docs.kadoa.com/docs/ui/workflows/pipeline.md) panel lists the functions a workflow uses.

Existing workflows and templates keep their separate guidance inputs during the gradual rollout. Workflows selected for single-description editing combine guidance and samples in **Description**. Computed-field settings are read-only on workflows whose schema saves cannot rebuild the computing step.

| Function | Output | AI |
| - | - | - |
| [Custom categories](#custom-categories) | Text | Yes |
| [Unique ID](#unique-id) | Text | No |
| [Job description](#job-description) | Text | Yes |
| [Standard job type](#standard-job-type) | Text | Yes |
| [Taxonomy match](#taxonomy-match) | JSON Object | Yes |
| [Link extraction](#link-extraction) | Link | No |
| [Additional data](#additional-data) | JSON Object | No |

Functions marked **AI** run a model on every record.

> [!NOTE]
>
> Available functions depend on your workspace. Custom categories is always available. The editor lists only your workspace's functions, and the API rejects the rest. To enable another function, ask in the [Support Center](https://docs.kadoa.com/docs/support-center.md).

## Custom categories

AI reads each record and assigns one category from a list you define. Give each category a title and a definition that says when to use it, for example `Positive: the review recommends the product`.

* Kadoa never delivers a value outside your list.
* Add an `Other` category for records that fit nowhere else.
* A schema can have several Custom categories fields, such as `sentiment` and `topic`.

**Sentiment** in the editor is a ready-made Custom categories field with the categories Positive, Neutral, and Negative. Edit the categories like any other.

Older schemas may use **Categorize**, which works the same way but keeps the category list in the field's description.

## Unique ID

Creates a stable identifier for each record, such as `c56df803-52e1-555e-bd79-40c4ecd6e930`. Kadoa builds it from the workflow and the value of the record's key field. With several key fields, Kadoa uses the first one that has a value. If the schema has no key field, Kadoa uses the record's URL.

* The same record gets the same ID on every run, so you can use it to match records across runs.
* If the key field's value changes, the ID changes.
* If the record has neither a key field value nor a URL, the field is empty.

Mark the fields that identify a record as [key fields](https://docs.kadoa.com/docs/workflows/key-fields.md) before you rely on the ID.

## Job description

AI cleans the extracted job description and returns it as HTML with a consistent structure. Write cleanup rules in **Cleaning instructions**, or in **Description** when single-description editing is enabled, for example `Remove the benefits section`.

A schema can have one Job description field.

## Standard job type

AI assigns each record one of Kadoa's built-in job categories, such as `Engineering and Mechanical Design`.

* Records with less than 20 characters of text get no category.
* A schema can have one Standard job type field.

To classify jobs into your own categories, use [Custom categories](#custom-categories).

## Taxonomy match

Matches each record against a detailed taxonomy, such as a product catalog, and returns the matched categories and product attributes as a JSON object.

Kadoa registers the taxonomy for your workspace. Ask in the [Support Center](https://docs.kadoa.com/docs/support-center.md) to set one up, then enter its key in the field. A schema can have one Taxonomy match field.

## Link extraction

Extracts a PDF link from each record's source content, for example a job posting's attached PDF. PDF is the only supported file type.

## Additional data

Adds the same JSON object to every record, for example your internal source ID. Set the object in the `additionalData` field of [Update workflow metadata](https://docs.kadoa.com/api-reference/workflows/update-workflow-metadata.md). The update replaces the whole object.

## Team-specific functions

Some workspaces have functions built for their use case. They appear only in that workspace's editor, with their own description.

## Related

* [Transformations](https://docs.kadoa.com/docs/workflows/transformations.md) change or add fields with instructions or code written for your workflow.
* [Schemas](https://docs.kadoa.com/docs/workflows/schemas.md) covers data types and regular fields.


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