Spotlight: Multi-Platform Subscription Flows with API Alchemist
Jeff put aside a working middleware solution in favor of keeping his workflow magic in-house, all while saving money and not writing a single line of code.
Spotlight Function
Cross-platform
subscription cancellation
Spells Used
Automation tools make it possible for small teams to build and run their own complex systems without writing much (if any) code. If that automation tool is open source, the deal gets even sweeter.
To illustrate, here’s the story of how Jeff Lenning, founder of Excel University, brought his subscription workflows in-house by connecting his WordPress-based LMS directly to Recurly, his subscription manager of choice. What once relied on custom middleware and extra data transfers now runs entirely inside WordPress using Gravity Forms, API Alchemist, and GP Populate Anything.
The problem with middleware
The custom middleware Jeff used was excellent. Not only did its developer help him set up his current subscription flow, the system itself worked and still works awesome. So… why switch alchemists?
Simple: Jeff didn’t have access to the middleware’s codebase. It’s locked away in an external server.
So, even though it did the job well, Jeff wasn’t comfortable that he couldn’t make changes, manage possible bugs, or update it for new dependencies. In contrast, his new solution does the job and lives on his site, giving him full ownership and control over what was previously inaccessible: the codebase.
So, having this functionality right inside of wordpress/GF [Gravity Forms] was a major victory. It is something I can manage now, and alleviates the need for the middleware and related hosting costs.
This is the magic of open source, where you own the code to your software and can use it forever. Jeff now enjoys more flexibility by hosting the code on his own server in a format that is manageable, plus he can do whatever he needs to make sure it’s always operational to his needs, independent of what may happen with the devs (us!).
From middleware to “meldingware“
Since his middleware solution is still working well, Jeff is taking this transition one step at a time. His first test subject is his subscription cancellation flow, which starts with users clicking a link in their LMS account settings that redirects them to this page where a sneaky form lives.

Can’t find it? I couldn’t on my first try either, but that “Continue” button over there is actually its Submit button. 🤭
Let’s take it from the top:
Once a logged in student clicks on the “Cancel Subscription” link on their profile, they are taken to the page I showed above, taking some important query parameters with them.
?username=excelwizard&userid=123If they choose to continue with their cancellation, they are smoothly transitioned from their LMS account (WordPress) to where they manage their subscription (Recurly, an external service).
To make that transition possible, Jeff needs to retrieve and filter a few key data points from Recurly, and then use them to redirect users to Recurly after the form is submitted. API Alchemist acts as the bridge, allowing him to make API requests directly from WordPress to pull that data.
Being able to filter and use the requested data in the form is made possible by the integration between API Alchemist and Populate Anything, which Jeff used to create an API Alchemist Populate Anything endpoint. This endpoint fetches account data from Recurly’s API and populates it into the form fields.
Speaking of the form fields, let’s take a look at the parts they are playing:
- The
useridandusernamefields are populated with WordPress user data via query parameters. - The
username_recurlyandhosted loginfields are populated with Recurly data via API Alchemist Populate Anything endpoint. Theuseridfield is used to filter which account to retrieve from Recurly. - The
username_matchcalculation field uses GP Advanced Calculations to compare theusernameandusername_recurlyfields, checking for tampering. It returns a 1 if they match or a 0 if they don’t.

This flow informs a conditional confirmation:
If the usernames don’t match, the form displays an error. If they do match, the user is redirected to Recurly using their hosted login where they can continue the cancellation process. Tada!

With this form in place, students are teletransported from one platform to another seamlessly, integrating Excel University’s main service platform to its external subscription manager like magic.
Excelling at autonomy
Jeff has got it all in his hands now. He made his LMS and Recurly talk to each other directly with tools he can manage, adjust, and troubleshoot. API Alchemist lets him pull the exact subscription data he needs from Recurly, validate it, and safely send users where they need to go.
This subscription cancel workflow is the first of several that I can update now that we have the ability to use an API to query an external system right inside GF. It is huge and makes GF even more powerful.
Thank you, Jeff, for sharing your solution with us! ⚗️
Do you have any questions about Jeff’s build? Drop them in the comments.
