Plan Tasks & Messaging
Batch create plan tasks for leads
Creates AI plan tasks for multiple leads. Each lead must already be in the Sales Agent working pool. Returns succeeded and failed lead IDs. Max 100 leads per request.
POST
/
v2.0
/
plan-tasks
/
create
Batch create plan tasks for leads
curl --request POST \
--url https://api.lofty.com/v2.0/plan-tasks/create \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"leadIds": [
563172647619608,
563172647619609
]
}
'import requests
url = "https://api.lofty.com/v2.0/plan-tasks/create"
payload = { "leadIds": [563172647619608, 563172647619609] }
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'},
body: JSON.stringify({leadIds: [563172647619608, 563172647619609]})
};
fetch('https://api.lofty.com/v2.0/plan-tasks/create', 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.lofty.com/v2.0/plan-tasks/create",
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([
'leadIds' => [
563172647619608,
563172647619609
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$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.lofty.com/v2.0/plan-tasks/create"
payload := strings.NewReader("{\n \"leadIds\": [\n 563172647619608,\n 563172647619609\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
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.lofty.com/v2.0/plan-tasks/create")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.body("{\n \"leadIds\": [\n 563172647619608,\n 563172647619609\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lofty.com/v2.0/plan-tasks/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
request.body = "{\n \"leadIds\": [\n 563172647619608,\n 563172647619609\n ]\n}"
response = http.request(request)
puts response.read_body{
"code": 0,
"message": "success",
"data": {}
}"<string>""<string>""<string>"Body
application/json
Batch create plan task request
Lead IDs to create plan tasks for (max 100)
Example:
[563172647619608, 563172647619609]
⌘I
Batch create plan tasks for leads
curl --request POST \
--url https://api.lofty.com/v2.0/plan-tasks/create \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"leadIds": [
563172647619608,
563172647619609
]
}
'import requests
url = "https://api.lofty.com/v2.0/plan-tasks/create"
payload = { "leadIds": [563172647619608, 563172647619609] }
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'},
body: JSON.stringify({leadIds: [563172647619608, 563172647619609]})
};
fetch('https://api.lofty.com/v2.0/plan-tasks/create', 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.lofty.com/v2.0/plan-tasks/create",
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([
'leadIds' => [
563172647619608,
563172647619609
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$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.lofty.com/v2.0/plan-tasks/create"
payload := strings.NewReader("{\n \"leadIds\": [\n 563172647619608,\n 563172647619609\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
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.lofty.com/v2.0/plan-tasks/create")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.body("{\n \"leadIds\": [\n 563172647619608,\n 563172647619609\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lofty.com/v2.0/plan-tasks/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
request.body = "{\n \"leadIds\": [\n 563172647619608,\n 563172647619609\n ]\n}"
response = http.request(request)
puts response.read_body{
"code": 0,
"message": "success",
"data": {}
}"<string>""<string>""<string>"