There's a new version of the HubSpot API

Starting November 30, 2022, API keys will be sunset as an authentication method. Learn more about this change and how to migrate an API key integration to use a private app instead.

Create a new calendar task

Last updated June 7, 2021

POST /calendar/v1/events/task

Method Details

HTTP Methods:


Content Type:


Response Format:


Requires Authentication?


Rate Limited?






Required Scope:


Create a new task for Calendar. Creating a task of type BLOG_POST, EMAIL, or LANDING_PAGE will create a draft of the respective content and associate it with the task, returning a contentId in the response.

When specifying an owner, use the Owners API to get a list of owner Ids.

Note: Up to 10,000 tasks may be created over a 24 hour period per HubSpot account.

Note: This endpoint is for tasks on the Marketing calendar. For tasks associated with the CRM and CRM objects, please see the Engagements API

Required parameters

Required Parameters How to use Description
OAuth Access Token or API Key Authorization: Bearer {token} header
or hapikey={key} query parameter.
Used to authenticate the request. Please see this page for more details about authentication.

Required JSON Fields in the body

Field name Type Description
name string Name of Task
createdBy long The HubSpot User ID of the user who should be recorded as the creator of the task.
eventDate long When the task is set to be due, in milliseconds since the epoch
category string type of task; one of BLOG_POST, EMAIL, LANDING_PAGE, CUSTOM
Note: if this is set to BLOG_POST, then the contentGroupId field is also required.
state string value of TODO or DONE

Allowed JSON Fields in the body

Field name Type Description
eventType string Type of calendar event; for tasks this is always PUBLISHING_TASK
campaignGuid string value of campaign GUID associated with Task
contentGroupId long The ID of the content group (aka blog) that the associated Blog Post will belong to, if any. Only read for BLOG_POST Tasks. See Blog API to get a list of blogs ids.

Note: this field is REQUIRED if the category is set to BLOG_POST.
topicIds list of longs The list of ids of topics associated with the associated Blog Post, if any. Otherwise null. Only read for BLOG_POST Tasks. See Topics API to get a list of topic ids.
templatePath string (optional) The template to use for emails and landing pages. only read for EMAIL and LANDING_PAGE categories.
description string description of Task
ownerId long HubSpot id of the user that the task is assigned to. See the Owners API to get a list of owner Ids