By the end of this guide, you'll have a fully working subscription payment form connected to Stripe, automated email notifications for both you and your customers, advanced logic that triggers status update emails, and an admin dashboard with a table and kanban view to track every purchase — all without writing a single line of code.
What you'll build
A subscription payment form that collects customer details, charges them via Stripe, and automatically routes them into the right workflow based on their purchase type. You'll also have an admin project with two pages: one that separates first-time purchases from renewals, and one that shows all subscriptions grouped by status in a kanban view.
When to use this
You sell a recurring service or membership and want to accept payments directly through a form
You're managing subscriptions manually and losing track of who's active, pending, or cancelled
You want customers to receive an instant confirmation email the moment they subscribe
You need your team to be notified automatically when a new purchase comes in
You want a live view of subscription statuses without exporting data or checking Stripe separately
Step-by-step
Part 1: create the subscription form
This part gets your form live and connected to Stripe. By the end, every new submission will land in your project in a pending state, ready to be reviewed or activated.
1. Create a new project From your Formaloo homepage, click Magic Create and enter a prompt describing your subscription form. Formaloo will generate a starting form for you. Alternatively, start a new project using the Form option to get a blank form with one form pre-attached.
2. Open the Membership Plan field settings Inside the form editor, find the Membership Plan field (or the product field you want to attach a subscription to). Click on the field to open its settings panel on the right side.
3. Enable Stripe Subscription In the field settings, toggle on Stripe Subscription. Paste your Stripe Subscription Price ID into the field provided. You can find this in your Stripe dashboard under Products. If you haven't connected Stripe to your account yet, see How to connect Stripe to Formaloo first.
💡 Make sure you're using a recurring price ID from Stripe, not a one-time payment price ID. They look similar but behave differently.
4. Set minimum and maximum amounts Scroll down in the same field settings panel to set the minimum and maximum payment amounts. This controls the range your customers can select or enter.
5. Save and add product images Press Save. Optionally, add images to your product field to make it more visually appealing for customers browsing your plans.
6. Set the default subscription status to pending Go to the Subscription settings for the field, scroll down, and set the default answer to Pending. This ensures that every new submission enters your workflow in a pending state before you activate it manually or via advanced logic. To learn more about how logic and calculations work in Formaloo, see How to use logic and calculation basics in Formaloo.
Part 2: create email templates
You'll build three templates here: a confirmation for your customer, an alert for yourself, and a status update email that fires automatically when you change a subscription. These templates use dynamic variables so every email feels personal without any manual work.
7. Open Apps & integrations Click the profile icon in the top right corner of Formaloo. Select Apps & integrations from the dropdown.
8. Navigate to custom email templates Click on Custom email templates, then click Add new template.
9. Create the first template: confirm to user on submit In the email template editor, enter the body on the left side and fill in the template name, email subject, sender name, and reply-to email address on the right side.
Use the following content:
Template name: On Submit — Confirm to user
Subject: Your subscription is being processed
Body:
Hi @full_name, Thank you for your @purchase_type of @membership_plan! We've received your request and your subscription is currently being set up. You'll hear from us once everything is active. Order details: - Plan: @membership_plan - Price ID: @price_id - Type: @purchase_type If you have any questions, just reply to this email. Welcome aboard!
📖 For a full list of supported variables like @full_name and @membership_plan, see How to dynamically pull form data into custom emails, PDFs, and AI prompts.
10. Create the second template: notify admin on submit
Template name: On Submit — Notify admin
Subject: New subscription submission — @full_name
Body:
A new subscription form was just submitted. Here are the details: - Name: @full_name - Email: @email - Type: @purchase_type - Plan: @membership_plan - Price ID: @price_id - Status: @subscription_status Head to the dashboard to review and activate this subscription.
11. Create the third template: notify user on status change
Template name: On Update — Notify user of status change
Subject: Your subscription status has been updated
Body:
Hi @full_name, We wanted to let you know that your subscription status has been updated to: @subscription_status Subscription details: - Plan: @membership_plan - Price ID: @price_id If you have any questions or didn't expect this change, please reach out and we'll sort it out right away. Thanks, The Team
📖 For a full walkthrough of building custom email templates, see How to create and send custom email templates.
Part 3: set up notifications and advanced logic
This part covers all the automated communication in one go — emails that fire on submission and emails that fire when a status changes. Wire these up before you publish and your form handles every notification from day one. For a deeper look at how conditional notifications work, see How to send and receive conditional email notifications.
12. Open the Notify tab in the form editor Go back to your form editor. In the right-side settings panel, click the Notify tab.
13. Enable admin notification Click Receiving mail notification, toggle it on, and enter your email address. Under Email template, select On Submit — Notify admin. Now every new form submission will notify you instantly.
14. Enable user confirmation email Click Send email to responses, toggle it on, and select On Submit — Confirm to user as the email template. This sends an automatic confirmation to your customer the moment they submit the form.
15. Publish the form Click Publish to make your form live.
16. Open advanced logic From the form editor, open the form settings panel on the right side and click Advanced logic.
17. Switch to the On update tab In the advanced logic panel, click On update from the top bar.
18. Add a rule for "active" status Click Add rule. Set the condition to: Subscription status is changed to Active. Set the action to Send email, select the On Update — Notify user of status change template, and set the To field to the respondent's email address field.
19. Repeat for other status values Click Add condition and repeat step 18 for any other statuses you use (for example: Cancelled, Paused, Expired). Each rule should trigger the same email template — the @subscription_status variable will dynamically insert the correct status in each email.
Part 4: build the admin tracking pages
Your form is now live and automated. This last part gives your team a proper operations view — no more digging through raw form submissions to understand what's active or what needs attention.
20. Go back to the project page Exit the form editor and return to your project's main page.
21. Create a new page called "Purchase plan" Click New page and rename it to Purchase plan.
22. Add a table for first-time purchases Click Add block and select Table. Choose your subscription form as the data source. Click Filter, select Purchase type, and filter by First time purchase. This table shows only new subscribers.
23. Add a second table for renewals Add another Table block on the same page. Use the same data source. This time, filter by Purchase type: Renewal. Now you have both purchase types separated on one page.
24. Create a second page called "Subscription status" Click New page and rename it to Subscription status.
25. Add a kanban view grouped by subscription status Click Add block and select Kanban. Choose your subscription form as the data source. Set Group by to Subscription status. You can now see all purchases organized into columns by status — Pending, Active, Cancelled, and any others you use.
Final result
You now have a complete subscription management system built entirely in Formaloo. Your form accepts Stripe subscription payments, routes every submission into a pending state, and automatically sends a confirmation to the customer and a notification to your inbox. When you update a subscription's status, the customer gets an email immediately. Your admin project gives you a split table view by purchase type and a kanban board so your team always knows what's active, what's pending, and what needs attention.
What to build next
Now that your base form and project are ready, here are three ways to take it further:
Turn it into a client portal so your subscribers can log in and track the status of their own subscription. See How to create a portal and manage user access.
Add CC Formaloo to your workflow so when a customer replies to your emails, their responses are automatically collected back into your project. See How to use CC Formaloo to collect data from email threads.
Launch an email campaign to your subscriber list — use the emails you've collected to send promotions, renewal reminders, or announcements. See How to send a campaign in Formaloo.
Ready to build this?
🚀 Use this template Start in minutes with a pre-built version of this workflow.
💬 Get help from our concierge team Our team will help you set this up for your specific use case.
📅 Book a demo for Team/Enterprise setup See how teams use Formaloo at scale with advanced permissions and integrations.
