Company
Create company AI field
Create a company AI field, evaluated by AI against the activity of each company: the recordings and emails linked to the company itself and to all its deals. The field is owned by the workspace member identified by creatorEmail. The field is evaluated for companies as new activity comes in; no values are generated for companies whose activity does not change.
POST
/
v1
/
companies
/
fields
cURL
curl --request POST \
--url https://api.claap.io/v1/companies/fields \
--header 'Content-Type: application/json' \
--header 'X-Claap-Key: <api-key>' \
--data '
{
"title": "Products discussed",
"prompt": {
"outputType": "MultiSelect",
"prompt": "List the products mentioned across the calls and emails of the company.",
"coloredSelectOptions": [
{
"value": "Analytics",
"color": "blue"
},
{
"value": "Automation",
"color": "purple"
},
{
"value": "Integrations",
"color": "turquoise"
}
]
},
"creatorEmail": "jsmith@example.com"
}
'import requests
url = "https://api.claap.io/v1/companies/fields"
payload = {
"title": "Products discussed",
"prompt": {
"outputType": "MultiSelect",
"prompt": "List the products mentioned across the calls and emails of the company.",
"coloredSelectOptions": [
{
"value": "Analytics",
"color": "blue"
},
{
"value": "Automation",
"color": "purple"
},
{
"value": "Integrations",
"color": "turquoise"
}
]
},
"creatorEmail": "jsmith@example.com"
}
headers = {
"X-Claap-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Claap-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Products discussed',
prompt: {
outputType: 'MultiSelect',
prompt: 'List the products mentioned across the calls and emails of the company.',
coloredSelectOptions: [
{value: 'Analytics', color: 'blue'},
{value: 'Automation', color: 'purple'},
{value: 'Integrations', color: 'turquoise'}
]
},
creatorEmail: 'jsmith@example.com'
})
};
fetch('https://api.claap.io/v1/companies/fields', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.claap.io/v1/companies/fields",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => 'Products discussed',
'prompt' => [
'outputType' => 'MultiSelect',
'prompt' => 'List the products mentioned across the calls and emails of the company.',
'coloredSelectOptions' => [
[
'value' => 'Analytics',
'color' => 'blue'
],
[
'value' => 'Automation',
'color' => 'purple'
],
[
'value' => 'Integrations',
'color' => 'turquoise'
]
]
],
'creatorEmail' => 'jsmith@example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Claap-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.claap.io/v1/companies/fields"
payload := strings.NewReader("{\n \"title\": \"Products discussed\",\n \"prompt\": {\n \"outputType\": \"MultiSelect\",\n \"prompt\": \"List the products mentioned across the calls and emails of the company.\",\n \"coloredSelectOptions\": [\n {\n \"value\": \"Analytics\",\n \"color\": \"blue\"\n },\n {\n \"value\": \"Automation\",\n \"color\": \"purple\"\n },\n {\n \"value\": \"Integrations\",\n \"color\": \"turquoise\"\n }\n ]\n },\n \"creatorEmail\": \"jsmith@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Claap-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.claap.io/v1/companies/fields")
.header("X-Claap-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Products discussed\",\n \"prompt\": {\n \"outputType\": \"MultiSelect\",\n \"prompt\": \"List the products mentioned across the calls and emails of the company.\",\n \"coloredSelectOptions\": [\n {\n \"value\": \"Analytics\",\n \"color\": \"blue\"\n },\n {\n \"value\": \"Automation\",\n \"color\": \"purple\"\n },\n {\n \"value\": \"Integrations\",\n \"color\": \"turquoise\"\n }\n ]\n },\n \"creatorEmail\": \"jsmith@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.claap.io/v1/companies/fields")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Claap-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Products discussed\",\n \"prompt\": {\n \"outputType\": \"MultiSelect\",\n \"prompt\": \"List the products mentioned across the calls and emails of the company.\",\n \"coloredSelectOptions\": [\n {\n \"value\": \"Analytics\",\n \"color\": \"blue\"\n },\n {\n \"value\": \"Automation\",\n \"color\": \"purple\"\n },\n {\n \"value\": \"Integrations\",\n \"color\": \"turquoise\"\n }\n ]\n },\n \"creatorEmail\": \"jsmith@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"result": {
"fieldId": "CompanyAiSection#Rt9Fm2Bx6Kw4Ns7Zc1Hd5",
"title": "Products discussed",
"kind": "Field",
"outputType": "MultiSelect",
"prompt": "List the products mentioned across the calls and emails of the company.",
"coloredSelectOptions": [
{
"value": "Analytics",
"color": "blue"
},
{
"value": "Automation",
"color": "purple"
},
{
"value": "Integrations",
"color": "turquoise"
}
],
"authorId": "Xk2Rd7Mv4Bn9Ts1Lq6Wf3",
"createdAt": "2026-05-14T09:30:00Z"
}
}Creates a company AI field, evaluated by AI against the activity of each company: the recordings and emails linked to the company itself and to all its deals.
creatorEmail must belong to an active workspace member, who becomes the field author. The field is evaluated for companies as new activity comes in; no values are generated for companies whose activity does not change.Authorizations
Body
application/json
Response
Company AI field was successfully created
An AI field: a custom prompt with a typed output, evaluated by AI. Usable as an AiSection view column through its fieldId.
Show child attributes
Show child attributes
⌘I
cURL
curl --request POST \
--url https://api.claap.io/v1/companies/fields \
--header 'Content-Type: application/json' \
--header 'X-Claap-Key: <api-key>' \
--data '
{
"title": "Products discussed",
"prompt": {
"outputType": "MultiSelect",
"prompt": "List the products mentioned across the calls and emails of the company.",
"coloredSelectOptions": [
{
"value": "Analytics",
"color": "blue"
},
{
"value": "Automation",
"color": "purple"
},
{
"value": "Integrations",
"color": "turquoise"
}
]
},
"creatorEmail": "jsmith@example.com"
}
'import requests
url = "https://api.claap.io/v1/companies/fields"
payload = {
"title": "Products discussed",
"prompt": {
"outputType": "MultiSelect",
"prompt": "List the products mentioned across the calls and emails of the company.",
"coloredSelectOptions": [
{
"value": "Analytics",
"color": "blue"
},
{
"value": "Automation",
"color": "purple"
},
{
"value": "Integrations",
"color": "turquoise"
}
]
},
"creatorEmail": "jsmith@example.com"
}
headers = {
"X-Claap-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Claap-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Products discussed',
prompt: {
outputType: 'MultiSelect',
prompt: 'List the products mentioned across the calls and emails of the company.',
coloredSelectOptions: [
{value: 'Analytics', color: 'blue'},
{value: 'Automation', color: 'purple'},
{value: 'Integrations', color: 'turquoise'}
]
},
creatorEmail: 'jsmith@example.com'
})
};
fetch('https://api.claap.io/v1/companies/fields', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.claap.io/v1/companies/fields",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => 'Products discussed',
'prompt' => [
'outputType' => 'MultiSelect',
'prompt' => 'List the products mentioned across the calls and emails of the company.',
'coloredSelectOptions' => [
[
'value' => 'Analytics',
'color' => 'blue'
],
[
'value' => 'Automation',
'color' => 'purple'
],
[
'value' => 'Integrations',
'color' => 'turquoise'
]
]
],
'creatorEmail' => 'jsmith@example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Claap-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.claap.io/v1/companies/fields"
payload := strings.NewReader("{\n \"title\": \"Products discussed\",\n \"prompt\": {\n \"outputType\": \"MultiSelect\",\n \"prompt\": \"List the products mentioned across the calls and emails of the company.\",\n \"coloredSelectOptions\": [\n {\n \"value\": \"Analytics\",\n \"color\": \"blue\"\n },\n {\n \"value\": \"Automation\",\n \"color\": \"purple\"\n },\n {\n \"value\": \"Integrations\",\n \"color\": \"turquoise\"\n }\n ]\n },\n \"creatorEmail\": \"jsmith@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Claap-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.claap.io/v1/companies/fields")
.header("X-Claap-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Products discussed\",\n \"prompt\": {\n \"outputType\": \"MultiSelect\",\n \"prompt\": \"List the products mentioned across the calls and emails of the company.\",\n \"coloredSelectOptions\": [\n {\n \"value\": \"Analytics\",\n \"color\": \"blue\"\n },\n {\n \"value\": \"Automation\",\n \"color\": \"purple\"\n },\n {\n \"value\": \"Integrations\",\n \"color\": \"turquoise\"\n }\n ]\n },\n \"creatorEmail\": \"jsmith@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.claap.io/v1/companies/fields")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Claap-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Products discussed\",\n \"prompt\": {\n \"outputType\": \"MultiSelect\",\n \"prompt\": \"List the products mentioned across the calls and emails of the company.\",\n \"coloredSelectOptions\": [\n {\n \"value\": \"Analytics\",\n \"color\": \"blue\"\n },\n {\n \"value\": \"Automation\",\n \"color\": \"purple\"\n },\n {\n \"value\": \"Integrations\",\n \"color\": \"turquoise\"\n }\n ]\n },\n \"creatorEmail\": \"jsmith@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"result": {
"fieldId": "CompanyAiSection#Rt9Fm2Bx6Kw4Ns7Zc1Hd5",
"title": "Products discussed",
"kind": "Field",
"outputType": "MultiSelect",
"prompt": "List the products mentioned across the calls and emails of the company.",
"coloredSelectOptions": [
{
"value": "Analytics",
"color": "blue"
},
{
"value": "Automation",
"color": "purple"
},
{
"value": "Integrations",
"color": "turquoise"
}
],
"authorId": "Xk2Rd7Mv4Bn9Ts1Lq6Wf3",
"createdAt": "2026-05-14T09:30:00Z"
}
}