curl --request GET \
--url https://api.openworklabs.com/v1/org/workbot-settings/proactive \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/org/workbot-settings/proactive"
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', 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",
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"
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")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/org/workbot-settings/proactive")
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{
"settings": {
"enabled": true,
"leadMinutes": 0,
"workingDays": "weekdays",
"startHour": 11,
"endHour": 12,
"dailyCap": 5,
"membersStart": "opted_in",
"destination": "workbot_dm",
"sources": {
"calendar": "everyone",
"email": "everyone",
"chat": "everyone",
"connections": {},
"coreConnections": {
"calendar": [
"<string>"
],
"email": [
"<string>"
],
"chat": [
"<string>"
]
},
"coreDefaults": {
"calendar": "<string>",
"email": "<string>",
"chat": "<string>"
},
"otherConnections": [
"<string>"
]
}
},
"template": {
"responsibilities": {
"morning_brief": true,
"meeting_prep": true,
"calendar_changes": true,
"waiting_on_you": true
},
"instructions": "<string>",
"versionId": "<string>",
"version": 4503599627370496
},
"slackReady": true,
"runnerReady": true,
"sourceConnections": {
"calendar": [
{
"id": "<string>",
"name": "<string>",
"url": "<string>",
"connectedMembers": 4503599627370495
}
],
"email": [
{
"id": "<string>",
"name": "<string>",
"url": "<string>",
"connectedMembers": 4503599627370495
}
],
"chat": [
{
"id": "<string>",
"name": "<string>",
"url": "<string>",
"connectedMembers": 4503599627370495
}
],
"other": [
{
"id": "<string>",
"name": "<string>",
"url": "<string>"
}
],
"all": [
{
"id": "<string>",
"name": "<string>",
"url": "<string>",
"native": true,
"slots": [
"calendar"
],
"connectedMembers": 4503599627370495
}
],
"defaults": {
"calendar": null,
"email": null,
"chat": null
}
}
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "feature_disabled",
"feature": "<string>"
}Get the settings for members' agents
Returns how members’ agents work in this organization (Manage › Workbot): whether they are on, working hours, the daily limit per member, whether members start opted in, the default place messages go (a DM from the Workbot Slack app), what agents may read (settings.sources: calendar, email and team chat, and each other connection by id: everyone = on for everyone, members = members choose, off = not allowed; agents only ever read; coreConnections = the connections an admin allowed for calendar, email or chat: Den’s own providers for what they serve, or an MCP whose read tools are reviewed; absent for every connection that serves it; coreDefaults = the admin’s default connection per core source, absent for automatic; each member’s agent reads exactly one allowed connection per core source: the one the member picked, else the default when their account on it is ready, else one they already connected, else the default for them to connect; otherConnections = the connections in Other context, absent for every connection with reviewed read tools) with the organization’s connections behind each by default (each core one with connectedMembers, how many members connected their own account on it, null when unknown such as a shared credential), sourceConnections.all, every connection an admin can add with where it can go, and sourceConnections.defaults, the default each core source uses now (the admin’s coreDefaults while still allowed, else the allowed connection most members connected) (sourceConnections, null without View connections; includes Google Workspace or Microsoft 365 set up before connections had their own entries), and the current “Your agent” template version (preset responsibilities and organization instructions). Also says whether the Workbot Slack app is installed to send those DMs and whether the headless runner the agents run on is configured. Requires the workbotProactive feature, Workbot on this deployment, and View OpenWork Models settings or Manage OpenWork Models.
curl --request GET \
--url https://api.openworklabs.com/v1/org/workbot-settings/proactive \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/org/workbot-settings/proactive"
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', 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",
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"
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")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/org/workbot-settings/proactive")
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{
"settings": {
"enabled": true,
"leadMinutes": 0,
"workingDays": "weekdays",
"startHour": 11,
"endHour": 12,
"dailyCap": 5,
"membersStart": "opted_in",
"destination": "workbot_dm",
"sources": {
"calendar": "everyone",
"email": "everyone",
"chat": "everyone",
"connections": {},
"coreConnections": {
"calendar": [
"<string>"
],
"email": [
"<string>"
],
"chat": [
"<string>"
]
},
"coreDefaults": {
"calendar": "<string>",
"email": "<string>",
"chat": "<string>"
},
"otherConnections": [
"<string>"
]
}
},
"template": {
"responsibilities": {
"morning_brief": true,
"meeting_prep": true,
"calendar_changes": true,
"waiting_on_you": true
},
"instructions": "<string>",
"versionId": "<string>",
"version": 4503599627370496
},
"slackReady": true,
"runnerReady": true,
"sourceConnections": {
"calendar": [
{
"id": "<string>",
"name": "<string>",
"url": "<string>",
"connectedMembers": 4503599627370495
}
],
"email": [
{
"id": "<string>",
"name": "<string>",
"url": "<string>",
"connectedMembers": 4503599627370495
}
],
"chat": [
{
"id": "<string>",
"name": "<string>",
"url": "<string>",
"connectedMembers": 4503599627370495
}
],
"other": [
{
"id": "<string>",
"name": "<string>",
"url": "<string>"
}
],
"all": [
{
"id": "<string>",
"name": "<string>",
"url": "<string>",
"native": true,
"slots": [
"calendar"
],
"connectedMembers": 4503599627370495
}
],
"defaults": {
"calendar": null,
"email": null,
"chat": null
}
}
}{
"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.
Was this page helpful?