Mandala
Government Portal

Binding Actions

The confirmation gate every action that files, cancels, or changes a real government record goes through before it actually fires.

Filing a real GSTR-3B, cancelling a real e-invoice, or generating a real e-way bill are not ordinary tool calls -- once the government accepts them, there is generally no undo. Blocks that perform one of these binding actions never call the government directly. Instead, dropping one on the canvas pauses the workflow at a confirmation page, and the real call only happens after a human explicitly confirms it there.

Binding-action blocks are canvas-only -- they cannot be selected as an agent tool, by design. An agent building or editing a workflow can never wire one up on its own or pick one mid-conversation; only a human dragging a block onto the canvas can place one. This is what keeps an agent from ever being one tool-call away from filing something real.

How the Confirmation Gate Works

Execution reaches the block. Instead of calling the government, the workflow pauses -- exactly like a Human in the Loop checkpoint -- and persists a snapshot so the pause survives redeploys and restarts.

A confirm page opens at the block's url output, showing a plain-language summary of exactly what's about to happen -- the GSTIN, the period, the amount, the e-way bill number, whatever fields matter for that specific action.

A human confirms. A routine action needs one click. An action the platform treats as especially consequential (filing a return, cancelling an e-invoice) additionally requires typing back a literal word -- FILE, CANCEL -- so a misclick can't fire it by accident. Filing GSTR-1, GSTR-3B, or GSTR-9 also asks for the filing-time OTP GSTN itself requires.

Only on confirmation does the real call fire. A wrong confirmation word, a bad OTP, or a rejection from the government returns the real error and changes nothing -- the same confirm link can be tried again. Only a successful call resumes the paused workflow.

A routine action

Confirm page for Reject E-Way Bill, showing a summary table and a single Confirm and proceed button

A consequential action

Confirm page for File GSTR-3B, showing a summary table, a cannot-be-undone notice, a type-to-confirm field, and an OTP input

The confirm page needs no Mandala account to open -- like the Government Portal connect page, knowing the link (from the block's own url output, or an approval notification) is what grants access, the same way Human in the Loop's resume link works.

The 21 Binding Actions

All of these require the relevant Government Portal Connection first -- GST Taxpayer for the GST Filing family, the matching NIC connection for E-Invoice/E-Way Bill.

GST Filing

BlockConfirmationNotes
File GSTR-1Type FILE + OTPFiles the period's GSTR-1 for real
Offset Liability (GSTR-3B)Type OFFSETDebits the electronic cash/ITC ledger -- a real payment, not a draft step
File GSTR-3BType FILE + OTPFiles the period's GSTR-3B for real
File GSTR-9Type FILE + OTPFiles the annual GSTR-9 for real
IMS Save Invoice StatusOne clickSets Accept/Reject/Pending on inward invoices in the Invoice Management System

TDS/TCS

BlockConfirmationNotes
TDS/TCS E-file SubmitOne clickSubmits a previously-generated FVU return for e-filing

E-Invoice

BlockConfirmationNotes
Generate e-InvoiceType GENERATEIssues a real IRN with NIC
Cancel e-InvoiceType CANCELNIC only allows this within a limited window
Generate E-Way Bill from IRNOne clickGenerates an e-way bill against an already-issued IRN

E-Way Bill

BlockConfirmation
Generate E-Way BillOne click
Cancel E-Way BillOne click
Extend E-Way Bill ValidityOne click
Update E-Way Bill VehicleOne click
Update E-Way Bill TransporterOne click
Close E-Way BillOne click
Consolidate E-Way BillsOne click
Regenerate Consolidated E-Way BillOne click
Initiate Multi-Vehicle E-Way BillOne click
Add Vehicle (Multi-Vehicle)One click
Update Vehicle (Multi-Vehicle)One click
Reject E-Way BillOne click

Best Practices

  • Route the confirm link to whoever actually owns the decision. The block's url output is the whole approval surface -- wire it into a notification (Slack, email) the same way you would for Human in the Loop, so the right person sees it instead of it sitting undiscovered in a paused-executions list.
  • Don't build a workaround for the type-to-confirm step. It exists specifically because these actions can't be undone; treat a severe action's extra friction as a feature; not something to script past.
  • Test with the test environment field first. Every binding-action block has an Environment field. test never touches a real government system -- use it to prove the workflow's wiring before ever selecting production.
Binding Actions