Fillout → Attio: forms with the logic your process actually has
Typeform is pretty. Fillout is powerful. If you've outgrown Typeform's conditional logic, calculated fields, or payment gates, you're probably on Fillout - and the off-the-shelf Attio connector is limited. We wire Fillout to Attio the way a forms-heavy workflow deserves: conditional logic respected on the CRM side, calculated fields written as structured numbers, payment-status gated record creation, and multi-page responses that update the same record across sessions.
Direction
Fillout → Attio (responses, conditional logic, calculations)
Stack
Fillout API, Attio API, n8n
The what
What this integration actually does
The how
How we build it
- 1
Design the Fillout → Attio field map, including conditionals - fields that only appear based on earlier answers need fallback handling.
- 2
Register Fillout webhooks on submission and (optionally) page completion events.
- 3
Handle payment-gated forms: record creation waits for payment confirmation, not just form completion.
- 4
Write calculated fields as structured data in Attio - not as text.
- 5
Route by path: Fillout's branching logic informs which Attio list/segment the response joins.
Under the hood
What lives inside the pipeline
- Conditional answer handling - not-shown fields are null, not "N/A" strings.
- Calculated field writeback (scoring, total, etc.) as numeric Attio fields.
- Payment-gate awareness for paid intake forms.
- Partial-submission support for long applications - update the record as the user progresses.
- Attachment handling - uploaded files get linked as attachments on the record.
Hard-earned lessons
What we learned the hard way
- Fillout's question IDs are stable - use them. Don't key on question text.
- Payment-gated forms fire the submission webhook BEFORE payment completes. Listen for the payment webhook separately.
- Long multi-page forms have session timeouts. Partial-submission writes help but don't rely on them to be complete.
- Conditional logic drift - if someone edits the form, the payload shape changes. Version your receiver.
Case study
Consultancy with a scored intake form
Problem
Fillout intake form included a 10-question scoring rubric. The score was calculated in Fillout but never landed in the CRM - the team was rescoring manually from the email receipt.
Solution
Fillout → Attio with calculated-score writeback. Responses above threshold auto-routed to senior consultants, below threshold into a nurture list.
Outcome
Lead qualification became instant. Senior consultants only saw qualified calls. Low-fit leads got a templated nurture instead of a wasted demo.
FAQ
Questions we get
Same pattern. Fillout is our reference because its logic engine is the closest to what complex intake flows actually need.
Yes, via signed URL parameters. Useful for renewal forms, update-your-info forms, and QBR surveys.
Typeform is great for simple intake. Fillout starts paying off when you need calculated scores, payment gates, or conditional logic that affects routing. Same integration pattern, richer source data.
Want this running on your Attio?
Book a free 30-min call. We'll map your use case to what we've already shipped and tell you whether this fits - honestly.
Book a 30-min call