Everything you need to use it, and to extend it.
These pages are the ones shipped inside the plugin, in English and in French. The site reads them where they live, so they never drift apart.
For developers
Extending the plugin, and what the project guarantees about it.
Extension points
The PHP and JavaScript actions and filters of SolisForms, each with its payload and an example.
Writing an add-on
Registering an add-on, adding a field type, a panel, a REST route — with the mistakes that cost the most.
Accessibility
What the plugin guarantees, what it cannot guarantee for you, and how it is checked on every change.
Deploying behind nginx
The server rule that stops a script dropped in the uploads folder from running — where .htaccess does not apply.
Hook index
Every extension point sorted by name, each linking to its detailed entry.
The paid modules, one page each
What each one does, what it refuses to do, and the decision behind it. These are the pages shipped with SolisForms Pro.
Friction analytics
Which field people stop at — counters only, no session, nothing that designates anyone.
Document checklists
Asking for several documents, tracking what is missing, and accepting or refusing each on its own.
WordPress accounts
Turning a submission into a member account — and why a form can never create an administrator.
Surveys, quizzes and reports
Scoring answers, setting a pass mark, and why the report keeps answer keys rather than wording.
Conversational forms
One question per screen, built on the core’s own pagination so navigation and focus stay the tested ones.
Offline forms
Filling a form with no network and sending it on return — and what makes a double send impossible.
Email verification
Confirming an address before a submission counts — and why nothing is lost in the meantime.
Appointment slots
Publishing your availability — and why a seat is taken by an insert rather than by a count.
Abandonment recovery
Offering a link to finish later — only if the visitor says yes, explicitly.
Dynamic prefill
A field arriving already filled — and why account sources only ever read the visitor’s own account.
Internal processing
A state, an assignee, a deadline — and why being assigned a case never grants the right to read it.
Submission portals
Publishing a searchable list with approval — and why approving is not a submission status.
Privacy centre
Retention, search, export and erasure — and why the trail has no update method at all.
Admin assistant
Drafting a form from a description, and why the assistant proposes but has no route that writes.
Uniqueness and duplicates
Refusing or flagging a repeat answer — and why a false positive here costs more than in an anti-spam.
Cloud storage
Drive, OneDrive and Dropbox, the path check before every read, and why an empty list sends nothing.
Google Sheets
One row per submission — and why a submitted formula stays text.
HubSpot
One contact per answer, why the static list is separate, and why consent is frozen at submission time.
Pipedrive
A person and a lead per answer, why the lookup comes first, and why a lead has no pipeline.
ActiveCampaign
One contact per answer, and why a tag waits for consent just as a subscription does.
Mailchimp
One subscription per consenting answer, and why a resend never re-subscribes.
Airtable
A record per answer, why columns are addressed by id, and why a merge key keeps a base free of duplicates.
Notion
A page per answer, why a public form must not enrich your select lists, and what the 180-day limit means.
Google Calendar and Outlook
An appointment per booking — and why a daylight saving change must shift nobody.
Microsoft Teams
A card per announcement — and why a visitor must not be able to post a link in your team’s channel.
Accounting (Xero, QuickBooks)
An invoice per payment — and why a form pointed at QuickBooks writes nothing until you accept that every payment posts.
Make and n8n
Why no module was written, and how to wire both onto the signed webhook that already exists.
SMS and WhatsApp (Twilio)
Transactional messages, consent, and an opt-out list that holds no numbers.
Salesforce
Leads and Contacts, three write paths, and why only one survives a lost reply.
Zoho CRM
One lead per answer — and why the data centre is asked for before anything else.
Zapier
A “New submission” trigger — and why the sample Zapier keeps is built rather than taken.
A question the docs do not cover?
Write to us. Technical questions get an answer even when they lead to no purchase.
- Free and open source
- No account required
- No runtime dependency
