RobotRock

Context

context provides the metadata shown to reviewers in the task detail view.

Assignment (assignTo) is a separate top-level field on sendToHuman / the create-task API, not part of context. See Send to human.

JSON Forms foundation

Context rendering follows JSON Forms-style UI schema conventions:

  • context.data carries your raw values.
  • context.ui customizes how those values are displayed.

Context shape

context: {
  data: Record<string, unknown>; // required when context is present
  ui?: Record<string, unknown>; // optional
}

context.data

data is a free-form object for business information.

context: {
  data: {
    requestId: "bud-2026-q4-17",
    department: "finance",
    currentBudgetUsd: 1000000,
    requestedIncreaseUsd: 120000,
    affectedTeams: ["platform", "security"],
    submittedBy: {
      id: "usr_123",
      name: "Avery Chen",
      email: "avery@example.com",
    },
  },
}

context.ui

Use ui to control labels, widgets, placeholders, and display options for context.data fields.

context: {
  data: {
    requestId: "bud-2026-q4-17",
    requestedIncreaseUsd: 120000,
    submittedBy: {
      name: "Avery Chen",
      email: "avery@example.com",
    },
  },
  ui: {
    requestId: {
      "ui:title": "Request ID",
      "ui:widget": "string",
    },
    requestedIncreaseUsd: {
      "ui:title": "Requested increase (USD)",
      "ui:widget": "currency",
      "ui:options": { currency: "USD" },
    },
    submittedBy: {
      name: { "ui:title": "Submitted by" },
      email: { "ui:widget": "string" },
    },
  },
}

Common UI keys:

  • ui:widget
  • ui:title
  • ui:description
  • ui:placeholder
  • ui:options

Widget auto-selection

If ui:widget is omitted, RobotRock auto-selects by value type:

  • string → string
  • number → number
  • boolean → boolean
  • object → object
  • array of primitives → list
  • array of objects → table

Unknown widget ids fall back to the type-based default.

Widget reference

Each widget has a dedicated page under Context widgets with configuration examples and a live inbox preview.

WidgetDescription
stringPlain text valuesShow more
numberNumeric valuesShow more
booleanTrue/false flagsShow more
objectNested key-value groupsShow more
listArrays of primitive valuesShow more
tableArrays of objectsShow more
dateISO date/time stringsShow more
currencyFormatted monetary amountsShow more
linkClickable URLsShow more
imageInline imagesShow more
attachmentsDownloadable file linksShow more
markdownRendered MarkdownShow more
codeSyntax-highlighted codeShow more
compareSide-by-side option comparisonShow more

Notes

  • context is optional.
  • If context is provided, context.data is required.
  • Nested UI config is supported for nested objects in context.data.

Examples

For complete task payloads (including actions) used in the dashboard Examples gallery, see the Examples pages under Tasks in the sidebar.

On this page