Hosted Forms
Collect structured responses from your recipients with Pinnacle-hosted forms. Mint a form URL, deliver it over SMS or RCS in the same call, and receive completed submissions as a new FORM.SUBMISSION webhook event.
Browse, build, and theme forms in the Pinnacle Dashboard → Forms.
What’s new?
Form endpoints
POST /forms— create a form without sending it (returns the publichttps://forms.pinnacle.sh/{form_id}URL).POST /forms/send— create (or reuse) a form and deliver its URL over SMS or RCS in one call. Whentois provided, Pinnacle dispatches the message and the recipient is recorded on the response (submission.toplus the outboundmessage_id). Omittoto mint a standalone submission URL for embedding in your own outreach.GET /forms/{id},PATCH /forms/{id}— retrieve and partial-update a form.POST /forms/list,POST /forms/{id}/submissions/list— paginated listings of forms and of their completed submissions.
16 field types out of the box
Text, textarea, email, url, phone (auto-formats + E.164-normalized on submit), number, range slider, rating stars, date, time, datetime, color picker, select, radio group, checkbox group, and an address input with built-in Google Places autocomplete.
Theme overrides
Per-form theme_override layered on top of your team’s default theme — tweak colors, background (solid / gradient / pattern / image), font family, corner radius, submit button label, success message, and post-submission redirect URL. Configure team-wide defaults from the Pinnacle Dashboard → Forms.
Updatable submissions
Set can_update: true to let a recipient reopen their submission URL and edit their answers. The form rehydrates with their prior values; submission_count reflects distinct recipients and last_submitted_at tracks the latest edit.
New webhook event: FORM.SUBMISSION
When a recipient completes a form, every webhook subscribed to the sender receives a FORM.SUBMISSION event. The payload carries the sender, an optional conversation reference, the form summary, and a resolved snapshot of every field paired with the submitted value — ready to render or route on without a separate get_form call. Manage subscribers from the Pinnacle Dashboard → Webhooks.
See the Receiving Messages and User Events guide for full routing details.

