sequences

Enroll a contact into a sequence template, starting a sequence run.

The template must be ACTIVE and have at least one step; the sequence is instantiated from the template's steps and scheduled exactly like an enrollment made from the app, including task-owner assignment.

A contact already running this template is rejected rather than enrolled twice, and so is a contact (or its company) on an exclusion list.

A contact with an active sequence from a different template is also rejected: stop that sequence first (POST /v1/sequences/{id}/stop) to avoid two sequences messaging the same person at once. Templates the contact only has completed or stopped sequences for do not block enrollment.

Before the sequence starts, the contact's eligibility is checked, email verification included. When that finishes within about 20 seconds the response is 201 with the sequence, or 422 when the contact cannot be enrolled (no email nor LinkedIn URL, excluded, or missing a channel the template needs: no email or LinkedIn URL for its steps, or a bounced email, when the template stops on missing data or has no other channel left). Otherwise the response is 202 with the enrollment run: the contact is enrolled in the background, and GET /v1/sequences?contact_id= shows its sequence once it starts.

Requires the sequences:write scope on the API key.

post/v1/sequences

Request

  • Base URL: https://api.topo.io
  • URL: https://api.topo.io/v1/sequences
  • Auth: HTTP bearer

Request body

contact_idstring uuid required

Contact to enroll.

sequence_template_idstring uuid required

Active template to instantiate the sequence from.

Response

Successful Response

idstring uuid required

Unique identifier.

organization_idstring uuid required

Workspace this sequence belongs to.

contact_idstring uuid nullable required

Contact this sequence is targeting.

sequence_template_idstring uuid required

Template the sequence was instantiated from.

status'ACTIVE' | 'SUCCEEDED' | 'FAILED' | 'COMPLETED' | 'WAITING_FOR_LEAD' | 'WAITING_FOR_USER' | 'STOPPED_EARLY' | 'FOUND' | 'REFUSED' required
variablesobject nullable required

Per-run template variables substituted into outbound messages.

source_contact_list_idstring uuid nullable required

Contact list that triggered this sequence, if any.

last_step_executed_atstring date-time nullable required

When the most recent step ran.

created_atstring date-time required

When the sequence was created.

updated_atstring date-time required

When the sequence last changed.

Changes