Bulk Assistant Actions
Create and delete multiple assistant actions in a single request.
curl --request POST \
--url https://api.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"create": [
{
"enabled": true,
"config": {
"input": {},
"definitions": [
{
"path": "<string>",
"definition": {}
}
]
},
"name": "<string>",
"instructions": "<string>",
"connection_id": "con_XXX"
}
],
"delete": [
"<string>"
]
}
'import requests
url = "https://api.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk"
payload = {
"create": [
{
"enabled": True,
"config": {
"input": {},
"definitions": [
{
"path": "<string>",
"definition": {}
}
]
},
"name": "<string>",
"instructions": "<string>",
"connection_id": "con_XXX"
}
],
"delete": ["<string>"]
}
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({
create: [
{
enabled: true,
config: {input: {}, definitions: [{path: '<string>', definition: {}}]},
name: '<string>',
instructions: '<string>',
connection_id: 'con_XXX'
}
],
delete: ['<string>']
})
};
fetch('https://api.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk', 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.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk",
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([
'create' => [
[
'enabled' => true,
'config' => [
'input' => [
],
'definitions' => [
[
'path' => '<string>',
'definition' => [
]
]
]
],
'name' => '<string>',
'instructions' => '<string>',
'connection_id' => 'con_XXX'
]
],
'delete' => [
'<string>'
]
]),
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://api.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk"
payload := strings.NewReader("{\n \"create\": [\n {\n \"enabled\": true,\n \"config\": {\n \"input\": {},\n \"definitions\": [\n {\n \"path\": \"<string>\",\n \"definition\": {}\n }\n ]\n },\n \"name\": \"<string>\",\n \"instructions\": \"<string>\",\n \"connection_id\": \"con_XXX\"\n }\n ],\n \"delete\": [\n \"<string>\"\n ]\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://api.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"create\": [\n {\n \"enabled\": true,\n \"config\": {\n \"input\": {},\n \"definitions\": [\n {\n \"path\": \"<string>\",\n \"definition\": {}\n }\n ]\n },\n \"name\": \"<string>\",\n \"instructions\": \"<string>\",\n \"connection_id\": \"con_XXX\"\n }\n ],\n \"delete\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk")
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 \"create\": [\n {\n \"enabled\": true,\n \"config\": {\n \"input\": {},\n \"definitions\": [\n {\n \"path\": \"<string>\",\n \"definition\": {}\n }\n ]\n },\n \"name\": \"<string>\",\n \"instructions\": \"<string>\",\n \"connection_id\": \"con_XXX\"\n }\n ],\n \"delete\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"enabled": true,
"name": "<string>",
"instructions": "<string>",
"action_id": "TOOLS:HTTP_REQUEST",
"assistant_id": "ast_XXX",
"connection_id": "con_XXX",
"config": {
"input": {},
"definitions": [
{
"path": "<string>",
"definition": {}
}
]
},
"approval_mode": "auto",
"position": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
]Authorizations
Bearer token authentication using your API key
Path Parameters
The ID of the org
The ID of the assistant
Query Parameters
Page number
Number of items to take
Next page token (Only used on special endpoints)
Body
The actions to create and the action IDs to delete.
Response
All assistant actions after the changes.
The ID of the action
Whether the action is enabled
The name of the action
The instructions for the action
The ID of the action, e.g. "TOOLS:HTTP_REQUEST"
"TOOLS:HTTP_REQUEST"
"TOOLS:WEB_SEARCH"
"TOOLS:WEB_SCRAPING"
The ID of the assistant
"ast_XXX"
The ID of the connection to use for the action if required
"con_XXX"
The input values with their dynamic field definitions
Show child attributes
Show child attributes
When the assistant must ask before running the action
auto, ask, never The position of the action within its group. Bucketed in multiples of 100, e.g. 100, 101, 102 for the first group, 200, 201, 202 for the second
Was this page helpful?
curl --request POST \
--url https://api.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"create": [
{
"enabled": true,
"config": {
"input": {},
"definitions": [
{
"path": "<string>",
"definition": {}
}
]
},
"name": "<string>",
"instructions": "<string>",
"connection_id": "con_XXX"
}
],
"delete": [
"<string>"
]
}
'import requests
url = "https://api.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk"
payload = {
"create": [
{
"enabled": True,
"config": {
"input": {},
"definitions": [
{
"path": "<string>",
"definition": {}
}
]
},
"name": "<string>",
"instructions": "<string>",
"connection_id": "con_XXX"
}
],
"delete": ["<string>"]
}
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({
create: [
{
enabled: true,
config: {input: {}, definitions: [{path: '<string>', definition: {}}]},
name: '<string>',
instructions: '<string>',
connection_id: 'con_XXX'
}
],
delete: ['<string>']
})
};
fetch('https://api.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk', 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.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk",
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([
'create' => [
[
'enabled' => true,
'config' => [
'input' => [
],
'definitions' => [
[
'path' => '<string>',
'definition' => [
]
]
]
],
'name' => '<string>',
'instructions' => '<string>',
'connection_id' => 'con_XXX'
]
],
'delete' => [
'<string>'
]
]),
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://api.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk"
payload := strings.NewReader("{\n \"create\": [\n {\n \"enabled\": true,\n \"config\": {\n \"input\": {},\n \"definitions\": [\n {\n \"path\": \"<string>\",\n \"definition\": {}\n }\n ]\n },\n \"name\": \"<string>\",\n \"instructions\": \"<string>\",\n \"connection_id\": \"con_XXX\"\n }\n ],\n \"delete\": [\n \"<string>\"\n ]\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://api.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"create\": [\n {\n \"enabled\": true,\n \"config\": {\n \"input\": {},\n \"definitions\": [\n {\n \"path\": \"<string>\",\n \"definition\": {}\n }\n ]\n },\n \"name\": \"<string>\",\n \"instructions\": \"<string>\",\n \"connection_id\": \"con_XXX\"\n }\n ],\n \"delete\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.useinvent.com/orgs/{org_id}/assistants/{assistant_id}/actions/bulk")
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 \"create\": [\n {\n \"enabled\": true,\n \"config\": {\n \"input\": {},\n \"definitions\": [\n {\n \"path\": \"<string>\",\n \"definition\": {}\n }\n ]\n },\n \"name\": \"<string>\",\n \"instructions\": \"<string>\",\n \"connection_id\": \"con_XXX\"\n }\n ],\n \"delete\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"enabled": true,
"name": "<string>",
"instructions": "<string>",
"action_id": "TOOLS:HTTP_REQUEST",
"assistant_id": "ast_XXX",
"connection_id": "con_XXX",
"config": {
"input": {},
"definitions": [
{
"path": "<string>",
"definition": {}
}
]
},
"approval_mode": "auto",
"position": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
]