A Singapore Government Agency Website

How to set up case intake channels

What this feature does

Ownself Gather supports four methods for creating cases: manual creation, FormSG form submissions, email auto-forwarding from generic mailboxes, and API integration from external systems. By configuring intake channels, you can automatically route incoming requests into your app as cases with pre-populated fields, reducing manual data entry.

Scope: This guide covers linking FormSG forms, configuring email auto-forwarding, connecting external systems via API, and using Plumber and Opus for advanced integrations. It does not cover manual case creation (refer to the get-started tutorial) or workflow automation triggered by new cases (refer to Configure automated workflows).

Who this applies to

  • Audience: App administrators responsible for configuring case types and integrations.
  • Access required: Your user role must have Manage case types, statuses & customer profile and Manage API keys & workflows permissions.
  • Assumed knowledge: You have completed the initial app setup (case type, statuses, roles, users) as described in the get-started tutorial.

Steps

Single-respondent FormSG forms (previously known as Storage Mode forms) can be linked directly to a case type using a webhook. Each form submission automatically creates a case.

  1. In your FormSG form, copy the Form ID (visible in the form URL) and the Secret Key (generated when you create a Storage Mode form).
  2. In Ownself Gather, navigate to Settings > Case Types.
  3. Select Edit on the case type you want to link, or create a new case type.
  4. Under the general details, check the FormSG box.
  5. Enter the form’s Secret Key.
  6. To import form fields into the case type, select Import existing fields from FormSG in the blue banner. Enter your Form ID and choose an import method:
    • Append to existing case fields — Existing fields are unchanged; new fields are added below.
    • Replace all existing case fields — All existing fields are removed and replaced with FormSG fields.
    • Replace matching, append non-matching — Fields with matching names are replaced; unmatched FormSG fields are appended; other existing fields are unchanged.
  7. Select Import, then Save the case type.
  8. After saving, copy the Webhook URL displayed in the case type settings.
  9. In your FormSG form settings, paste the Webhook URL into the webhook configuration.

You should see new form submissions appear as cases in your app with the Case Source listed as “FormSG”.

Changes to FormSG form fields after the initial import are not reflected automatically. Re-import the fields if you update your form structure.

You can auto-forward emails from your agency’s generic mailbox so that each new email thread creates a case, and replies to existing threads are added to the corresponding case.

  1. Navigate to Settings > Case Types.
  2. Select Edit on the case type, or create a new one.
  3. Under the general details, check the Email Correspondence box.
  4. Optionally select an email parsing mechanism to auto-fill case fields from the first email received:
    • Paragraphs — Field name on one line, value on the next.
    • Line by line — Field Name: value on the same line.
    • HTML — <div data-field="Field Name">value</div> format.
  5. Save the case type. A unique email address is generated for this case type (format: correspondence+<app>+<id>@gather.gov.sg).
  6. Copy the generated email address.
  7. In your email client (Outlook, Gmail, or other), set up an auto-forwarding rule (not a redirect rule) that forwards incoming emails to the generated address.

You should see new forwarded emails appear as cases in your app with the Case Source listed as “Email”.

Use auto-forwarding rules with filters to triage emails by case type. For example, forward emails containing “urgent” to one case type and all other emails to another.

Redirecting emails (as opposed to forwarding) is not supported and emails will not be received by Ownself Gather.

When you reply to an auto-forwarded email from within Ownself Gather, the recipient list is empty for the first email. This is intentional — the only detectable sender is the generic mailbox, and replying to it would create a duplicate case. Copy and paste the correct recipient from the email thread. Subsequent replies pre-fill the recipient list normally.

Step 3: Connect external systems via API

External systems can create cases programmatically using the Case Management API.

  1. Navigate to Settings and ensure your user role has the Manage API keys & workflows permission.
  2. Generate an API key for your app. Each API key has a default rate limit of 100 requests per 5 minutes.
  3. Use the Case Management API to create cases. The API documentation is available at gather.gov.sg/cms/api/swagger/. Key endpoints:
    • POST /cms/api/cases — Create a new case.
    • PUT /cms/api/cases/{caseUuid} — Fully update an existing case.
    • PATCH /cms/api/cases/{caseUuid} — Partially update an existing case.
    • POST /cms/api/cases/search — Search for cases with filters.
  4. File uploads use a separate File API endpoint at gather.gov.sg/file/api/swagger/.

Cases created via API appear with the Case Source listed as “API”.

Step 4: Set up multi-respondent FormSG forms via Plumber

Multi-respondent forms (MRFs) do not support direct webhook integration with Ownself Gather. Use Plumber to bridge the connection.

Common Plumber integration patterns:

  • Connect MRF submissions to Ownself Gather — Step 1 of an MRF creates a new case. Subsequent steps update the same case automatically via Plumber.
  • Sync a second FormSG form to an existing case — A first form creates a case; a second form appends information to the corresponding case via Plumber.
  • Track SLA in hours or minutes — Plumber can trigger case actions after a set number of hours or minutes (Ownself Gather’s native duration tracking counts in days).
  • Supplement cases with M365 Excel data — Enrich case fields with additional data from Microsoft 365 Excel spreadsheets via Plumber.

Step 5: Connect Ownself Gather to Opus workflows

Opus has dedicated Ownself Gather nodes for bi-directional integration:

  • Ownself Gather Trigger node — Triggers an Opus workflow when a case event occurs (e.g., case created, case updated, email received). Configure by copying the Opus webhook endpoint URL into Ownself Gather’s webhook settings.
  • Ownself Gather Action node — Allows Opus workflows to perform case operations: get case details, create case, update case, delete case, upload file, search cases, get emails, and download attachments. Authenticated via API key.

To set up the trigger:

  1. In Opus, add an Ownself Gather trigger node to your workflow.
  2. Copy the webhook endpoint URL from the trigger node settings.
  3. In Ownself Gather, configure a webhook (via Settings > Workflows or API configuration) that sends events to the Opus endpoint URL.
  4. Publish the Opus workflow to activate the connection.

Constraints and limitations

  • FormSG webhook limitation: Only single-respondent forms (formerly Storage Mode) support direct webhook integration. Multi-respondent forms require Plumber.
  • Email forwarding, not redirecting: Only the forwarding rule is supported. Email redirection is not supported and will result in emails not being received.
  • Email sender domain: Outbound emails from your app are sent from your-app-name@ownself.gather.gov.sg (changed from @gather.gov.sg as of 5 February 2026). Auto-forwarding mailbox addresses still use @gather.gov.sg.
  • API rate limit: 100 requests per 5 minutes per API key.
  • Data classification: Regardless of the intake channel, all data flowing into Ownself Gather must not exceed Restricted, Sensitive (High), even if FormSG can store up to Confidential (Cloud-Eligible).
  • Field import sync: Changes to FormSG form fields are not automatically synced. You must re-import fields manually.
Chat with me!
Bot Launcher