curl --request GET \
--url https://api.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools', 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.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-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"
"net/http"
"io"
)
func main() {
url := "https://api.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"connectionId": "<string>",
"status": "ready",
"readTools": 4503599627370495,
"tools": [
{
"name": "<string>",
"title": "<string>",
"description": "<string>",
"allowed": true,
"reason": "destructive",
"override": "allow",
"locked": true
}
],
"coreSourcesElsewhere": true
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "feature_disabled",
"feature": "<string>"
}Get the tools members' agents may use on a connection
With Your agent’s brief on (workbotAgentBrief): every tool one of the organization’s connections lists, and whether members’ agents may call it (allowed), why (reason: destructive = its provider marks it destructive, never allowed; admin_allowed / admin_denied = an admin’s choice; reviewed / not_reviewed = a reviewed list for that service; marked_read / marked_write = the provider’s read-only annotation; read_name / write_name / unclear = its name and description; native_read / native_write = one of Den’s own operations, a GET or not), the admin’s choice (override) and whether no admin can allow it (locked). readTools counts the allowed ones. An MCP connection’s tools are listed with the caller’s own account (status needs_connection when they haven’t connected it, unavailable when its server didn’t answer); Den’s own providers list their operations outside calendar, mail and chat (coreSourcesElsewhere), which are read under those sources. Agents only ever read. Requires the workbotProactive and workbotAgentBrief features, Workbot on this deployment, View OpenWork Models settings or Manage OpenWork Models, and View connections.
curl --request GET \
--url https://api.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools', 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.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-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"
"net/http"
"io"
)
func main() {
url := "https://api.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/org/workbot-settings/proactive/sources/{connectionId}/tools")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"connectionId": "<string>",
"status": "ready",
"readTools": 4503599627370495,
"tools": [
{
"name": "<string>",
"title": "<string>",
"description": "<string>",
"allowed": true,
"reason": "destructive",
"override": "allow",
"locked": true
}
],
"coreSourcesElsewhere": true
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "feature_disabled",
"feature": "<string>"
}Authorizations
Organization API key passed as the x-api-key header. The raw key is the header value; do not prefix it with Bearer.
Path Parameters
1 - 64Was this page helpful?