Web Forms

Web forms let your customers submit structured requests directly from your website. Each submission automatically creates a ticket in RapiDesq, matches or creates a contact record, and routes the ticket to the right team, conversation flow, or AI bot — all without any manual intervention.

Overview

A web form is a configurable, embeddable form that acts as an intake channel for your contact center. When a customer fills out and submits a form, RapiDesq executes the following flow automatically:

  1. Customer submits the form embedded on your website.
  2. A ticket is created with the channel set to web form, carrying the submitted values.
  3. Contact lookup or creation — RapiDesq matches the submitted email address against existing contacts. If a match is found, the ticket is linked to that contact; otherwise a new contact record is created.
  4. Routing — the ticket is routed based on your form configuration: directly to a team, into a conversation flow for automated triage, or to an AI bot.
  5. User visibility — the ticket, including all submitted field data, appears in the user's ticket view alongside tickets from chat and email channels.
Note — Web form submissions appear in your unified inbox alongside conversations from chat and email channels. Your users handle them using the same ticket workflow regardless of source channel.

Creating a Form

To create a new web form, navigate to Admin > Channels > Web Forms and click Create Form. The form builder is a single page with inline sections for everything described below, alongside a live preview that renders the form exactly as visitors will see it — in desktop and mobile widths, light and dark backgrounds, and an optional live mode where a test submission creates a real ticket.

The Web Forms admin page showing the form list with embed code, edit, and delete actions The Web Forms page in the admin portal, where forms are created, configured, and embedded.

Basic Settings

Step-by-Step

  1. Go to Admin > Channels > Web Forms and click Create Form.
  2. Enter the Form Name and an optional Description.
  3. Choose a Routing destination: Direct to Team, Run a Flow, or Hand off to Bot (see Routing).
  4. Configure the Contact Fields and Data Fields the form should display (see Configuring Fields).
  5. Customize Appearance and Messages (see Form Appearance).
  6. Optionally configure Identity Verification and Allowed Domains.
  7. Click Create, then use Get Embed Code to add the form to your site (see Embedding Forms).
Tip — Create separate forms for different purposes. A "Contact Sales" form can route to your sales team with B2B data fields, while a "Technical Support" form routes to engineering with fields for product version and error details.

Configuring Fields

A form's fields come in two kinds: built-in contact fields that identify the person submitting, and data fields drawn from your tenant's central field library.

Contact Fields

The Contact Fields section configures which contact identity fields to display on the form. There are five structural fields, and each can be independently enabled and marked as required for this form:

Data Fields

The Data Fields section lets you add structured fields beyond contact identity. Rather than defining fields per form, you select them from your tenant's central field library, managed under Admin > Custom Data. Each field definition carries its own type and validation rules; the form simply references it.

Note — If the Data Fields section shows no fields available, create field definitions in Admin > Custom Data first. See Custom Fields for managing the field library.

Conditional Logic

Forms do not support conditional field visibility — every enabled field is shown to every visitor. If you need different handling based on what the customer selects (for example, routing billing questions differently from technical ones), route the form to a conversation flow and branch on the submitted values there.

Tip — Keep forms short. Only ask for information your team actually needs to begin working the ticket; shorter forms have higher completion rates. You can always gather additional details during the conversation.

Form Appearance

Customize the visual appearance of your form to match your brand. These settings are inline sections of the form builder, and the live preview updates as you type.

Appearance

Messages

Dark Mode

Turn on Enable Dark Mode Detection and the form follows the visitor's browser dark-mode preference. Four dark-mode colors are configurable: Dark Primary Color, Dark Background Color, Dark Header Background, and Dark Text Color. This keeps the embedded form visually consistent on dark-themed websites.

Tip — Use the preview pane's light and dark background toggles to check the form in both modes before publishing, especially when your website supports theme switching.

Routing

The Routing destination selector at the top of the form builder determines what happens after a customer submits the form. Choose exactly one destination:

Direct to Team

