A Singapore Government Agency Website

Automate a grants workflow end to end

What this tutorial teaches

This tutorial walks you through building a complete grants automation on Opus — from receiving a form submission via ApplySG to evaluating eligibility with a decision table and notifying the applicant via email.

  • Audience: Developers who have completed onboarding and want to build a cross-system automation.
  • What you will build: A workflow triggered by an ApplySG form submission that evaluates grant eligibility using a Decision and sends a Slack notification with the outcome.
  • Assumed knowledge: You have a project in Opus and are familiar with the workflow editor. Refer to Get started with Opus.

Prerequisites

  • Opus workspace with Editor or Administrator access
  • An ApplySG scheme configured to send webhooks (refer to ApplySG documentation)
  • A Slack channel for notifications (optional)

Steps

Step 1: Create the decision

Build the eligibility rules first — the workflow will reference this decision.

  1. In your project, select Add New File → Decision.

  2. Name it “Grant Eligibility Check”.

  3. Configure the input schema with fields matching the ApplySG form (e.g., requestedAmount, organisationType, projectDescription).

  4. Add a Decision Table node with eligibility rules:

    Condition Outcome
    requestedAmount <= 50000 AND organisationType = “SME” Eligible
    requestedAmount > 50000 Requires review
    Otherwise Not eligible
  5. Test with sample data using the Simulate panel.

Step 2: Create the workflow

  1. Select Add New File → Workflow.
  2. Name it “Grants Application Processing”.
  3. Select the trigger: choose ApplySG as the trigger type.
  4. Copy the webhook endpoint URL from the trigger node settings.

Step 3: Add processing nodes

  1. Add a Decision node and select “Grant Eligibility Check” (the decision you created in Step 1).
  2. Add a Switch node connected to the Decision output. Configure branches for each outcome: Eligible, Requires review, Not eligible.
  3. For the “Eligible” branch, add a Slack node to send a notification to the grants team channel.
  4. For the “Requires review” branch, add an Email Approval node to route to a reviewer.

Step 4: Test and publish

  1. Mock the ApplySG trigger with sample form submission data.
  2. Select Simulate to verify the workflow routes correctly through each branch.
  3. Run the workflow in staging with a test ApplySG submission.
  4. Once verified, publish the workflow and decision. Create a release for production.

Step 5: Connect ApplySG

  1. In your ApplySG scheme, configure a Send Webhook automation with the Opus workflow’s production endpoint URL.
  2. Submit a test application on ApplySG to trigger the full end-to-end flow.
  3. Monitor the execution in Opus to confirm the decision evaluates correctly and the notification is sent.

Summary

You have built a cross-system grants automation that:

  • Receives form submissions from ApplySG via webhook trigger
  • Evaluates eligibility against configurable business rules using a Decision
  • Routes outcomes through conditional branching (approve, review, reject)
  • Sends notifications via Slack and Email Approval nodes
Chat with me!
Bot Launcher