curl --request POST \
--url https://client-api.salesfinity.co/v2/sequencer/tasks/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"user_id": "507f1f77bcf86cd799439011",
"due_at": "2023-11-07T05:31:56Z",
"contacts": [
"<string>"
],
"priority": "medium",
"assignee_id": "<string>",
"subject": "<string>",
"note": "<string>"
}
'import requests
url = "https://client-api.salesfinity.co/v2/sequencer/tasks/bulk"
payload = {
"user_id": "507f1f77bcf86cd799439011",
"due_at": "2023-11-07T05:31:56Z",
"contacts": ["<string>"],
"priority": "medium",
"assignee_id": "<string>",
"subject": "<string>",
"note": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
user_id: '507f1f77bcf86cd799439011',
due_at: '2023-11-07T05:31:56Z',
contacts: ['<string>'],
priority: 'medium',
assignee_id: '<string>',
subject: '<string>',
note: '<string>'
})
};
fetch('https://client-api.salesfinity.co/v2/sequencer/tasks/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://client-api.salesfinity.co/v2/sequencer/tasks/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([
'user_id' => '507f1f77bcf86cd799439011',
'due_at' => '2023-11-07T05:31:56Z',
'contacts' => [
'<string>'
],
'priority' => 'medium',
'assignee_id' => '<string>',
'subject' => '<string>',
'note' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://client-api.salesfinity.co/v2/sequencer/tasks/bulk"
payload := strings.NewReader("{\n \"user_id\": \"507f1f77bcf86cd799439011\",\n \"due_at\": \"2023-11-07T05:31:56Z\",\n \"contacts\": [\n \"<string>\"\n ],\n \"priority\": \"medium\",\n \"assignee_id\": \"<string>\",\n \"subject\": \"<string>\",\n \"note\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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://client-api.salesfinity.co/v2/sequencer/tasks/bulk")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"user_id\": \"507f1f77bcf86cd799439011\",\n \"due_at\": \"2023-11-07T05:31:56Z\",\n \"contacts\": [\n \"<string>\"\n ],\n \"priority\": \"medium\",\n \"assignee_id\": \"<string>\",\n \"subject\": \"<string>\",\n \"note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://client-api.salesfinity.co/v2/sequencer/tasks/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"user_id\": \"507f1f77bcf86cd799439011\",\n \"due_at\": \"2023-11-07T05:31:56Z\",\n \"contacts\": [\n \"<string>\"\n ],\n \"priority\": \"medium\",\n \"assignee_id\": \"<string>\",\n \"subject\": \"<string>\",\n \"note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{}{
"message": [
"limit must not be greater than 100"
],
"error": "Bad Request",
"statusCode": 400
}{
"message": "Forbidden resource",
"error": "Forbidden",
"statusCode": 403
}{
"message": "Too many requests",
"error": "Too Many Requests",
"statusCode": 429
}{
"message": "Internal server error",
"error": "Internal Server Error",
"statusCode": 500
}Create one-off tasks in bulk
One task per contact, at most 500.
curl --request POST \
--url https://client-api.salesfinity.co/v2/sequencer/tasks/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"user_id": "507f1f77bcf86cd799439011",
"due_at": "2023-11-07T05:31:56Z",
"contacts": [
"<string>"
],
"priority": "medium",
"assignee_id": "<string>",
"subject": "<string>",
"note": "<string>"
}
'import requests
url = "https://client-api.salesfinity.co/v2/sequencer/tasks/bulk"
payload = {
"user_id": "507f1f77bcf86cd799439011",
"due_at": "2023-11-07T05:31:56Z",
"contacts": ["<string>"],
"priority": "medium",
"assignee_id": "<string>",
"subject": "<string>",
"note": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
user_id: '507f1f77bcf86cd799439011',
due_at: '2023-11-07T05:31:56Z',
contacts: ['<string>'],
priority: 'medium',
assignee_id: '<string>',
subject: '<string>',
note: '<string>'
})
};
fetch('https://client-api.salesfinity.co/v2/sequencer/tasks/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://client-api.salesfinity.co/v2/sequencer/tasks/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([
'user_id' => '507f1f77bcf86cd799439011',
'due_at' => '2023-11-07T05:31:56Z',
'contacts' => [
'<string>'
],
'priority' => 'medium',
'assignee_id' => '<string>',
'subject' => '<string>',
'note' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://client-api.salesfinity.co/v2/sequencer/tasks/bulk"
payload := strings.NewReader("{\n \"user_id\": \"507f1f77bcf86cd799439011\",\n \"due_at\": \"2023-11-07T05:31:56Z\",\n \"contacts\": [\n \"<string>\"\n ],\n \"priority\": \"medium\",\n \"assignee_id\": \"<string>\",\n \"subject\": \"<string>\",\n \"note\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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://client-api.salesfinity.co/v2/sequencer/tasks/bulk")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"user_id\": \"507f1f77bcf86cd799439011\",\n \"due_at\": \"2023-11-07T05:31:56Z\",\n \"contacts\": [\n \"<string>\"\n ],\n \"priority\": \"medium\",\n \"assignee_id\": \"<string>\",\n \"subject\": \"<string>\",\n \"note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://client-api.salesfinity.co/v2/sequencer/tasks/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"user_id\": \"507f1f77bcf86cd799439011\",\n \"due_at\": \"2023-11-07T05:31:56Z\",\n \"contacts\": [\n \"<string>\"\n ],\n \"priority\": \"medium\",\n \"assignee_id\": \"<string>\",\n \"subject\": \"<string>\",\n \"note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{}{
"message": [
"limit must not be greater than 100"
],
"error": "Bad Request",
"statusCode": 400
}{
"message": "Forbidden resource",
"error": "Forbidden",
"statusCode": 403
}{
"message": "Too many requests",
"error": "Too Many Requests",
"statusCode": 429
}{
"message": "Internal server error",
"error": "Internal Server Error",
"statusCode": 500
}Authorizations
Team-scoped API key generated in the Salesfinity dashboard under Settings -> Connections & API. A missing or invalid key returns HTTP 403.
Body
The team member this call acts as. Must be an active member of the team the API key belongs to.
"507f1f77bcf86cd799439011"
call, manual_email, generic, linkedin_connect, linkedin_message, linkedin_view, linkedin_interact, meeting, sms ISO 8601, and must be in the future. Values more than 365 days out are rejected, and so is a value already in the past — with a few minutes of slack, so a client computing "now" is not caught out by its own request latency.
One task per contact. At most 500.
high, medium, low Assignee. Defaults to user_id.
Response
Success.
The outcome of an action. Shape varies by endpoint — for example enable returns the sequence and how many enrollments it activated, and a bulk verb returns how many rows it moved.