Formula is unable to write to target table

Deployment Type and Version:

  • Type: Grist Omnibus (Docker - Locally hosted)

  • Version: 1.7.3

  • Environment:

    • This is a relatively new internal local deployment, no external access.
      • test deployment
      • about a month
    • I am the sole-owner/user/administrator and new to Grist.
    • All Self-Checks are Green Checkmarks!
    • GRIST_SANDBOX_FLAVOR is set to gvisor
    • No issues with sandboxing or python processing

Symptom:

  • Action Formula (Trigger column) executes successfully (returns correct dictionary) but seems to fail silently, refusing to write records to the target table.

Key Diagnostics Confirmed:

  • The source column ($Unpack_Items in Data_Receipts) is set to Trigger type.

  • The formula output is the correct dictionary structure (e.g., {'Data_Receipt_Items': [...]}).

  • The target table (Data_Receipt_Items) is fully writable via the Grist UI.

  • All data types (Text, Numeric, Boolean) and table names have been verified as exact matches multiple times.

    • @grist.UserTable
      class Data_Receipt_Items:
        Receipt_Barcode = grist.Text()
        Item_QTY = grist.Int()
        Item_Number = grist.Int()
        Item_Description = grist.Text()
        Item_Value = grist.Numeric()
        Item_Taxable = grist.Bool()
      

Minimal Test Case in $Unpack_Items which is Failing:

  • # This minimal code produces the dictionary but fails to write the record:
    return {'Data_Receipt_Items': [
        {
            'Receipt_Barcode': '12345678901234567890', 
            'Item_QTY': 1,
            'Item_Number': 9999,
            'Item_Description': "TEST ITEM",
            'Item_Value': 1.99,
            'Item_Taxable': False
        }
    ]}
    

I’m unable to find any suitable console/logs that call out any direct issues with the above. I hope these are of some use: They’re directly related to a recent run of the minimal code (above). No other obvious errors/logs that I can see.

  • 2025-10-09T17:21:21.069965052Z 2025-10-09 17:21:21.069 - debug: NSandbox pyCall sandboxPid=954, flavor=gvisor, command=undefined, entryPoint=(default), docId=hBZJmgAYnGnfU1VGX9ounm, funcName=apply_user_actions, loadMs=5
    2025-10-09T17:21:21.070617841Z 2025-10-09 17:21:21.070 - debug: Sandbox memory memory=116301824, sandboxPid=954, flavor=gvisor, command=undefined, entryPoint=(default), docId=hBZJmgAYnGnfU1VGX9ounm
    

I’ve been troubleshooting this on my own and with AI assistance for a few days, to no avail. I’m not sure if I’m simply missing something or something is broken. Any assistance would be greatly appreciated.

Hi @Jason , do you mean trigger formulas like those described here, or something else?

A column with a trigger formula like this only controls the content of that column itself, so I’m a little confused.

Hey Paul,

Correct. I am converting a list of receipt items in a single cell into a dictionary that I want to use to publish into a separate table.

eg:

$items_list
	323944	KOREAN JERKY	11.99 N
	5051013	SALAMI PRIMA	 9.49 N
	1019	HALF&HALF 1L	 1.99 N
	1696245	DORITOSNACHO	 3.99 Y
$Unpack_Items
{'Data_Receipt_Items': [{'Receipt_Barcode': '12345678901234567890', 'QTY': 2, 'Item_Number': 1234, 'Item_Description': 'KOREAN JERKY', 'Item_Value': 11.99, 'Taxable': False}, {'Receipt_Barcode': '12345678901234567890', 'QTY': 1, 'Item_Number': 2345, 'Item_Description': 'SALAMI PRIMA', 'Item_Value': 9.49, 'Taxable': False}, {'Receipt_Barcode': '12345678901234567890', 'QTY': 1, 'Item_Number': 3456, 'Item_Description': 'HALF&HALF 1L', 'Item_Value': 1.99, 'Taxable': False}, {'Receipt_Barcode': '12345678901234567890', 'QTY': 1, 'Item_Number': 4567, 'Item_Description': 'DORITOSNACHO', 'Item_Value': 3.99, 'Taxable': True}]}