Most alumni offices track members in a spreadsheet, chase dues over email, and have no idea whose membership lapsed last month. This guide walks you through building a complete membership portal in Formaloo: one application form with tier-based payments, an admin verification queue, a searchable alumni directory, automatic welcome emails with a digital alumni card, and a renewal workflow that runs itself.
What you'll build: A membership application form with three tiers (Recent grad, Annual, Lifetime) where the payment question only appears for paid tiers, an alumni office pipeline for verifying graduation records, automated emails at every stage, a digital alumni card PDF, and a role-based portal with a searchable directory, tier-gated member perks, and a renewal page.
When to use this
You run a paid membership program and track who's on which tier in a spreadsheet
Dues lapse silently because nobody notices an expiry date until months later
Alumni keep emailing to ask "am I still a member?" or "how do I find classmates?"
You verify graduation records manually and need a clean queue for pending applications
You want paid tiers to unlock more — career services, mentorship — without managing access by hand
Part 1 — Build the membership application form
Everything starts here. One form collects the graduate's details, powers the alumni directory, and gates the payment question by tier — and includes a hidden admin section where the alumni office tracks verification, expiry, and member IDs. The fastest way to build it is with Magic Create.
1. Open Magic Create: From your Formaloo homepage, click Magic Create. You can upload a picture or PDF, or describe your form in text. Then hit Create and Formaloo builds the form for you.
2. Paste this prompt:
Create an alumni association membership application form. Include these public fields: What's your full name? (short text), What's your email address? (email), What year did you graduate? (number), What degree or program did you complete? (short text), What's your current job title? (short text), Which industry do you work in? (dropdown: Technology, Healthcare, Finance, Education, Government, Nonprofit, Arts and Media, Other), Want to add a profile photo for the directory? (picture upload, optional), Can we list your profile in the alumni directory? (yes/no), Which membership tier are you joining? (single choice: Recent grad, Annual member, Lifetime member), Annual membership payment (payment), Lifetime membership payment (payment). Also add a short hidden text note that says "No problem — your profile will stay hidden from the alumni directory. You'll still get full access to your membership benefits."
Also include these admin-only fields, hidden from applicants: Status (dropdown: Pending verification, Approved, Active, Expiring soon, Expired), Assignee (assignee), Internal notes (long text), Expiry date (date), Member ID (short text).
3. Verify your fields: Your form should look like this — Magic Create will have generated most of it. Verify each field and field ID matches exactly:
Field | Type | Field ID |
What's your full name? | Short text |
|
What's your email address? |
| |
What year did you graduate? | Number |
|
What degree or program did you complete? | Short text |
|
What's your current job title? | Short text |
|
Which industry do you work in? | Dropdown |
|
Want to add a profile photo for the directory? | Picture upload |
|
Can we list your profile in the alumni directory? | Yes/No |
|
Which membership tier are you joining? | Single choice |
|
Annual membership payment | Payment |
|
Lifetime membership payment | Payment |
|
Status (admin only) | Dropdown |
|
Assignee (admin only) | Assignee |
|
Internal notes (admin only) | Long text |
|
Expiry date (admin only) | Date |
|
Member ID (admin only) | Short text |
|
📖 Admin-only fields are hidden from applicants and only visible to the alumni office. See what are admin-only fields and how they help.
Note: Leave the Expiry date empty for Lifetime members — their card never expires, and the empty date keeps them out of the renewal views you'll build in Part 7.
4. Publish your form: Click Publish in the island bar at the top of the editor. You'll embed this form in the portal in Part 7.
Part 2 — Build the renewal form
Renewal is a separate submission event with its own payment and admin processing, so it gets its own short form. Keeping it out of the main form keeps each member's original application record clean.
1. Open Magic Create: From your Formaloo homepage, click Magic Create and paste this prompt:
Create a short alumni membership renewal form. Include these public fields: What's your full name? (short text), What's your email address? (email), How would you like to renew? (single choice: Renew annual, Upgrade to lifetime), Annual renewal payment (payment), Lifetime upgrade payment (payment).
Also include these admin-only fields, hidden from members: Status (dropdown: Received, Processed), Assignee (assignee), Internal notes (long text).
2. Verify your fields: Check each field and field ID against this table:
Field | Type | Field ID |
What's your full name? | Short text |
|
What's your email address? |
| |
How would you like to renew? | Single choice |
|
Annual renewal payment | Payment |
|
Lifetime upgrade payment | Payment |
|
Status (admin only) | Dropdown |
|
Assignee (admin only) | Assignee |
|
Internal notes (admin only) | Long text |
|
3. Publish your form: Click Publish in the island bar at the top of the editor. The member's email address is what matches each renewal to their membership record.
Part 3 — Set up logic with Magic Logic
Logic is what makes the payment question appear only for paid tiers — Recent grad applications go straight through free. Magic Logic generates all the rules from a plain-text prompt.
1. Open Magic Logic on the application form: From the form builder, click Advanced logic in the settings panel on the right side. Navigate to the Logic tab, then click Magic Logic in the top right corner to open the Magic Logic pop-up.
2. Paste this prompt and click Generate Rules:
Hide "Annual membership payment" and "Lifetime membership payment" by default. Also hide the directory privacy note by default.
If "Which membership tier are you joining?" equals "Annual member", show "Annual membership payment" and make it required.
If "Which membership tier are you joining?" equals "Lifetime member", show "Lifetime membership payment" and make it required.
If "Can we list your profile in the alumni directory?" equals "No", show the directory privacy note.
3. Review and save: The AI will preview the rules. Approve each one, make any manual adjustments, then click Save in the top right corner.
4. Repeat on the renewal form: Open Advanced logic on the renewal form, click Magic Logic, and paste:
Hide "Annual renewal payment" and "Lifetime upgrade payment" by default.
If "How would you like to renew?" equals "Renew annual", show "Annual renewal payment" and make it required.
If "How would you like to renew?" equals "Upgrade to lifetime", show "Lifetime upgrade payment" and make it required.
5. Test the free tier: Preview the application form and select "Recent grad" as the tier. Both payment fields should stay hidden and the form should submit with no payment step — that's the default state, so no extra rule is needed.
📖 See what is logic in Formaloo for an overview, or how to add advanced logic to your form for a full step-by-step walkthrough.
Part 4 — Create your email templates
Four emails carry the whole membership lifecycle: a confirmation when the application lands, a notification to the alumni office, a welcome email with the alumni card attached, and a renewal reminder. Each one uses Formaloo's AI email assistant — paste the prompt into the AI box and it generates a polished message with real form values piped in automatically.
1. Open email templates: Click your profile icon, go to Apps and integrations, find Custom email templates, and click Add new template.
2. Build each template: Give each one a name and subject line, then clear the body field, add an AI block, and paste the prompt. The @field_id variables pull in the real values from each submission automatically.
📖 For a full walkthrough of the template editor, see how to create and send custom email templates and how to use answer piping in Formaloo.
Click Save after each template before creating the next one.
Email 1 — Application received confirmation Sent to the graduate the moment they apply.
Subject: We got your application, @full_name 🎓
AI prompt for body:
Write a warm, brief confirmation email to a graduate who just applied to join their alumni association. Thank them by name (@full_name), confirm their application for the @membership_tier tier is received, and explain the next step: the alumni office verifies their graduation record and they'll hear back within a few business days. Keep it to 3–4 short sentences, friendly but not gushing. HTML design: white background, single centered column max-width 560px, Inter/system-ui font, a soft badge at the top showing "Application received" in a muted blue, tier name shown in a subtle data row, muted footer in #999 with the association name placeholder.
Email 2 — New application notification (admin) Sent to the alumni office when a new application arrives.
Subject: New membership application — @full_name (@membership_tier)
AI prompt for body:
Write a compact, factual internal notification for the alumni office. State that a new application arrived and list the key data as reference: @full_name, @email, class of @graduation_year, @degree_program, tier @membership_tier. End with a single instruction: verify the graduation record, then set the status to Approved and assign the tier role. Max 5 sentences, no warmth needed — this is operational. HTML design: white background, single centered column max-width 560px, Inter/system-ui font, applicant data rendered as a clean two-column table with muted labels, a single dark CTA button "Review application", muted footer in #999.
Email 3 — Welcome email + alumni card Sent to the member when the alumni office sets their status to Approved. The alumni card PDF is attached in Part 6.
Subject: Welcome to the alumni community, @full_name 🎉
AI prompt for body:
Write a celebratory but elegant welcome email to a newly approved alumni member. Congratulate @full_name on becoming a @membership_tier member, mention their member ID (@member_id), and tell them their digital alumni card is attached as a PDF. Briefly point them to what they can now do in the portal: browse the alumni directory, register for events and reunions, and access their member perks. Close with one warm line about staying connected to their alma mater. 5–6 sentences max. HTML design: white background, single centered column max-width 560px, Inter/system-ui font, a celebratory header band in a deep academic navy with the association name, member ID and tier in a subtle card-style data block, one CTA button "Open your portal", muted footer in #999.
Email 4 — Renewal reminder Sent by the alumni office as an email campaign to the "Expiring within 30 days" segment — not an automatic logic trigger.
Subject: Your alumni membership expires soon, @full_name
AI prompt for body:
Write a friendly, low-pressure renewal reminder to an alumni member whose membership expires on @expiry_date. Remind @full_name what they'd lose access to (directory, events, member perks), invite them to renew in two minutes via the renewal page in their portal, and mention they can also upgrade to lifetime membership and never think about renewal again. Warm, not salesy. 4–5 sentences. HTML design: white background, single centered column max-width 560px, Inter/system-ui font, expiry date highlighted in a soft amber badge, one prominent CTA button "Renew my membership", a quieter text link below it "Upgrade to lifetime", muted footer in #999.
Part 5 — Connect emails to your triggers
Now attach each email template to the right trigger so the correct message goes out automatically at every stage.
1. Open Advanced logic on the application form: Click Advanced logic in the settings panel on the right side and navigate to the Logic tab.
2. Add a Send email action to each trigger: Click Add rule for each trigger below. Define the condition, set the action to Send email, select the template, and choose the recipient.
Trigger | Send to | Template |
On Submit | Application received confirmation | |
On Submit | Alumni office email | New application notification |
On Update — "Status" is changed to "Approved" | Welcome email + alumni card |
3. Save: Click Save in the top right corner.
Note: For the alumni office notification, hard-code your office's email address directly in the logic rule action. Use "is changed to" (not "is") for the Approved rule so the welcome email fires exactly once — the moment the status changes.
📖 See how to send and receive conditional email notifications for detailed steps on setting up rule-based email triggers.
The renewal reminder doesn't get a logic rule. It's sent manually as an email campaign to the "Expiring within 30 days" admin view you'll build in Part 7 — one send covers everyone approaching their expiry date.
To also enable basic admin and respondent email notifications from the form settings panel:
Part 6 — Create the digital alumni card PDF
The alumni card is what makes approval feel like a moment. It's a navy gradient card with the member's name, class year, member ID, expiry date, and tier badge — generated automatically from the membership record and attached to the welcome email.
1. Open PDF templates: Click your profile icon, go to Apps and integrations, and click Custom PDF template. Click Add new template.
2. Switch to HTML view: In the template editor, switch to the HTML view and paste the alumni card code (alumni-membership-portal-pdf.html). Give it a name and click Save.
PDF — Digital alumni card
The hero is a navy gradient card: association name in letter-spaced caps, the member's name in a serif face, "Class of @graduation_year · @degree_program", then member ID, expiry date, and a pill-shaped tier badge. Below it sit a two-column member details grid, a membership terms inset block, and a validity footer.
Variables: @full_name @email @graduation_year @degree_program @membership_tier @member_id @expiry_date
3. Attach the card to the welcome email: Open the Welcome email + alumni card template from Part 4 and attach the alumni card PDF template, so every approved member receives their card automatically.
Note: For Lifetime members the expiry date is empty, so the "Valid until" slot on the card prints blank. If you'd rather it read "Lifetime", have the alumni office type "Lifetime" into the Expiry date's spot on the card by using a short text field instead — or simply leave it blank and let the tier badge do the talking.
Part 7 — Build the portal
The portal gives each side exactly what they need. Members see their own record, the directory, events, and perks that expand with their tier. The alumni office gets a verification queue, an expiry radar, and a renewal processing view. Two groups, two sets of pages.
1. Activate the portal: From your project, click the Settings (gear) icon. Select Activate portal, then click Manage user and open the Setup Wizard. Search for an existing user directory or add a new one — every portal requires a user directory to manage registered users. Click Next step to configure login settings, then connect the user directory to your membership form.
2. Add user roles: Go to the User directory and click Edit profile fields. Scroll down to the User roles field and add four roles: Recent grad, Annual member, Lifetime member, Admin.
Note: Assigning the tier role is a one-click admin action after verification — it doesn't happen automatically. When the alumni office approves an application, they set the status to Approved and assign the matching role in the user directory in the same pass.
3. Create two groups with the pages below.
Group 1: Alumni members
Page 1 — Join the alumni association
Type: Form embed (membership application form)
Access: Public — logged-out visitors can apply
Description: This is where graduates apply. The payment question appears only for paid tiers — Recent grad applications go through free.
Page 2 — My membership
Type: Table
Visible columns: "What's your full name?", "Which membership tier are you joining?", "Status", "Expiry date", "Member ID"
Filter: My data (by "What's your email address?")
Description: Each member sees only their own record — tier, status, and expiry date. Keep it view-only, or let members update their job title and industry so the directory stays fresh.
Page 3 — Alumni directory
Type: Gallery
Visible fields: Profile photo, full name, graduation year, degree/program, job title, industry — no email, no payment, no admin fields
Filter: "Can we list your profile in the alumni directory?" = Yes, and "Status" = Active or Approved
Sort: "What year did you graduate?", newest first
Description: The hero feature. Members search by class year or industry to reconnect with classmates — lapsed members drop out automatically because of the status filter.
Page 4 — Events & reunions
Type: Content page
Description: Upcoming reunions, networking events, and campus visits. Embed an event registration form here when a live event is running.
Page 5 — Member perks
Type: Content page (one base page + extra perk pages)
Access: Base page — all member roles. Career services and Mentorship pages — Annual member and Lifetime member roles only
Description: The base page holds benefits every member gets — discounts, newsletters, library access. The restricted pages are what make paid tiers feel paid.
Page 6 — Renew my membership
Type: Form embed (renewal form)
Access: Annual member and Recent grad roles — Lifetime members don't need it
Description: Members renew or upgrade to lifetime here. The matching payment field appears based on their choice, and the submission lands in the admin Renewals page.
To enable "My data" so members only see their own record: switch to Edit mode on the data block, click Options, scroll to Manage access, select "What's your email address?" as the profile field, and toggle on Allow users to view only their data.
Group 2: Alumni office (admin)
Page 1 — All members
Type: Kanban
Columns driven by: "Status" (Pending verification, Approved, Active, Expiring soon, Expired)
Card fields: Full name, tier, graduation year, expiry date, assignee
Sort: Submission date, newest first
Description: Every membership record organized by status. Drag a card from Pending verification to Approved and the welcome email with the alumni card fires automatically.
Page 2 — Members by expiry
Type: Table
Visible columns: Full name, email, tier, status, expiry date, member ID, assignee
Sort: "Expiry date", ascending — soonest lapse on top, Lifetime members' empty expiry sinks to the bottom
Description: Scan it weekly to catch anyone the 30-day segment missed.
Page 3 — My assigned applications
Type: Kanban
Filter: Assignee = me, grouped by status
Description: Each person on the alumni office team sees only their own verification queue.
Page 4 — Pending verification
Type: Table
Visible columns: Full name, email, graduation year, degree/program, tier, submission date, assignee, internal notes
Filter: "Status" = Pending verification
Sort: Submission date, oldest first — oldest waiting on a graduation-record check comes first
Description: Verify the class year against university records, add a note to Internal notes, set the status to Approved, and assign the member's tier role.
Page 5 — Expiring within 30 days
Type: Table
Visible columns: Full name, email, tier, expiry date, status
Filter: "Expiry date" within the next 30 days, and "Status" = Active
Sort: "Expiry date", ascending
Description: Your renewal campaign segment. Send the renewal reminder email to everyone on this list in one go.
Page 6 — Lifetime members
Type: Table
Visible columns: Full name, email, graduation year, industry, member ID
Filter: "Which membership tier are you joining?" = Lifetime member
Sort: "What year did you graduate?"
Description: Your most committed alumni. Use this list for VIP event invitations, giving campaigns, and mentorship recruiting.
Page 7 — Renewals
Type: Table (renewal form)
Visible columns: Full name, email, renewal choice, submission date, renewal status, assignee, internal notes
Filter: "Status" = Received
Sort: Submission date, oldest first
Description: All renewal form submissions waiting to be processed. After confirming payment, update the member's expiry date on their membership record and mark the renewal as Processed.
To scope the assigned-applications view so team members only see records assigned to them: switch to Edit mode on the data block, click Options, scroll to Manage access, select "Assignee" as the assignee field, and toggle on Allow assignees to view only their data.
4. Set page access controls: Switch to Edit mode and locate each page in the portal navigation. Click the three-dot menu icon next to the page name and select Access. Set the member pages to the right member roles, the admin pages to Admin only, and keep the Join page public. Click Save after each page.
📖 See how to sort and filter your submissions data for the filtered admin views, and how to create a Kanban board for the status pipeline.
Share your portal
5. Publish and share: Share the portal link with your graduating classes and add the Join page URL to your alumni newsletter and website.
Note: You can put the portal on your own custom domain — like alumni.youruniversity.edu — instead of the default Formaloo URL. Custom domains are available on the Business plan or via the Brand removal add-on.
📖 See how to create a portal and manage users' access for a full portal setup walkthrough.
What you now have
A complete alumni membership program running in Formaloo. Graduates apply once, pay only if their tier requires it, and get a digital alumni card the moment they're verified. Members search the directory by class year and industry, unlock perks that match their tier, and renew in two minutes from their own portal page. The alumni office works from a clean verification queue, spots expiring memberships 30 days out, and sends one renewal campaign instead of a hundred chasing emails.
What's next
Run your first reunion through the portal Embed an event registration form on the Events & reunions page with per-tier capacity, automated confirmations, and branded PDF tickets — the full setup is covered in the event registration guide. → How to collect event registrations, manage capacity, and send automated confirmations in Formaloo
Send your first renewal campaign When the Expiring within 30 days view fills up, send the renewal reminder to the whole segment in one go — and let an AI agent handle replies and follow-ups. → How to send an email campaign and collect data with AI agents
Let members keep their own profiles fresh Allow members to edit their job title and industry on the My membership page so the directory stays accurate without the alumni office touching a single record. → How to let users view and edit their own data in your portal
Ready-to-use templates
Don't build this from scratch — we've already put it together for you.
Event registration and ticketing system — Collects registrations with per-tier capacity limits, sends branded PDF tickets automatically, and manages attendees from an admin portal. Drop it onto the Events & reunions page when your first reunion goes live.
Subscription payment form — Collects recurring payments and sign-ups from one form. The same payment pattern powers the annual dues and renewal flow in this guide.
Scholarship & grant application with scoring and approval — A multi-stage approval workflow with automated status emails and PDF exports. The verify-then-approve pattern is the same one your alumni office uses on every application.
Learn more how-tos
Run tier-gated events with capacity limits The event registration guide uses the same tier-based logic as this portal — per-tier capacity, conditional confirmations, and a PDF ticket instead of a member card. → How to collect event registrations, manage capacity, and send automated confirmations in Formaloo
Build a multi-role review portal from scratch The student submission and teacher review portal walks through the same architecture used here — different roles seeing different data views inside one portal. → How to build a student submission and teacher review portal in Formaloo
Set up recurring payments for annual dues If you'd rather charge annual members automatically instead of running renewal campaigns, the subscription payment guide shows how to set up recurring billing on a form. → How to create a subscription-based payment form in Formaloo
