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
Client app access token from POST https://auth.siro.ai/oauth2/token, or a legacy organization API token (Person icon → API Tokens). Send Authorization: Bearer <token>.
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