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:
subscribeto create a new sequence subscription for contacts that have never received the given sequence.resumeto resume any paused sequence subscriptions for the given sequence or all sequences ifsequence_idis not provided.resume_finishedto resume any finished sequence subscriptions for the given sequence or all sequences ifsequence_idis not provided.pauseto pause any active sequence subscriptions for the given sequence or all sequences ifsequence_idis 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:
leadto only subscribe the primary/first contact email of the lead.contactto 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_statuswill set the Lead Status on all leads. It expects:lead_status_id- ID of the Lead Status to use.clear_custom_fieldwill clear/remove/unset a specific custom field from all leads. It expects:custom_field_idorcustom_field_name- ID or exact name of the custom field to remove.set_custom_fieldwill set/update/add a specific custom field on all leads. It expects:custom_field_idorcustom_field_name- ID or exact name of the custom field to set/update.custom_field_value- New value. Usecustom_field_valuesto 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}/