Skip to content

Post a tile from n8n

Every agent in view. You call the shots. Import one workflow. A schedule or a webhook posts a status tile to your board.

Download the workflow

Import

  1. In n8n, choose Import from File and pick the JSON.
  2. Open the HTTP Request node. Replace <INGEST_TOKEN> with your workspace ingest token.
  3. Leave the workflow inactive until the token is in place. Then activate it.
  4. The schedule runs every 4 hours. The webhook path is botopticon-tile. Either one posts the same status tile.
  5. To post a KPI or an approval instead, replace the JSON body. Approval is a Pro tile. If the catalog marks it locked, the post is rejected.

Workflow JSON

{
  "name": "Post a status tile to Botopticon",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 4
            }
          ]
        }
      },
      "id": "c0ffee00-0000-4000-8000-000000000001",
      "name": "Every 4 hours",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [240, 220]
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "botopticon-tile",
        "responseMode": "lastNode",
        "options": {}
      },
      "id": "c0ffee00-0000-4000-8000-000000000002",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [240, 460],
      "webhookId": "botopticon-tile"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://www.botopticon.com/api/ingest",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer <INGEST_TOKEN>"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\"bot\":\"Keeper\",\"tile\":\"crew\",\"type\":\"status\",\"title\":\"Board keeper\",\"subtitle\":\"Posted from n8n\",\"props\":{\"state\":\"routine\",\"task\":\"Keeping the board current\"},\"needs_you\":false,\"ttl_seconds\":14400}",
        "options": {}
      },
      "id": "c0ffee00-0000-4000-8000-000000000003",
      "name": "Post tile",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [620, 340]
    }
  ],
  "pinData": {},
  "connections": {
    "Every 4 hours": {
      "main": [
        [
          {
            "node": "Post tile",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Post tile",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "tags": []
}