Every submission creates a ticket that goes straight into the selected team's queue. This is the simplest routing method.

Run a Flow

Each submission enters a published conversation flow before being assigned. The flow can inspect the submission and take automated actions.

See Conversation Flows for details on building flows.

Hand off to Bot

Submissions are handed to an active AI bot for automated handling. The bot can respond using your knowledge base and escalate to a human when needed. If you have no active bots yet, create one under Admin > AI Settings — see AI Bots.

When to Use Each

Scenario Recommended Routing Reason
Single-purpose form (e.g., "Contact Support") Direct to Team All submissions are the same type and go to the same team. No conditional logic needed.
Multi-category form with a category dropdown Run a Flow The flow can read the category value and route to different teams based on the selection.
Different handling in and out of business hours Run a Flow A Schedule Condition step branches between in-hours and after-hours paths.
Common questions answerable from your knowledge base Hand off to Bot The bot can resolve routine requests instantly and escalate the rest.
Simple feedback or survey form Direct to Team Low urgency, no conditional routing needed. A single team reviews all submissions.
Tip — Start with team routing and move to flow or bot routing as your needs grow. You can change a form's routing destination at any time without affecting previously submitted tickets.

Identity Verification

Like the chat widget, a web form can require signed identity tokens so that submissions from logged-in users on your site carry a verified identity. This ensures submissions are matched to the right contact record reliably and lets users trust who submitted the request.

  1. Enable identity verification in the form's Identity Verification section.
  2. Choose a signing algorithm — RSA (RS256/RS384/RS512), ECDSA (ES256/ES384/ES512), or EdDSA.
  3. Paste your public key in PEM format. You keep the matching private key on your server; RapiDesq never holds your signing material.
  4. Your backend signs a token for each logged-in user, and your page provides it alongside the form. RapiDesq verifies the signature when the form is submitted.

You can also configure Claim Mappings to map token claims onto contact fields or custom fields. See the chat widget identity verification guide for the token format and a backend signing example — the mechanism is the same.

Embedding Forms

Once your form is saved and active, embed it on your website with a single script tag — the same lightweight pattern as the chat widget.

Getting the Embed Code

On the Web Forms page, click the Get Embed Code action next to your form. An integration dialog opens with two tabs:

The embed snippet looks like this, with your real form ID, tenant ID, and hosts filled in:

<script
  src="https://<your-rapidesq-host>/form.js"
  data-form-id="YOUR_FORM_ID"
  data-api-url="https://<your-rapidesq-api-host>"
  data-tenant-id="YOUR_TENANT_ID"
  async>
</script>

The script loads asynchronously and renders the form with your configured fields, branding, and messages. Because all configuration lives in RapiDesq, you can change fields, colors, and routing at any time without touching the embed code.

Allowed Domains

The Allowed Domains section restricts form embedding and submission to specific domains. This is a security measure that prevents unauthorized sites from embedding your form and collecting submissions under your tenant.

Important — Always configure Allowed Domains for production forms. Without it, anyone can embed your form on their website, which could lead to spam submissions or phishing attempts that appear to come from your organization.

From Submission to Ticket

When a customer submits a form, RapiDesq creates a ticket carrying the submission. Understanding this helps you design forms that produce clean, actionable tickets.

Note — If a submission's email matches an existing contact, the new ticket is added to that contact's history. Users see full context of previous interactions regardless of which channel they occurred on.

Availability & Offline Behavior

Forms do not carry their own schedule. When a form is not accepting submissions — for example, when it has been deactivated with the Form Active toggle — visitors see the form's Offline Message instead of the form, and any submission attempts are rejected with that same message.

For business-hours-aware handling of submissions, route the form to a conversation flow and use a Schedule Condition step: during business hours the flow can route to a team immediately, and outside hours it can set expectations and queue the ticket for the next business day. See Business Hours & Schedules.

Tips & Best Practices

Form Design

Data Quality

Security

Testing

Operations