Use Cases
Call an enrichment service, reject responses you cannot trust, choose the right owner, and only then hand off the finished record.
A lead form may capture only a name, email, and company. Before the record reaches sales, an enrichment service can add details such as company size, industry, or region. Flowcrafter can check that response, save the useful fields, choose an owner, and run the CRM feed only after the entry is ready.
flowchart TD
A[Form Submitted] --> B[HTTP Request: enrich]
B --> C{Request succeeded?}
C -->|No| D[Mark for review and alert the team]
C -->|Yes| E{Route by returned data}
E -->|Enterprise| F[Write owner and company data]
E -->|Other| G[Write default owner and company data]
F --> H[GF Feed: send enterprise lead]
G --> I[GF Feed: send other lead]

Add administrative-only fields for the enrichment values, owner, segment, and Enrichment status. Submitters should not control those workflow fields.
Open your lead form and click Workflows in the form toolbar. Click New Workflow, then Add Trigger and choose Form Submitted.
Add HTTP Request named Enrich lead. This example uses Method POST, a fictional URL of https://example.org/enrich, and a Content-Type: application/json header. In Body Template, use {"email":"{{ "Form Submitted".2 }}"} to send the submitted email. Replace the endpoint, method, and field ID with your service’s requirements. If authentication is required, put the fixed token in an Authorization header, never in a submitted field. Add an Idempotency-Key: {{run.key}} header when the service supports one.

Add Condition (data) named Request succeeded? and set it to match All rules: {{ "Enrich lead".status_code }} is greater than or equal to 200, and the same value is less than 300. On No, set Enrichment status to Needs review and alert the team with the status code.
On Yes, add Switch named Route by company size. This example assumes the service returns { "company": { "size_band": "enterprise", "name": "Acme" } }. Add an Enterprise case where {{ "Enrich lead".body.company.size_band }} equals enterprise; use Default for missing or unfamiliar values. Replace these paths with the fields in your service’s real sample response.
On Enterprise, use Update Entry Field to set Company name to {{ "Enrich lead".body.company.name }}, Segment to Enterprise, Owner to the enterprise owner, and Enrichment status to Complete. Repeat on Default with the returned company name when present, a Standard segment, and the default owner.
Finish each successful path with GF Feed and select the CRM feed. Set Entry source to flow tag mode and use the final Update Entry Field node’s Entry ID so the feed reloads the enriched entry. Flowcrafter manages that feed so it runs here rather than at initial submission.
| From | Data used later | Where it goes |
|---|---|---|
| Form Submitted | Email or domain and entry identity | HTTP request and later entry-aware nodes |
| Enrich lead | status_code and parsed body fields |
Success check, Switch, and entry updates |
| Update Entry Field | Updated entry entry_id |
GF Feed entry source |
| Live Gravity Forms entry | Fresh enriched and owner fields | CRM feed when it runs |
2xx response can still contain incomplete or invalid data. Validate required response fields before routing.New workflows start Inactive. Use a sandbox to test one success response, one non-2xx response, one unfamiliar routing value, and one transport failure. Confirm the CRM feed runs once and receives the freshly updated entry. Replace test credentials and recipients, activate the workflow, and inspect its first runs for unexpected response shapes.
The Gravity Forms Webhooks Add-On can send an entry to an API, and a CRM add-on can process its own feed. Flowcrafter connects the middle: validate the first service’s response, handle a rejected response, update the entry, choose an owner, and delay the CRM feed until the record is ready.
A DNS, connection, or timeout error retries and then fails the HTTP node; it does not reach the response-status branch. Monitor failed runs for those transport errors.
The same enrich → check → route → hand off pattern works whenever a submission needs outside information before it can move on: