Email and SMS campaigns tools

list_email_campaigns

Lists every email campaign in a project. Email campaigns send one-time or event-triggered emails to customers who match a filter. The response gives you the name, status (draft, active, or inactive), tags, archived flag, and whether the campaign is paused. Schedule, customer filter, email design, and A/B split configuration are not included here — use get_email_campaign for those.

Request parameters

NameTypeRequired?Description
project_idstrYesThe project ID returned by list_projects.

Response parameters

The tool returns an EmailCampaignsResponse object with the following parameters:

ParameterTypeDescription
successboolWhether the request succeeded.
datalist[EmailCampaignSummary]The email campaigns defined in the project.
errorstr | nullError message if the request failed.

The EmailCampaignSummary object has the following fields:

FieldTypeDescription
idstrThe email campaign's unique ID.
namestrThe campaign's display name.
statusstrOne of draft, active, or inactive.
is_pausedboolWhether the campaign is paused.
archivedboolWhether the campaign has been archived.
tagslist[str]User-defined tags.
company_idstrThe project ID this campaign belongs to.
scenario_idstr | nullThe ID of the underlying system scenario.
createdany | nullUnix timestamp of when the campaign was created.
created_by_display_namestrDisplay name of the creator.
editedfloat | nullUnix timestamp of the last edit.
edited_by_display_namestrDisplay name of the last editor.
initiative_idstr | nullThe initiative this campaign belongs to, if any.
is_global_objectboolWhether the campaign is a global, shared object.
lockedboolWhether the campaign is locked by access groups.
locked_for_current_userboolWhether the current user is locked out of editing.

get_email_campaign

Returns the full definition of a single email campaign, including the schedule, customer filter, A/B split with all variants, silent hours, consent settings, frequency policy, recipient configuration, and throughput policy.

To avoid large response sizes, the beefree_template and jinja_html fields are stripped from each variant's design. The other design fields (subject, sender, preheader, provider, and so on) are still returned.

Request parameters

NameTypeRequired?Description
project_idstrYesThe project ID returned by list_projects.
email_campaign_idstrYesThe email campaign ID returned by list_email_campaigns.

Response parameters

The tool returns an EmailCampaignResponse object with the following parameters:

ParameterTypeDescription
successboolWhether the request succeeded.
dataEmailCampaign | nullThe full email campaign record.
errorstr | nullError message if the request failed.

The EmailCampaign object adds the following fields on top of the summary record:

FieldTypeDescription
scheduleany | nullThe trigger and schedule. type='now' sends immediately; type='datetime' sends at a fixed time; type='event' triggers on a customer event; type='optimal_time' uses an ML-predicted optimal send time.
customer_filterany | nullThe conditions that decide which customers receive the campaign.
splitany | nullThe A/B test configuration. type='off' means a single variant; other values are manual, auto-winner, and contextual (bandits). Each variant contains an email design.
designany | nullThe email design of the first variant. For multi-variant campaigns, use split.variants[0].design. The beefree_template and jinja_html fields are stripped.
silent_hoursany | nullThe silent hours configuration. Sends that fall inside quiet hours are delayed.
consent_categorystr | nullThe GDPR consent category required to send to a customer.
consent_category_trackingstr | nullThe consent category for tracking pixels and click events.
general_consentboolWhether the campaign uses the general consent category.
frequency_policystr | nullThe ID of the frequency policy applied to this campaign.
recipient_namestr | nullThe recipient name template. May use Jinja2.
recipient_emailstr | nullThe recipient email address template. May use Jinja2.
communication_typestr | nullThe communication type code used for consent and compliance routing.
throughput_policyany | nullThe rate-limiting policy for this campaign.

list_sms_campaigns

Lists every SMS and MMS campaign in a project. The response gives you the name, status, tags, archived flag, schedule, customer filter, and A/B split. The message content itself (the action field, with variants and translations) is not included here — use get_sms_campaign for that.

Request parameters

NameTypeRequired?Description
project_idstrYesThe project ID returned by list_projects.

Response parameters

The tool returns a SmsCampaignsResponse object with the following parameters:

ParameterTypeDescription
successboolWhether the request succeeded.
datalist[SmsCampaignSummary]The SMS campaigns defined in the project.
errorstr | nullError message if the request failed.

The SmsCampaignSummary object has the following fields:

FieldTypeDescription
idstrThe SMS campaign's unique ID.
namestrThe campaign's display name.
statusstrOne of draft, active, or inactive.
is_pausedboolWhether the campaign is paused.
archivedboolWhether the campaign has been archived.
tagslist[str]User-defined tags.
company_idstrThe project ID this campaign belongs to.
scenario_idstr | nullThe ID of the underlying system scenario.
createdany | nullUnix timestamp of when the campaign was created.
created_by_display_namestrDisplay name of the creator.
editedfloat | nullUnix timestamp of the last edit.
edited_by_display_namestrDisplay name of the last editor.
initiative_idstr | nullThe initiative this campaign belongs to, if any.
is_global_objectboolWhether the campaign is a global, shared object.
scheduleany | nullThe trigger and schedule. type is now, event, datetime, or optimal_time.
customer_filterany | nullThe conditions that decide which customers receive the campaign.
splitany | nullThe A/B split configuration.
silent_hoursany | nullThe silent hours configuration.

get_sms_campaign

Returns the full definition of a single SMS or MMS campaign, including the action field with all message variants and their translations.

Request parameters

NameTypeRequired?Description
project_idstrYesThe project ID returned by list_projects.
sms_campaign_idstrYesThe SMS campaign ID returned by list_sms_campaigns.

Response parameters

The tool returns an SmsCampaignResponse object with the following parameters:

ParameterTypeDescription
successboolWhether the request succeeded.
dataSmsCampaign | nullThe full SMS campaign record.
errorstr | nullError message if the request failed.

The SmsCampaign object adds the following fields on top of the summary record:

FieldTypeDescription
actionany | nullThe message definition. Contains the variants list (each with type of sms or mms, translations keyed by language code, and sender configuration), frequency_policy, consent_category, consent_category_tracking, general_consent, transfer_user_identity, url_params, and custom_event_properties.
lockedboolWhether the campaign is locked by access groups.
locked_for_current_userboolWhether the current user is locked out of editing.
throughput_policyany | nullThe rate-limiting policy for this campaign.


© Bloomreach, Inc. All rights reserved.