Goal
Design your app’s forms in Gravity Forms — a Contact Us screen, an offer submission, a listing edit form, a user profile form — and let the app handle the rest: rendering it natively, creating a real Gravity Forms entry on submit, and firing whatever notifications you’ve set up. Build the form once in WordPress, and the app picks it up automatically.
Once you’re set up, an app user sees a native form, your WordPress site sees an ordinary entry under Forms → Entries, and every notification the form has configured fires on submission.
Who this is for
This is for WordPress admins building an app with MAM Suite who want the full Gravity Forms feature set — drag-and-drop fields, conditional logic, multi-recipient notifications — rather than a built-in form handler. For the common path, you won’t touch any code. A short developer-only section at the end covers field mapping for custom features.
Before you start
You need:
- WordPress admin access
- Gravity Forms installed and active (any license tier)
- MAM Suite with MAM Main active
- The MAM Gravity Forms Manager plugin, activated in MAM Suite — this is the bridge that teaches MAM Suite to read Gravity Forms as a form source
- A MAM feature that consumes a Gravity Form — for example MAM Contact Form (on its Gravity Forms path), MAM Special Offers, or MAM GeoDirectory. The feature is what gives you a “which form?” dropdown to attach the form to.
One thing to watch for: if Gravity Forms isn’t active, MAM Gravity Forms Manager loads without complaint but does nothing — no forms show up in MAM dropdowns, and no entries get created. Activate Gravity Forms first.
If MAM Gravity Forms Manager isn’t activated yet, do that first under Mobile App Manager → Software. It has no settings page of its own — once active, it just works quietly in the background. See the Recipe: Activate the plugin article for MAM Gravity Forms Manager.
How the wiring works
Worth understanding the path your form takes — it’s what makes most of this no-code.
- MAM Gravity Forms Manager publishes your forms. Once active, it appends every active Gravity Form to MAM Suite’s internal forms list. Any MAM feature that asks “which form should we use?” reads from that list and shows your forms by name in a dropdown.
- You attach a form to a feature by picking it in that dropdown. MAM stores the form’s ID, not its title — so you’re free to rename the form later without breaking anything.
- On app submission, the request travels through MAM Suite’s form pipeline. At the end of that pipeline, MAM Gravity Forms Manager creates a real Gravity Forms entry, then triggers every notification configured on the form.
Your WordPress site can’t tell the difference between an app submission and a web one — the entry lands in Forms → Entries with no “submitted from app” badge. And to the app, the form behaves exactly like any native MAM form.
Steps
1. Build the form in Gravity Forms
Go to Forms → New Form and add the fields your feature needs. A few things to keep in mind so it renders well in the app:
- Field labels become the field titles in the app. Use clear, user-facing labels — the app renders them verbatim.
- The Admin Field Label is safe to use. It only affects the WordPress entry view; it never surfaces in the app.
- Stick to field types the MAM renderer understands. Text, paragraph (textarea), email, phone, number, date, drop-down (select), radio, checkbox, and hidden fields are all reliable. Exotic field types — CAPTCHA, signature, list/repeater — may not render in the app, or may render with reduced fidelity.
- Mark required fields required in Gravity Forms. The app’s renderer respects the Gravity Forms required flag.
Save the form and note its Form ID (visible in the URL as ?id=42) — you’ll want it later to verify everything’s wired up correctly.
2. Configure notifications
On the form, go to Settings → Notifications and add whichever admin and/or user notifications you want. These fire automatically on app submissions — MAM Gravity Forms Manager sends them right after the entry is created, so there’s nothing to flip on for the app side.
Want app submissions to notify different people than web submissions? Gate the notification with Gravity Forms Conditional Logic — for example, on a hidden field the app populates but a web visitor leaves blank.
3. Attach the form to your MAM feature
Go to Mobile App Manager → App Settings, pick the role you’re configuring, and find the dropdown for the feature you’re wiring up. The dropdown’s label depends on which feature plugin you’re using. Common examples:
| Feature plugin | Dropdown label |
|---|---|
| MAM Contact Form (Gravity Forms path) | Contact Form |
| MAM Special Offers | Special Offers: Offers |
| MAM GeoDirectory | Add or Edit Listing Form (one form per GeoDirectory post type) |
| MAM Main (user profile) | User Profile Form |
Pick your form by name, then save the role.
4. (Only if your feature needs it) Confirm the field mapping
A few features — Special Offers, GeoDirectory, and Contact Form’s Gravity Forms path — need to know which Gravity Forms field lines up with which field the app expects (for example, “this field is the Offer Title; that one is the Offer Description”). That mapping ships with the consuming plugin by default, so most of the time there’s nothing for you to do here.
If your form’s fields don’t line up with what the feature expects, you have two options: rebuild the form to match the feature’s documented field order, or have a developer register a custom mapping (see For developers below).
5. Test from the app
Now see it work. Open the app as a user in the role you configured:
- Navigate to the feature (the tab or menu item that shows the form).
- Confirm the form renders with all the fields you defined.
- Submit it.
- In WordPress admin, open Forms → Entries for that form and confirm a new entry appears, dated within the last minute.
- If you configured a notification, confirm the email arrived (check spam if it didn’t).
Verify
You’re done when all of these are true:
- Your form appears by name in the feature’s dropdown under Mobile App Manager → App Settings.
- The form renders natively in the app for users in the configured role.
- Submitting in the app creates a new row under Forms → Entries.
- Any configured notification email arrives.
Troubleshooting
- The form isn’t in the dropdown. This list is built from your active Gravity Forms, so if the form is in the trash, deactivated, or Gravity Forms itself is off, it won’t show up. If every dropdown is empty, that’s usually a sign Gravity Forms or MAM Gravity Forms Manager is inactive somewhere.
- Submission succeeds but no entry appears. Entry creation likely failed — often because a required field didn’t validate, or the app didn’t send a value the form was expecting. Check the form’s required fields against what the app sends, and take a look at the MAM debug log if your install exposes one.
- Entry was created but no email arrived. Check spam first. Then confirm the notification’s Send To address is correct and that its Conditional Logic is actually satisfied by the values submitted. MAM always fires a form’s notifications once the entry is created — it doesn’t filter which ones run.
- Renaming the form didn’t break anything — good, that’s expected. MAM stores the form’s ID, not its title, so rename freely.
- Deleting and re-creating the form does break the wiring. A re-created form gets a new ID, so you’ll need to go back and re-pick it in the role’s dropdown.
Use the same form on your website too
Because every app form is a real Gravity Form, you can drop it onto your WordPress site too, with the standard Gravity Forms shortcode or block — no extra work needed for the app side. If you’d also like a web submission to trigger something, like creating a custom post, that needs a feature plugin listening for web submissions. See the Recipe: Route a web submission to a custom post type article for MAM Gravity Forms Manager.
For developers
Most apps never need any of this. But if yours does:
- Custom field mapping. If you’re building your own feature, or your form’s field IDs don’t match a consumer’s expected layout, register a slug → Gravity Forms field mapping via the
mam_gf_get_form_settingsfilter. See the dedicated Hook: mam_gf_get_form_settings article. - React to a web submission. A web submission can be turned into a custom post and dispatched to your code via
mam_for_gravity_forms_web_form_result_form_{form_id}. See the dedicated hook article. - Add fields to a built-in feature form (such as Contact Form) without editing core, via that plugin’s field filter — for Contact Form,
mam_gf_get_form_settings_fields_contact_form.
App-submitted forms do not fire the web-result filter; that path is exclusively for submissions made on the WordPress site.
Related articles
- Recipe: Activate the plugin (MAM Gravity Forms Manager)
- Recipe: Add a Gravity Form to your app (MAM Gravity Forms Manager)
- Recipe: Route a web submission to a custom post type (MAM Gravity Forms Manager)
- Plugin: mam-contact-form — built-in vs. Gravity Forms setup paths
- Hook: mam_gf_get_form_settings
