403.
Create a website form
201. It is an object with a source key. A form has its own public page and an address that takes
submissions. The source shows both.
Request fields for a new source:
nameis required, up to 120 characters.kindiswebsite_form(default),webhookorconnection.fieldsis a list of field objects or a list of field keys of your CRM. With nothing, the form starts with the fields of your CRM that a customer may fill.slugis the link of the page: 3 to 60 small letters, numbers and single hyphens. It is unique on the platform. With nothing, ImpelLabs makes one from the name.designis{title, intro, submit, thanks_title, thanks_text, accent}.accentis a color like#111827.mapping,valuesandowner_idare optional.- For
webhook:verify,secretandid_path. The reply carries thesecretonce. Read incoming events for these fields. - For
connection:event_source_id, orconnection_idwithevent, andinputwhen the event needs it.
400 with the name of the field and a plain sentence. A link that is taken returns
{"slug": "This link is taken. Choose another."}.
Read and change sources
The submissions reply is
{"results": [...], "next": "..."}. Pass next as ?before= for older ones. Each
submission has external_id, contact, outcome, problem, answers, touch, lead_record_id and at.
The test call takes an answers object, such as name and phone. It returns the person it finds, the
contact it would find or make, and the campaigns it would join.
The public form
A form with aslug has a public address that needs no token. These two calls are what the public page uses. You can
call them from your own site.
ok set to true and a thanks object with a title and a text.
answersholds only the keys of the form. Other keys are dropped. Each value is cut to 2000 characters.- A wrong answer returns
400with aproblemsobject. Each problem is one field key and one sentence, such asphoneandWrite the number with its country code, like +971 50 123 4567.A required field that is empty, an email, a phone number, a number and a choice are checked by the field type. websiteis a hidden box. Leave it empty. A request that fills it gets the same thanks answer and nothing is kept.utm_campaignis optional. It matches a campaign that has autm_campaignsource.- An unknown or archived form returns
404. A form that is switched off answers200and keeps nothing. - Each sender address can send 20 submissions an hour to one form. More returns
429.
What a submission creates
ImpelLabs keeps each submission once for each source and id. Then, in this order:- It finds the person by the phone, or else the email, in the answers. It makes a contact when it finds none. A new
contact needs at least a name, a phone or an email. A submission with none of them is kept with the outcome
failed. - It writes a
touchon the contact timeline:Came from <source name>. - It raises the events
contact.touchandlead.submitted. See event types. A workflow or a webhook can start on them. - It adds the contact to each active campaign that has a matching source: a website form, a form of an ad, a
utm_campaignvalue or an ad. - It creates or updates the CRM lead of the contact. A contact has one lead, and an existing lead keeps its owner.