Dotloop
Dotloop is a real estate platform. Advanced Form Integration sends form submissions to Dotloop, so every form entry on your WordPress site can create or update records automatically without manual data entry.
What you’ll need
- An active Dotloop account.
- A Dotloop OAuth2 app (see below).
- The Advanced Form Integration plugin installed and activated.
Create a Dotloop OAuth2 app
Dotloop uses OAuth2 for API access. You need to register an app to get a Client ID and Client Secret.
- Sign in to the Dotloop developer portal and create a new OAuth2 application.
- Copy the Redirect URI shown in the AFI Dotloop settings tab and paste it into the app’s allowed redirect URIs.
- Note the Client ID and Client Secret.
- Paste them in AFI → Settings → Dotloop and click Save & Authorize. After consent, AFI stores the token and refreshes it automatically.
Create the integration
- Go to AFI → Add New.
- Give the integration a name, for example
Form to Dotloop. - Under Trigger, pick the form plugin and the specific form you want to listen on.
- Under Action → Platform, select Dotloop.
- In Task, choose Create Loop.
- Pick the saved account in the Dotloop Account dropdown.
- Map your form fields onto the Dotloop fields listed below.
- Optional: open Conditional Logic to limit which submissions are sent.
- Click Save Integration.
Tasks supported
Create Loop
Creates a new loop (transaction) from the form submission.
| Field | Field key | Required | Notes |
|---|---|---|---|
| Loop ID | loopId |
No | Existing loop to attach this person to |
| First Name | firstName |
Yes | BUYER / SELLER / LISTING_AGENT / BUYING_AGENT / etc. |
| Loop Name | name |
Yes | PURCHASE_OFFER / LISTING_FOR_SALE / etc. |
| Status | status |
No | e.g. PRE_LISTING / UNDER_CONTRACT / SOLD — statuses are configurable per Dotloop profile |
| Property Street | street |
No | Best-effort: sent via a follow-up loop detail update; field availability depends on the profile |
| Property City | city |
No | |
| Property State | state |
No | |
| Property Zip | zip |
No | |
| Sale Price | price |
No | |
| Client First Name | firstName |
Yes | |
| Client Last Name | lastName |
Yes | |
| Client Email | email |
Yes | |
| Client Phone | phone |
No |
Pro features
The Pro integration extends the free base with additional field mapping, custom field support, and other enhancements. Pro uses the same connection and tasks as the free version, so your existing integrations keep working.
| Feature | Free | Pro |
|---|---|---|
| Standard tasks | ✅ | ✅ |
| Standard field mapping | ✅ | ✅ |
| Custom field mapping | Limited | ✅ |
| Additional task variants | Limited | ✅ |
Conditional logic example
Only send data to Dotloop when the form’s email field is not empty, so test submissions or incomplete entries do not create records. Add a condition: Email is not empty.
Troubleshooting
Nothing arrives in Dotloop
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. 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.
Connection lost
The OAuth2 token may have expired or been revoked. Return to AFI → Settings → Dotloop and click Re-authorize to refresh the connection.