Before you start
- Build and publish the form in Build > Forms. Its id is the last part of the editor URL,
/build/forms/<form id>. - In Settings > API keys, create a key just for the website and set Access to Forms only. A Forms only key can send form submissions and nothing else. Revoking it later cuts off only the website.
- Save the key on your server as
OLYMPUS_API_TOKEN.
Get the field map
id. contact shows which questions fill the contact’s email, phone, and name in Connect. If you change the form and publish it again, fetch the map again.
Send an application
fieldsholds one answer per question id. Choice questions take an optionvalue; checkboxes and multi-select take an array of values. This endpoint doesn’t take file uploads.funnel_uidis optional. It credits the application to a funnel in the same workspace. The funnel id is the last part of its URL in Build > Funnels.session_idis optional but makes retries safe. Make a new one per application. Sending the same one again returns the first result instead of saving a second application.
200 with submission_id and qualification_outcome (qualified, needs_triage, or disqualified). Treat any other status as not saved.
Errors
What happens next
Each application creates or updates the contact in Connect, with the opportunity the form’s Connect settings call for. Then the form’s rules pick one automation trigger:app_completedfor a qualified applicationneeds_triagewhen the rules send it to reviewdisqualifiedwhen the rules rule it out
call_booked fires only when the lead books on an Olympus calendar, so send qualified leads to your Olympus booking page. Your team sets no_show from Connect.
Don’t also create the opportunity yourself, for example with the olympus_connect_opportunities_create MCP tool. The submission already does it, and a second one duplicates the lead.