Scheduling campaigns through the APIs with an existing message ID and custom HTML/RSS template

Hi Everyone,

I am reaching out to the ActiveCampaign developer community to see if anyone may be able to share some insights on how best to scheduling campaigns through the APIs with an RSS template.

One of the features we love about ActiveCampaign is the RSS feature. Our web CMS system can output any section as RSS and as such we have been able to build dynamic content-lead emails very easily without custom development.
Up until this point we have been running the RSS-based emails via an automation. This has worked reasonably well but the reporting is limited and there is not enough control about when we actually send the emails. As we plan to transition over other more complex email workflows, we are looking to progress an API solution.

Sending emails through the APIs appears to be a two phased process.

  1. Create a message through APIs - API Examples Using message_add
  2. Schedule and send a campaign using the message you have created in step 1 API Examples Using campaign_create

The options available to us when creating a message are as follows.

a) Provide the literal HTML for the message
b) Provide a URL from which ActiveCampaign can retrieve the HTML to use and send it.

The APIs reference a third but seemingly unsupported option

c) message_upload_htm , an ID of an uploaded message

We have defined custom HTML templates that use the ActiveCampaign RSS syntax to inject our RSS content into emails. ActiveCampaign reads in our RSS feeds in real-time and sends out the real-time snapshot of this content at each email send. So far so good…

We can use these RSS templates either through manual campaigns, or through automations, I would like however to replicate this in an API solution so that we can control the send time.

We don’t want to build a whole email templating engine in our web cms as this would be very complex. We also don’t want to build a lot of functionality that is already available inside ActiveCampaign as this represents a massive duplication of effort. The HTML required for HTML emails is very specific (inline HTML, tables) and so, where possible, we want ActiveCampaign to host and manage the template as ActiveCampaign has all the relevant tools to build, preview, maintain and test the output etc. We want our web cms to output the content in RSS and ActiveCampaign to handle the email template/styles. We want however to control the send time via an API call. The options however for creating a message through the APIs appears to be limited to literal HTML, or a URL.

One thing has worked for me is to provide the campaign_create API with a message ID of a campaign that has already been manually sent from the system. Using a custom HTML template, that references our RSS feeds, I manually sent a campaign and took note of the message ID before it was sent. I have found that I can send this message ID into the campaign_create call and it works brilliantly. ActiveCampaign appear to read-in the RSS in real-time and the content that is sent reflects the live content on our website. I would however like to sanity check how robust this approach is as it is not documented as a formalised method?

The workflow that is working for me (but I would someone else to sanity check)

  1. Create a custom HTML template that references one or more RSS feeds from our site and host on ActiveCampaign.
  2. Create and send a manual campaign with this template and note the message ID before the campaign is sent.
  3. Use this message id in the campaign_create call.
  4. ActiveCampaign parses the RSS syntax and presents the content that is live on our site at the time we make the API call.

This all works perfectly for us but I wonder if anyone has had similar experiences trying to do a hybrid of ActiveCampaign hosting the template and doing the parsing/heavy lifting on the RSS but using the API to control the actual send time?

Thanks,

Claire

Hi Claire,

not sure if you’ve find a solution for this. But we’d like to do something similar for our client. Do you happen to have any learning experiences to share on this set up?