Every page its own webhook: website forms into the CRM with the right course and source
Twenty-three Make scenarios take submissions from website forms (course pages, ad landing pages, a contact page) and create a CRM lead with the right source and course, plus the full questionnaire as a note.
Where this applies
Any business whose website has many forms (a page per offer, landing pages for ads, a contact page) and wants each submission to arrive in the CRM with its source and context.
- pages, one webhook scenario each
- 23
- routes in the generic-page router
- 7
- errors, all while building
- 5
The problem
A website has many forms (a page per course, landing pages for ads, a contact page), and each submission should become a lead with the right source and the right course, along with whatever the visitor answered. One catch-all form loses that context; a form per page keeps it.
The cost is plumbing: each page needs its own path from form to CRM, and the plumbing has to be cheap to clone and hard to get subtly wrong.
What we built
A webhook per page
The form on each page posts its fields (name, email, phone, state, a consent tick, the page's own questions and page metadata) to a dedicated custom webhook in Make. It is instant and nothing polls, and a page's scenario can be switched off or changed without touching any other.
Three modules, linear
The template is deliberately small: create a lead item in the first group of the leads board with name, email, phone, state, source and course; then add the questionnaire as an update note headed with the page's name. There are no filters and nothing to go wrong in between.
A static label where the page knows the answer
A page for a single course sets the Course column to a fixed label, which is zero logic. The Lead Source column distinguishes ordinary pages from ad landing pages, on the same board and columns.
A router where it does not
Generic pages (the course listing, call-to-action, blog, contact and home pages) serve many courses, so they create the item with Course empty, add the note, then a router with seven exclusive routes sets the course from the 'which course' answer; two routes also test years of experience to choose between two labels of one qualification. This shape came from a failure: mapping the form's text straight into Course was rejected when the label did not exist on the board.
Labels are never auto-created
The create step does not make new status labels, so a value that is not already on the board fails the run rather than polluting the board's options. The questionnaire lives in a note rather than in columns, which keeps the board's schema small.
The outcome
Across the 23 scenarios: 51 runs and 174 operations in Make's counters, with five errors: all manual runs while building, three from a course label that did not exist and two from a form field name that did not match the board's state labels, each fixed the same or next day.
Eight scenarios have run; the rest are built and waiting for their first submission.
A new page is a clone and a new webhook, and the scenario for any one page can be changed without risk to the others.
Where it stops
There is no duplicate check, so a repeat submission creates a repeat lead, and no notification when one arrives. Names and phones are not normalised and the phone country is fixed. The questionnaire is a note, so it cannot be filtered on. None of the scenarios has an error route, and a label missing from the board fails the run. Two scenarios use a different board and column schema, and a few clones of the generic router cannot be told apart from each other on the board. An early version and a staged clone that was never switched on are not described.
Built with
- Make.com
- monday.com
- WordPress forms
- Webhooks
Patterns used
- Static label per page
- Create then route
- Never auto-create labels
- Questionnaire as a note
Page copy drafted with AI assistance. Skofi is accountable for it. Editorial policy
Have something shaped like this?
If any part of the above resembles a problem you are living with, a short call is the fastest way to find out whether it is the same problem underneath.
What happens on the call
- 15 minutes, no deck
- We map the process on the call
- A written scope, or an honest no