Overview
With the AFI plugin, you can connect your WordPress forms to CiviCRM, allowing automatic creation of new contacts and adding them to selected CiviCRM groups. It’s ideal for community registration, non-profit memberships, and supporter databases.
✅ Supported Features
Add contact to CiviCRM
Assign the contact to a selected CiviCRM group
Map standard and custom CiviCRM fields
🔧 How To Setup
Step 1: Ensure CiviCRM Is Installed
To use this integration, the CiviCRM plugin must be installed and active on your WordPress site.
No additional authentication setup is required inside AFI — AFI communicates directly with the CiviCRM system already installed.
Step 2: Create a New Integration
Go to AFI → Add New
You’ll land on the New Integration setup screen
🔹 Title
Give your integration a name like “Volunteer Signup – CiviCRM”
🔹 Trigger
Form Provider: Select your form plugin (e.g., Contact Form 7, WPForms, Elementor)
Form/Task Name: Choose the form you want to connect
Step 3: Configure the Action
🔹 Platform
Select CiviCRM
🔹 Task
Choose Add Contact
This will create a new contact in your CiviCRM database when someone submits the form.
Step 4: Map Fields
You will now be able to configure the following:
🔹 CiviCRM Group
Select the CiviCRM group where you want to assign the new contact.
The plugin will fetch available groups from your CiviCRM setup.
🔹 Contact Fields
Map your form fields to CiviCRM contact fields, such as:
Email
First Name
Last Name
Phone
Contact Type (Individual / Organization / Household)
CiviCRM custom fields will also appear and can be mapped.
Step 5: Save Integration
Click Save Integration.
🎉 You’re done! Now, form submissions will automatically add a new contact in your CiviCRM database and assign them to the selected group.
🔍 Troubleshooting
If contacts are not being added:
Go to AFI → Log
Find and open the log entry for the submission
Verify:
The selected group exists in CiviCRM
All required fields (like contact type) are properly mapped
No validation error occurred (e.g., missing required CiviCRM fields)
Conditional logic (if used) was correctly configured