Widget Submissions
Submission endpoint
When a visitor submits a widget form, the widget loader POSTs to:Accepted input fields
The following fields can be collected by widget input blocks. All are optional unless marked as required in the widget’s block configuration.
Additional custom fields from
text, textarea, select, checkbox, and date blocks are collected as key-value pairs and stored in the lead’s form data.
Server-side processing flow
The endpoint always returns HTTP 200, including for silently dropped submissions (spam, honeypot, duplicates). This is intentional — it prevents attackers from probing the spam filters.
Response
Contact deduplication
On every submission, Financely looks up an existing contact in the organization by exact email match (case-insensitive). If found, the contact record is updated with any new non-empty fields from the submission. If not found, a new contact is created. This means repeated submissions from the same email address enrich the contact record rather than creating duplicates.Lead record
A lead record is created for every valid submission. Key fields:Webhook payload — widget.submitted
When a submission is processed, all configured webhook endpoints for the organization receive this payload:
HMAC signature verification (Node.js)
Every webhook request includes anX-Financely-Signature header. Verify it as follows: