AFI AFI

Agile CRM

Estimated reading: 5 minutes Updated August 1, 2026

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.

  1. Sign in to your Agile CRM dashboard.
  2. Go to Admin Settings → Developers & API → REST API Key.
  3. Copy the REST API Key.
  4. Note your subdomain (the part before .agilecrm.com, e.g. mycompany from https://mycompany.agilecrm.com).
  5. Note the user email you use to log in (the email of the user who owns the API key).

Connect Agile CRM to AFI

  1. In WordPress, go to AFI → Settings → Agile CRM.
  2. Click Add Account.
  3. Enter the Subdomain (e.g. mycompany).
  4. Enter the User Email (your login email).
  5. Paste the REST API Key.
  6. Give the account a name and click Save.

Create the integration

  1. Go to AFI → Add New.
  2. Give the integration a name, for example Contact form to Agile CRM.
  3. Under Trigger, pick the form plugin and the specific form you want to listen on.
  4. Under Action → Platform, select Agile CRM.
  5. In Task, choose Create New Contact/Deal/Note.
  6. Pick the saved account in the Agile CRM Account dropdown.
  7. Map your form fields onto the Agile CRM fields listed below.
  8. Optional: open Conditional Logic to limit which submissions are sent.
  9. 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 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.

Related docs