Agile CRM
Agile CRM is an all-in-one CRM combining sales, marketing, and customer service in a single platform. Advanced Form Integration creates contacts, deals, and notes in Agile CRM from your WordPress form submissions, so every lead capture, registration, or enquiry lands directly in your CRM pipeline.
What you’ll need
- An active Agile CRM account.
- Your Agile CRM Subdomain, User Email, and REST API Key (see below).
- The Advanced Form Integration plugin installed and activated.
Get your Agile CRM credentials
Agile CRM authenticates API requests using HTTP Basic Auth with your user email as the username and your REST API Key as the password.
- Sign in to your Agile CRM dashboard.
- Go to Admin Settings → Developers & API → REST API Key.
- Copy the REST API Key.
- Note your subdomain (the part before
.agilecrm.com, e.g.mycompanyfromhttps://mycompany.agilecrm.com). - Note the user email you use to log in (the email of the user who owns the API key).
Connect Agile CRM to AFI
- In WordPress, go to AFI → Settings → Agile CRM.
- Click Add Account.
- Enter the Subdomain (e.g.
mycompany). - Enter the User Email (your login email).
- Paste the REST API Key.
- Give the account a name and click Save.
Create the integration
- Go to AFI → Add New.
- Give the integration a name, for example
Contact form to Agile CRM. - Under Trigger, pick the form plugin and the specific form you want to listen on.
- Under Action → Platform, select Agile CRM.
- In Task, choose Create New Contact/Deal/Note.
- Pick the saved account in the Agile CRM Account dropdown.
- Map your form fields onto the Agile CRM fields listed below.
- Optional: open Conditional Logic to limit which submissions are sent.
- Click Save Integration.
The action works in a specific order: it creates or updates the contact first, then performs each follow-up action you have configured. If you fill in deal fields, a deal (opportunity) is created and linked to the contact. If you fill in note fields, a note is attached to the contact. Each step runs only if its required field is filled.
Tasks supported
Create New Contact/Deal/Note
Creates a contact in Agile CRM via POST /dev/api/contacts, or updates an existing contact via PUT /dev/api/contacts/edit-properties if a contact with the same email already exists. AFI searches for the contact by email before deciding to create or update. After the contact is saved, AFI optionally creates a deal and a note linked to that contact.
Contact fields
| Field | Field key | Required | Notes |
|---|---|---|---|
email |
Yes | Used to search for existing contacts (upsert key) | |
| First Name | firstName |
No | |
| Last Name | lastName |
No | |
| Title | title |
No | Job title |
| Company | company |
No | |
| Phone | phone |
No | |
| Address | address |
No | Street address |
| City | city |
No | |
| State | state |
No | |
| Zip | zip |
No | |
| Country | country |
No |
Address fields are combined into a single JSON address object in the Agile CRM contact properties.
Deal fields
Fill these to create an opportunity linked to the contact. If Name [Deal] is empty, no deal is created.
| Field | Field key | Required | Notes |
|---|---|---|---|
| Name [Deal] | dealName |
Yes (for deal) | Required for deal creation |
| Value [Deal] | dealValue |
Yes (for deal) | Numeric expected value |
| Probability [Deal] | dealProbability |
No | Integer 0-100 |
| Close Date [Deal] | dealCloseDate |
No | YYYY-MM-DD format (converted to Unix timestamp) |
| Source ID [Deal] | dealSource |
No | |
| Description [Deal] | dealDescription |
No | |
| Track/Pipeline ID [Deal] | dealTrack |
No | Pipeline IDs are listed in the field description |
| Milestone [Deal] | dealMilestone |
No | Examples: New, Prospect, Proposal, Won, Lost |
| Owner ID [Deal] | dealOwner |
No | User IDs are listed in the field description |
Note fields
Fill these to attach a note to the contact. If Subject [Note] is empty, no note is created.
| Field | Field key | Required | Notes |
|---|---|---|---|
| Subject [Note] | noteSubject |
Yes (for note) | |
| Description [Note] | noteDescription |
No |
Pro features
The Pro integration extends the free version with contact tags, contact custom fields, deal custom fields, and dual note attachment (note is also linked to the deal when both a deal and note are created). Pro uses the same Agile CRM credential connection and the same task.
Contact tags
Enter one or more tags separated by commas in the Tag ID [Contact] field. Tags are applied to the contact on creation or update via the tags property in the contact body.
Contact custom fields
Map custom fields using key=value format. For multiple fields, separate with double pipe: Age=25||Country=USA (no spaces around the separator). Each pair is added as a CUSTOM type property on the contact.
Deal custom fields
Same format as contact custom fields: key=value separated by ||. Each pair is added to the deal’s custom_data array.
Feature comparison
| Feature | Free | Pro |
|---|---|---|
| Create/update contact | ✅ | ✅ |
| Standard contact fields (name, email, phone, address) | ✅ | ✅ |
| Create deal (standard fields) | ✅ | ✅ |
| Create note | ✅ | ✅ |
| Contact tags | No | ✅ |
| Contact custom fields | No | ✅ |
| Deal custom fields | No | ✅ |
| Note linked to deal | No | ✅ |
Conditional logic example
Only create deals for enterprise leads. Add a condition: Company Size is greater than 500. Smaller submissions still create a contact but skip the deal fields, so no deal is created.
Troubleshooting
Nothing arrives in Agile CRM
Open AFI → Log and find the most recent entry for this integration. AFI stores the request it sent and the raw response it got back, so the Agile CRM error message is right there. If there is no log entry at all, the trigger never fired: re-check the form selection and submit a real test entry from the front end rather than the form builder preview.
Unauthorized (401)
Agile CRM requires all three credential fields to match: subdomain, user email, and REST API Key. The user email is the login email of the user who generated the API key, not necessarily the account admin. Verify all three values in AFI → Settings → Agile CRM.
Rate limited (HTTP 429)
Agile CRM enforces API rate limits. AFI automatically retries on HTTP 429 responses, honouring the Retry-After header (defaulting to 3 seconds). If retries are exhausted, the error is logged. For high-volume integrations, consider reducing the frequency of form submissions.
Contact created but deal or note missing
The deal is only created when Name [Deal] is non-empty. The note is only created when Subject [Note] is non-empty. Check your field mapping to ensure these required trigger fields are populated from the form.