Skip to main content

Supported products

Use sequences to send a series of targeted, timed email templates to nurture contacts over time. You can use the sequences tool to automatically create tasks to remind you to follow up with your contacts. Contacts can automatically unenroll from a sequence when they reply to an email or book a meeting. With the sequences API, you can:
  • Create a sequence
  • Retrieve a specific sequence
  • Update a sequence
  • Delete a sequence
  • Get a list of sequences
  • Enroll a contact in a sequence
  • Review the enrollment status
For example, use these API endpoints with an external application that maintains a list of contacts, to enroll those contacts in a HubSpot sequence. To use this API, the user must have an assigned Sales Hub or Service Hub Professional or Enterprise seat.

Scope requirements

The following scopes are required to use the Sequences API, based on the endpoints you’re using:
  • automation.sequences.read: grants access to view details about sequences and their associated assets. This scope is required for all endpoints.
  • automation.sequences.enrollments.write: grants access to create, delete, and modify sequence enrollments. This is required for all modification endpoints.

Create a sequence

To create a new sequence, send a POST request to /automation/sequences/2026-09-beta/serviceaccounts/sequences.
Create a new sequence

Retrieve a sequence

To retrieve an existing sequence, send a GET request to /automation/sequences/2026-09-beta/serviceaccounts/sequences/{sequenceId}. For example, if your sequenceId is 555555, make a GET request to /automation/sequences/2026-09-beta/serviceaccounts/sequences/555555. The details of each response are as follows:
Please note:If you’ve enrolled into the Sequences unenrollment configuration beta, when retrieving a specific sequence, the "sellingStrategy": "LEAD_BASED" value may not actually match the sequence. This is expected behavior.
Retrieve a sequence response

Retrieve a list of sequences

To retrieve all sequences in your account, make a GET request to /automation/sequences/2026-09-beta/serviceaccounts/sequences. The response for fetching a list of sequences would resemble the following:
Retrieve a list of sequences response
The details of each response field are outlined in the table below:

Update a sequence

To update an existing sequence, send a PUT request to /automation/sequences/2026-09-beta/serviceaccounts/sequences/{sequenceId}. For example, if your sequenceId is 555555, make a PUT request to /automation/sequences/2026-09-beta/serviceaccounts/sequences/555555.
  • When making a PUT request, you must include all fields for the sequence. Any fields not populated will be updated to default values.
  • When using this endpoint, it’s recommended to make a GET request to /automation/sequences/2026-09-beta/serviceaccounts/sequences/{sequenceId} to retrieve the complete sequence definition first.
Update a sequence

Delete a sequence

To delete a sequence, send a DELETE request to /automation/sequences/2026-09-beta/serviceaccounts/sequences/{sequenceId}. After a sequence is successfully deleted, you’ll receive a 200 OK success code.

Sequence enrollment

Enroll a contact in a sequence

To enroll a contact in a sequence, make a POST request to /automation/sequences/2026-09-beta/enrollments. Use your user ID in your request. Specify the sequenceId, contactId, and senderEmail in the body. The senderEmail must be an email address that’s connected to your HubSpot account. For example, to enroll a contact whose ID is 33333 in a sequence with an ID of 44444444, you’d make a POST request to /automation/sequences/2026-09-beta/enrollments. The body would resemble the following:
The response for enrolling a contact in a sequence would resemble the following:
The details of each response field are outlined in the table below:
Please note:There is a limit of 1000 enrollments per portal inbox per day.

View a contact’s sequence enrollment status

A contact’s enrollment status will indicate if the contact is enrolled in any sequences at the time of the request. To get a contact’s enrollment status, make a GET request to /automation/sequences/2026-09-beta/enrollments/contact/{contactId}. For example, to view the enrollment status of a contact whose contact ID is 33333, make a GET request to /automation/sequences/2026-09-beta/enrollments/contact/33333. The response for viewing a contact’s sequence enrollment status would resemble the following:
The details of each response field are outlined in the table below:

Sequences API fields

When using the Sequence API, you may use the following fields in your requests or receive the following fields in responses:

Settings

Dependencies

Steps

Emails

Tasks

Last modified on August 3, 2026