RobotRock
Examples

Budget Approval

Complete task payload from the RobotRock dashboard Examples gallery. Open Examples in your workspace to interact with the same task in the inbox UI.

Inbox preview

Rendered by the dashboard (static preview route). Matches docs light/dark mode. Handle actions are disabled; use the toolbar to submit this example to your inbox or view its configuration.

Task

{
  "type": "budget-approval",
  "name": "Budget Q2 2024 marketing initiatives",
  "description": "Review and approve this budget request for Q2 2024 marketing initiatives. Please carefully examine the budget breakdown below and verify that the allocations align with department goals and strategic priorities before making your decision.",
  "contextVersion": 2
}

Context

{
  "data": {
    "breakdown": [
      {
        "category": "Digital Advertising",
        "amount": 75000
      },
      {
        "category": "Content Creation",
        "amount": 35000
      },
      {
        "category": "Tools & Software",
        "amount": 15000
      },
      {
        "category": "Total",
        "amount": 125000
      }
    ],
    "details": {
      "requestedBy": "Jane Smith",
      "department": "Marketing",
      "totalAmount": 125000,
      "fiscalPeriod": "Q2 2024"
    }
  },
  "ui": {
    "breakdown": {
      "ui:title": "Budget Breakdown",
      "ui:description": "Detailed budget allocation",
      "ui:widget": "table",
      "items": {
        "amount": {
          "ui:widget": "currency",
          "ui:options": {
            "currency": "EUR"
          }
        }
      }
    },
    "details": {
      "items": {
        "totalAmount": {
          "ui:title": "Total Amount",
          "ui:widget": "currency",
          "ui:options": {
            "currency": "EUR"
          }
        }
      }
    }
  }
}

Actions

[
  {
    "title": "Approve",
    "description": "Approve this budget request",
    "id": "approve",
    "handlers": [
      {
        "type": "webhook",
        "url": "https://example.com/webhook",
        "headers": {}
      }
    ],
    "schema": {
      "type": "object",
      "properties": {
        "approval-notes": {
          "type": "string",
          "title": "Approval Notes"
        }
      }
    },
    "ui": {
      "approval-notes": {
        "ui:widget": "textarea",
        "ui:placeholder": "Enter approval notes..."
      }
    }
  },
  {
    "title": "Reject",
    "description": "Reject this budget request",
    "id": "reject",
    "schema": {
      "type": "object",
      "required": [
        "rejection-reason"
      ],
      "properties": {
        "rejection-reason": {
          "type": "string",
          "title": "Rejection Reason",
          "description": "Please provide a reason for rejection"
        }
      }
    },
    "ui": {
      "rejection-reason": {
        "ui:widget": "textarea",
        "ui:placeholder": "Enter rejection reason..."
      }
    }
  },
  {
    "title": "Edit",
    "description": "Edit the budget amounts",
    "id": "edit-budget",
    "schema": {
      "type": "object",
      "required": [
        "digital-advertising",
        "content-creation",
        "tools-software"
      ],
      "properties": {
        "digital-advertising": {
          "type": "number",
          "title": "Digital advertising",
          "description": "Budget amount for digital advertising"
        },
        "content-creation": {
          "type": "number",
          "title": "Content Creation",
          "description": "Budget amount for content creation"
        },
        "tools-software": {
          "type": "number",
          "title": "Tools & Software",
          "description": "Budget amount for tools and software"
        }
      }
    },
    "data": {
      "digital-advertising": 75000,
      "content-creation": 35000,
      "tools-software": 15000
    }
  }
]

Widgets used

  • currency
  • table
  • textarea

See Context for widget reference.