Skip to main content
This guide walks you through your first Form filling SDK integration. What you will do
  1. Get template_id UUIDs for form_template_ids
  2. Install the package for your framework (JavaScript or React)
  3. Create SukiAuthManager with your partnerToken and provider fields
  4. Create FormFillingClient with that auth manager
  5. Start a session with form_template_ids and your encounter ID as correlation_id
Using an AI coding tool?Copy the following prompt to add the Suki developer documentation as a skill and MCP server to your tool. For all AI options, refer to AI-optimized documentation.

Install the Suki developer docs as a skill and MCP server for Form filling SDK integration.

Open in Cursor

Prerequisites

Before you start, ensure you have the following:
  • Partner credentials from Suki (partnerId and partnerToken)
  • Medical form template IDs from Suki’s Support team. Refer to Medical form templates for supported assessment types.
  • A browser on HTTPS with microphone access and a page container that has explicit height for the Form filling UI
Refer to Prerequisites for webhooks and CSP requirements.

Medical form templates

The Form filling SDK supports many Medical form template types, such as Vitals, Neuro, and Skin. Each template type has a unique type value, for example VITALS_ASSESSMENT or NEURO_ASSESSMENT. For a complete list, refer to Form filling templates. When you start a Form filling session, pass the IDs you need in the form_template_ids parameter. This is an array of template_id values that identify the templates you want to use. Each template_id is a unique 36-character UUID assigned to your partner account.
  • Template IDs are different for staging and production environments.
  • When you call start(), the SDK validates the IDs. Any unsupported IDs are ignored.

Your encounter ID (correlation_id)

When you start a Form filling session, pass your encounter or appointment ID in the correlation_id parameter. Suki includes this ID in SDK callbacks and partner webhooks so you can match the results to the correct patient record. Provide correlation_id when you call start() or render FormFilling, along with your form_template_ids. The same ID is returned when structured results are available in the browser and when your server receives a webhook notification.
Strongly recommended for production.If you omit correlation_id, the hosted UI creates its own ID for the session. That ID will not match your encounter unless you map sessions another way.
Register a Partner webhook and use your encounter ID with the Form filling session ID in your handler. Refer to Configuration and the Webhook handler example. Create SukiAuthManager and FormFillingClient once per page. Open Form filling only when the clinician is ready.

Suki Auth Manager

Create SukiAuthManager once after the partner token is available.

Form Filling Client

Create FormFillingClient with that auth manager. Reuse it across sessions on the page.

Form Filling Provider (React)

Wrap components with FormFillingProvider.

Form Filling UI

Mount <FormFilling> or call client.start() when the clinician opens Form filling.
Do not create a new FormFillingClient on every React render. Use useMemo or module scope.

Install the packages

Run your first session

For JavaScript, give Form filling a container with real height:
HTML
JavaScript
Your integration works when the Form filling UI appears, the microphone is active, and onSubmit returns structured_data.Replace YOUR_TEMPLATE_ID with template_id UUIDs from your Suki support team.
Pass your encounter ID as correlation_id so callbacks and webhooks match your record. Register a partner webhook for production saves on your server.

Verify your integration

After you complete your first Form filling session, verify that:
  • The hosted Form filling UI loads in your page container.
  • The microphone is active during recording. You should see a microphone icon in the UI.
  • onSubmit returns structured_data.generated_values for the templates you passed in form_template_ids.
  • correlation_id matches your encounter in SDK callbacks and partner webhooks (when provided).

Next steps

Read Session workflow for single-form vs multi-form sessions, offline behavior, and webhooks Read Callbacks for event payloads and FormFillingResult Read Authentication if you need to sign in after page load
Last modified on July 23, 2026