Bulk Actions
Bulk actions are used to perform an "action" (send an email, update a lead status, etc.) on a number of leads.
Lead filtering
To initiate bulk actions for a subset of leads you need to provide the structured filtering values that you would normally send to the Advanced Filtering API endpoint such as query
, results_limit
, and sort
fields.
The only difference is that Bulk Actions endpoints require you to rename the query
field to s_query
(shorthand for structured query).
For example, this is the payload that you would send to the Advanced Filtering API endpoint:
{
"query": {
"queries": [
...
],
},
"results_limit": 100,
"sort": [
{
...
}
]
}
and this is the equivalent payload you would send to Bulk Actions endpoints (note the renamed query -> s_query
field):
{
"s_query": {
"queries": [
...
],
},
"results_limit": 100,
"sort": [
{
...
}
]
}
Pausing and resuming
You can pause an in-progress bulk action by sending { 'status': 'paused' }
. You can also resume it afterwards ({ 'status': 'resuming' }
), unless more than 7 days passed since you paused the action.
Receiving an email after you're done
Use "send_done_email": false
if you don't want to get a confirmation email after a bulk action is done.
List bulk emails.
GET /bulk_action/email/
Initiate a new bulk email.
POST /bulk_action/email/
contact_preference
can be set to lead
(only email the primary/first contact email of the lead) or contact
(email the first contact email of each contact of the lead).
Fetch a single bulk email object.
GET /bulk_action/email/{id}/
List bulk sequence subscriptions.
GET /bulk_action/sequence_subscription/
Initiate a new bulk sequence subscription.
POST /bulk_action/sequence_subscription/
action_type
must be one of:
subscribe
to create a new sequence subscription for contacts that have never received the given sequence.resume
to resume any paused sequence subscriptions for the given sequence or all sequences ifsequence_id
is not provided.resume_finished
to resume any finished sequence subscriptions for the given sequence or all sequences ifsequence_id
is not provided.pause
to pause any active sequence subscriptions for the given sequence or all sequences ifsequence_id
is not provided.
sequence_id
, sender_account_id
, sender_name
, sender_email
and contact_preference
are required if action_type
is subscribe
.
contact_preference
can be set to:
lead
to only subscribe the primary/first contact email of the lead.contact
to subscribe the primary email of each contact of the lead.
Fetch a single bulk sequence subscription object.
GET /bulk_action/sequence_subscription/{id}/
List bulk deletes.
GET /bulk_action/delete/
Initiate a new bulk delete.
POST /bulk_action/delete/
Use "send_done_email": false
if you don't want to get a confirmation email after the bulk action is done.
Fetch a single bulk delete object.
GET /bulk_action/delete/{id}/
List bulk edits.
GET /bulk_action/edit/
Initiate a new bulk edit.
POST /bulk_action/edit/
Pass additional parameters depending on which type
is passed:
set_lead_status
will set the Lead Status on all leads. It expects:lead_status_id
- ID of the Lead Status to use.clear_custom_field
will clear/remove/unset a specific custom field from all leads. It expects:custom_field_id
orcustom_field_name
- ID or exact name of the custom field to remove.set_custom_field
will set/update/add a specific custom field on all leads. It expects:custom_field_id
orcustom_field_name
- ID or exact name of the custom field to set/update.custom_field_value
- New value. Usecustom_field_values
to pass multiple values to custom fields that support it.custom_field_operation
-replace
,add
, orremove
(defaults toreplace
). Only applicable for custom fields that accept multiple values.
Use "send_done_email": false
if you don't want to get a confirmation email after the bulk action is done.
Fetch a single bulk edit object.
GET /bulk_action/edit/{id}/