curl --request GET \
--url https://api.openworklabs.com/v1/me/agent \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/me/agent"
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/me/agent', 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/me/agent",
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/me/agent"
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/me/agent")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/me/agent")
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{
"available": true,
"on": true,
"snoozedUntil": "2023-11-07T05:31:56Z",
"responsibilities": [
{
"id": "morning_brief",
"label": "<string>",
"tells": "<string>",
"enabled": true,
"muted": true
}
],
"destination": {
"kind": "workbot_dm",
"name": "<string>",
"blocked": "slack_app_not_installed"
},
"workingHours": {
"workingDays": "weekdays",
"startHour": 123,
"endHour": 123,
"dailyCap": 123
},
"nextCheckAt": "2023-11-07T05:31:56Z",
"timeZone": "<string>",
"lastCheck": {
"id": "<string>",
"at": "2023-11-07T05:31:56Z",
"kind": "morning",
"outcome": "sent",
"reason": "sent",
"headline": "<string>",
"summary": "<string>",
"responsibilities": [
"morning_brief"
],
"sources": [
{
"id": "<string>",
"name": "<string>",
"connectionId": "<string>"
}
],
"slackUrl": "<string>",
"fix": "reconnect_google"
},
"todayChecks": [
{
"id": "<string>",
"at": "2023-11-07T05:31:56Z",
"kind": "morning",
"outcome": "sent",
"reason": "sent",
"headline": "<string>",
"summary": "<string>",
"responsibilities": [
"morning_brief"
],
"sources": [
{
"id": "<string>",
"name": "<string>",
"connectionId": "<string>"
}
],
"slackUrl": "<string>",
"fix": "reconnect_google"
}
],
"sentToday": 4503599627370495,
"preferences": {
"always": "<string>",
"never": "<string>",
"when": "<string>",
"how": "<string>"
},
"limits": {
"workingDays": "weekdays",
"startHour": 0,
"endHour": 0,
"dailyCap": 0,
"quietWindow": {
"startHour": 11,
"endHour": 12
},
"admin": {
"startHour": 0,
"endHour": 0,
"dailyCap": 0
},
"narrowed": {
"hours": true,
"dailyCap": true
}
},
"changes": [
{
"id": "<string>",
"field": "always",
"sourceId": "<string>",
"summary": "<string>",
"source": "chat",
"at": "2023-11-07T05:31:56Z",
"undone": true
}
],
"sources": [
{
"id": "<string>",
"kind": "calendar",
"name": "<string>",
"connections": [
{
"id": "<string>",
"name": "<string>",
"url": "<string>",
"state": "connected"
}
],
"policy": "everyone",
"on": true,
"instruction": "<string>",
"lastReadAt": "2023-11-07T05:31:56Z"
}
],
"link": "<string>"
}{
"error": "unauthorized"
}{
"error": "feature_disabled",
"feature": "<string>"
}Get my agent
The signed-in member’s own agent in the active organization: whether it is on for them, what it will tell them about (each responsibility, whether the organization turned it on and whether they muted it), where its messages go (a DM from the Workbot Slack app) and whether they can arrive yet (the Slack app installed, their Slack account linked), the working hours and daily limit it follows, and when it looks next. With My agent on (workbotAgentLibrary) it also says what it did: lastCheck and todayChecks (each with an outcome sent, quiet, waited or failed, and a summary sentence that says why, for example “Stayed quiet: nothing new.” or “Couldn’t read Gmail: reconnect Google.”), sentToday against limits.dailyCap, the member’s own words (preferences: always, never, when, how), their narrower limits inside the admin’s, their recent changes, and sources: what the agent reads (calendar, email, team chat and each other connection), each with the admin’s policy (everyone = on for everyone, members = the member chooses, off = not allowed), whether it is on, the member’s instruction for it, when it was last read, and whether the member’s account on each connection is ready (connected, needs_connection, reconnect). Answer “why was it quiet?” from these records, never by guessing. Requires the workbotProactive feature and Workbot on this deployment.
curl --request GET \
--url https://api.openworklabs.com/v1/me/agent \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/me/agent"
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/me/agent', 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/me/agent",
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/me/agent"
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/me/agent")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/me/agent")
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{
"available": true,
"on": true,
"snoozedUntil": "2023-11-07T05:31:56Z",
"responsibilities": [
{
"id": "morning_brief",
"label": "<string>",
"tells": "<string>",
"enabled": true,
"muted": true
}
],
"destination": {
"kind": "workbot_dm",
"name": "<string>",
"blocked": "slack_app_not_installed"
},
"workingHours": {
"workingDays": "weekdays",
"startHour": 123,
"endHour": 123,
"dailyCap": 123
},
"nextCheckAt": "2023-11-07T05:31:56Z",
"timeZone": "<string>",
"lastCheck": {
"id": "<string>",
"at": "2023-11-07T05:31:56Z",
"kind": "morning",
"outcome": "sent",
"reason": "sent",
"headline": "<string>",
"summary": "<string>",
"responsibilities": [
"morning_brief"
],
"sources": [
{
"id": "<string>",
"name": "<string>",
"connectionId": "<string>"
}
],
"slackUrl": "<string>",
"fix": "reconnect_google"
},
"todayChecks": [
{
"id": "<string>",
"at": "2023-11-07T05:31:56Z",
"kind": "morning",
"outcome": "sent",
"reason": "sent",
"headline": "<string>",
"summary": "<string>",
"responsibilities": [
"morning_brief"
],
"sources": [
{
"id": "<string>",
"name": "<string>",
"connectionId": "<string>"
}
],
"slackUrl": "<string>",
"fix": "reconnect_google"
}
],
"sentToday": 4503599627370495,
"preferences": {
"always": "<string>",
"never": "<string>",
"when": "<string>",
"how": "<string>"
},
"limits": {
"workingDays": "weekdays",
"startHour": 0,
"endHour": 0,
"dailyCap": 0,
"quietWindow": {
"startHour": 11,
"endHour": 12
},
"admin": {
"startHour": 0,
"endHour": 0,
"dailyCap": 0
},
"narrowed": {
"hours": true,
"dailyCap": true
}
},
"changes": [
{
"id": "<string>",
"field": "always",
"sourceId": "<string>",
"summary": "<string>",
"source": "chat",
"at": "2023-11-07T05:31:56Z",
"undone": true
}
],
"sources": [
{
"id": "<string>",
"kind": "calendar",
"name": "<string>",
"connections": [
{
"id": "<string>",
"name": "<string>",
"url": "<string>",
"state": "connected"
}
],
"policy": "everyone",
"on": true,
"instruction": "<string>",
"lastReadAt": "2023-11-07T05:31:56Z"
}
],
"link": "<string>"
}{
"error": "unauthorized"
}{
"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.
Response
The member's agent.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$Show child attributes
Show child attributes
Show child attributes
Show child attributes
0 <= x <= 9007199254740991Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?