curl --request POST \
--url https://api.hubapi.com/crm/task-series/2026-09 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"properties": {},
"series": {
"repeatInterval": "RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR",
"repeatStatus": "<string>",
"startsAt": "2023-11-07T05:31:56Z"
},
"taskId": 123
}
'import requests
url = "https://api.hubapi.com/crm/task-series/2026-09"
payload = {
"properties": {},
"series": {
"repeatInterval": "RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR",
"repeatStatus": "<string>",
"startsAt": "2023-11-07T05:31:56Z"
},
"taskId": 123
}
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({
properties: {},
series: {
repeatInterval: 'RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR',
repeatStatus: '<string>',
startsAt: '2023-11-07T05:31:56Z'
},
taskId: 123
})
};
fetch('https://api.hubapi.com/crm/task-series/2026-09', 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.hubapi.com/crm/task-series/2026-09",
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([
'properties' => [
],
'series' => [
'repeatInterval' => 'RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR',
'repeatStatus' => '<string>',
'startsAt' => '2023-11-07T05:31:56Z'
],
'taskId' => 123
]),
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.hubapi.com/crm/task-series/2026-09"
payload := strings.NewReader("{\n \"properties\": {},\n \"series\": {\n \"repeatInterval\": \"RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR\",\n \"repeatStatus\": \"<string>\",\n \"startsAt\": \"2023-11-07T05:31:56Z\"\n },\n \"taskId\": 123\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.hubapi.com/crm/task-series/2026-09")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"properties\": {},\n \"series\": {\n \"repeatInterval\": \"RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR\",\n \"repeatStatus\": \"<string>\",\n \"startsAt\": \"2023-11-07T05:31:56Z\"\n },\n \"taskId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/task-series/2026-09")
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 \"properties\": {},\n \"series\": {\n \"repeatInterval\": \"RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR\",\n \"repeatStatus\": \"<string>\",\n \"startsAt\": \"2023-11-07T05:31:56Z\"\n },\n \"taskId\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"properties": {},
"series": {
"repeatInterval": "RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR",
"repeatStatus": "<string>",
"startsAt": "2023-11-07T05:31:56Z"
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Create a recurring task
Créez une nouvelle série de tâches dans le CRM HubSpot. Ce point de terminaison vous permet de démarrer une série de tâches en fournissant les propriétés et les détails de la série nécessaires. Il est utile pour automatiser les séquences de tâches répétitives au sein de vos workflows CRM.
curl --request POST \
--url https://api.hubapi.com/crm/task-series/2026-09 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"properties": {},
"series": {
"repeatInterval": "RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR",
"repeatStatus": "<string>",
"startsAt": "2023-11-07T05:31:56Z"
},
"taskId": 123
}
'import requests
url = "https://api.hubapi.com/crm/task-series/2026-09"
payload = {
"properties": {},
"series": {
"repeatInterval": "RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR",
"repeatStatus": "<string>",
"startsAt": "2023-11-07T05:31:56Z"
},
"taskId": 123
}
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({
properties: {},
series: {
repeatInterval: 'RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR',
repeatStatus: '<string>',
startsAt: '2023-11-07T05:31:56Z'
},
taskId: 123
})
};
fetch('https://api.hubapi.com/crm/task-series/2026-09', 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.hubapi.com/crm/task-series/2026-09",
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([
'properties' => [
],
'series' => [
'repeatInterval' => 'RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR',
'repeatStatus' => '<string>',
'startsAt' => '2023-11-07T05:31:56Z'
],
'taskId' => 123
]),
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.hubapi.com/crm/task-series/2026-09"
payload := strings.NewReader("{\n \"properties\": {},\n \"series\": {\n \"repeatInterval\": \"RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR\",\n \"repeatStatus\": \"<string>\",\n \"startsAt\": \"2023-11-07T05:31:56Z\"\n },\n \"taskId\": 123\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.hubapi.com/crm/task-series/2026-09")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"properties\": {},\n \"series\": {\n \"repeatInterval\": \"RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR\",\n \"repeatStatus\": \"<string>\",\n \"startsAt\": \"2023-11-07T05:31:56Z\"\n },\n \"taskId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/task-series/2026-09")
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 \"properties\": {},\n \"series\": {\n \"repeatInterval\": \"RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR\",\n \"repeatStatus\": \"<string>\",\n \"startsAt\": \"2023-11-07T05:31:56Z\"\n },\n \"taskId\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"properties": {},
"series": {
"repeatInterval": "RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR",
"repeatStatus": "<string>",
"startsAt": "2023-11-07T05:31:56Z"
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Supported products
Supported products
Required Scopes
Required Scopes
Autorisations
The access token received from the authorization server in the OAuth 2.0 flow.
Corps
Une carte des noms de propriétés supplémentaires et de leurs valeurs, représentée sous la forme d'un objet chaîne-chaîne.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
L'identifiant unique de la tâche, représenté sous forme d'entier au format int64.
Réponse
successful operation
L'identifiant unique de la série de tâches, représenté sous forme de chaîne de caractères.
Une carte des noms de propriétés personnalisées et de leurs valeurs, où chaque valeur est une chaîne de caractères.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
La date et l'heure de création de la série de tâches, au format ISO 8601.
La date et l'heure de la dernière mise à jour de la série de tâches, au format ISO 8601.