Create a new integration connection for a given org
curl --request POST \
--url https://functions.siro.ai/api-externalApi/v1/core/integrations/connections \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"externalAccountId": "<string>",
"isActive": true
}
'import requests
url = "https://functions.siro.ai/api-externalApi/v1/core/integrations/connections"
payload = {
"name": "<string>",
"externalAccountId": "<string>",
"isActive": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', externalAccountId: '<string>', isActive: true})
};
fetch('https://functions.siro.ai/api-externalApi/v1/core/integrations/connections', 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://functions.siro.ai/api-externalApi/v1/core/integrations/connections",
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([
'name' => '<string>',
'externalAccountId' => '<string>',
'isActive' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://functions.siro.ai/api-externalApi/v1/core/integrations/connections"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"externalAccountId\": \"<string>\",\n \"isActive\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://functions.siro.ai/api-externalApi/v1/core/integrations/connections")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"externalAccountId\": \"<string>\",\n \"isActive\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://functions.siro.ai/api-externalApi/v1/core/integrations/connections")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"externalAccountId\": \"<string>\",\n \"isActive\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"externalAccountId": "<string>",
"organizationId": "<string>",
"integrationPlatform": "MERGE",
"createdAt": "<string>",
"updatedAt": "<string>",
"isActive": true,
"syncStatus": [
{
"id": "<string>",
"modelName": "<string>",
"modelSyncStatus": "SYNCING",
"modelModifiedAfter": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
],
"syncTranscript": true
}"<string>""<string>"Integration Connections
Create a new integration connection for a given org
Create a new integration connection for a given org
POST
/
v1
/
core
/
integrations
/
connections
Create a new integration connection for a given org
curl --request POST \
--url https://functions.siro.ai/api-externalApi/v1/core/integrations/connections \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"externalAccountId": "<string>",
"isActive": true
}
'import requests
url = "https://functions.siro.ai/api-externalApi/v1/core/integrations/connections"
payload = {
"name": "<string>",
"externalAccountId": "<string>",
"isActive": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', externalAccountId: '<string>', isActive: true})
};
fetch('https://functions.siro.ai/api-externalApi/v1/core/integrations/connections', 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://functions.siro.ai/api-externalApi/v1/core/integrations/connections",
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([
'name' => '<string>',
'externalAccountId' => '<string>',
'isActive' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://functions.siro.ai/api-externalApi/v1/core/integrations/connections"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"externalAccountId\": \"<string>\",\n \"isActive\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://functions.siro.ai/api-externalApi/v1/core/integrations/connections")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"externalAccountId\": \"<string>\",\n \"isActive\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://functions.siro.ai/api-externalApi/v1/core/integrations/connections")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"externalAccountId\": \"<string>\",\n \"isActive\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"externalAccountId": "<string>",
"organizationId": "<string>",
"integrationPlatform": "MERGE",
"createdAt": "<string>",
"updatedAt": "<string>",
"isActive": true,
"syncStatus": [
{
"id": "<string>",
"modelName": "<string>",
"modelSyncStatus": "SYNCING",
"modelModifiedAfter": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
],
"syncTranscript": true
}"<string>""<string>"Authorizations
Organization integration token from Siro admin (Person icon → API Tokens). Send Authorization: Bearer . This is not the OAuth access token used with api.siro.ai user-scoped endpoints.
Body
application/json
Name of the integration connection
The type of integration connection
Available options:
MERGE, SIRO_CUSTOM_INPUT, SERVICE_TITAN, COMPANY_CAM, INGAGE, LEAD_PERFECTION, SPOTIO External account id (typically maps to a tenant)
Whether the connection is active
Response
Create a new integration connection for a given org
Available options:
MERGE, SIRO_CUSTOM_INPUT, SERVICE_TITAN, COMPANY_CAM, INGAGE, LEAD_PERFECTION, SPOTIO ISO 8601 date string
ISO 8601 date string
Whether the integration is actively syncing data
Show child attributes
Show child attributes
Whether the transcript will be included in the sync payload