We are in the process of moving from xmlrpc to RESTAPIv2. I’m not seeing in the new API how we can trigger Action Sets.
Some googling and bringing up old forum posts suggests that Action Sets are a legacy feature and will not be included in the new API.
I wanted to get confirmation that this is indeed true as I can’t find anywhere officially talking about this. If there is, please point me to it.
When we login to Keap and go to Settings → Action Sets, there’s no indication that this is a legacy feature that presumably would be going away.
My client has many Action Sets and we utilize them in different ways - adding/removing tags, sending tasks, sending emails, etc. Sometimes there are many steps to one singular Action Set.
I would like to ask for a few clarifications:
Are Actions Sets indeed a legacy feature and will they eventually be removed from the system?
Does the RESTv2 currently support Actions Sets? If not, can this be added?
If support will not be added, what is our alternative?
Keap Action Sets are very powerful and take care of a lot of logic. It would be a shame if we need to redo everything, this would take us a lot of development time. Keep in mind we have been a customer for around 17 years now and have used these old features for a long time.
If you could answer our questions and give us steps on what to do next this would be appreciated.
I completely understand your concern here, especially given how heavily your implementation relies on Action Sets and the amount of business logic they encapsulate.
I’m going to dig into this further internally and follow up with you regarding any future plans for this capability, or similar alternatives moving forward.
Your company had plenty of years to replicate all of the Action Set functionality in the Automation, but have failed to do so.
The Process Action Set (Legacy) item has had the word Legacy for many years and asks people why they still use it. It must be pretty clear that the Automation cannot do everything like “Create Referral Partner”.
The only solution for us is to create an Automation with a Process that replicates the Action Set functionality, or set it to run a specific Action Set.
It seems that without using the ‘New Automation Builder’, an Action Set can be run from within the automation. Is it possible to trigger automations created with the Current Automation Builder using the REST API v2 and run an Action Set that way?
@CG_Dev I would recommend in the short run that you use the workaround that @OmarAlmonte mentioned above to run the action set using an automation sequence and trigger that automation sequence using an API goal.
I would setup a single automation w/ a sequence for each legacy action set you need to trigger.
Refactor your code to trigger the API goal for the sequence mapped to the legacy action set.
Then I would evaluate your action sets. Can you consolidate actions into a single automation sequence, or and really need to recreate every action set?
For example I have one client with a membership area with different levels. They need one sequence to add the user to WordPress, not one for each level.
@CG_Dev, how many Action Sets are you dealing with?
Adding to Marion comment, when you create the API Goals for each Sequence, you can give it an Integration and Call Name. You can make the Call Name match the same as the Action Set ID number, eg: “as_123”.
Then when you migrate your code, you are just replacing the XML-RPC Action Set endpoint with the REST Achieve Goal Endpoint instead. You just supply the Action Set ID to the Call Name.
Just make sure that use the same naming convention.
Alternatively, you could try migrating it all to the Automation Builder if possible, but that will require more work.
I’d like to add some context to this conversation, @CG_Dev
About four or five years ago, I was on-site with a client during the holidays. I had flown down in December for our annual planning and social gathering. While we were sitting around a conference table, our application’s API access was suddenly disabled.
The cause was entirely on our side. We had an API function that triggered legacy Action Sets. At the same time, we performed a very large update that caused an enormous number of Action Sets to fire simultaneously. That flood of requests completely exhausted our available API capacity, and Keap effectively shut off our ability to make API calls.
From Keap’s perspective, it looked like a massive burst of ungated API traffic.
Talk about an embarrassing moment!
Fortunately, we worked directly with the Keap API team and got everything resolved while it was happening.
Since then, we’ve changed our architecture. Rather than triggering Action Sets through the API, we’ve moved almost everything to Goal completions and Tag applications. Those legacy Action Sets are still incredibly valuable in my opinion, and I sincerely hope Keap never removes them from the platform. We’ve simply found a much better pattern that avoids having to invoke them directly through the API.