Skip to content

Make scenarios

Every agent in view. You call the shots. Two scenarios. One posts a status tile on a schedule. One posts an approval tile when a webhook arrives.

Import

  1. In Make, open a scenario and choose Import Blueprint.
  2. Replace <INGEST_TOKEN> in the HTTP module before you turn scheduling on.
  3. The approval scenario needs a Pro workspace. If approval is locked, the board rejects the post.
  4. If Make asks you to remap the HTTP module, set the URL, method, headers, and body to the values in the blueprint.

Scheduled status

{
  "name": "Post a status tile to Botopticon",
  "flow": [
    {
      "id": 1,
      "module": "schedule:RunAScheduledEvent",
      "version": 1,
      "parameters": {},
      "mapper": {},
      "metadata": {
        "designer": { "x": 0, "y": 0 }
      }
    },
    {
      "id": 2,
      "module": "http:MakeARequest",
      "version": 3,
      "parameters": {},
      "mapper": {
        "url": "https://www.botopticon.com/api/ingest",
        "method": "post",
        "headers": [
          {
            "name": "Authorization",
            "value": "Bearer <INGEST_TOKEN>"
          },
          {
            "name": "Content-Type",
            "value": "application/json"
          }
        ],
        "bodyType": "raw",
        "contentType": "application/json",
        "data": "{\"bot\":\"Keeper\",\"tile\":\"crew\",\"type\":\"status\",\"title\":\"Board keeper\",\"subtitle\":\"Posted from Make\",\"props\":{\"state\":\"routine\",\"task\":\"Keeping the board current\"},\"needs_you\":false,\"ttl_seconds\":14400}"
      },
      "metadata": {
        "designer": { "x": 300, "y": 0 }
      }
    }
  ],
  "metadata": {
    "instant": false,
    "version": 1,
    "scenario": {
      "roundtrips": 1,
      "maxErrors": 3,
      "autoCommit": true,
      "autoCommitTriggerLast": true,
      "sequential": false,
      "confidential": false,
      "dataloss": false,
      "dlq": false
    },
    "designer": { "orphans": [] }
  }
}

Approval webhook

{
  "name": "Ask the Botopticon board for a decision",
  "flow": [
    {
      "id": 1,
      "module": "gateway:CustomWebHook",
      "version": 1,
      "parameters": {},
      "mapper": {},
      "metadata": {
        "designer": { "x": 0, "y": 0 }
      }
    },
    {
      "id": 2,
      "module": "http:MakeARequest",
      "version": 3,
      "parameters": {},
      "mapper": {
        "url": "https://www.botopticon.com/api/ingest",
        "method": "post",
        "headers": [
          {
            "name": "Authorization",
            "value": "Bearer <INGEST_TOKEN>"
          },
          {
            "name": "Content-Type",
            "value": "application/json"
          }
        ],
        "bodyType": "raw",
        "contentType": "application/json",
        "data": "{\"bot\":\"Keeper\",\"tile\":\"ship\",\"type\":\"approval\",\"title\":\"Ship the copy\",\"subtitle\":\"Waiting on a person\",\"props\":{\"ask\":\"Ship the checkout copy?\",\"context\":\"The board is ready for a decision.\",\"severity\":\"high\"},\"needs_you\":true,\"ttl_seconds\":86400}"
      },
      "metadata": {
        "designer": { "x": 300, "y": 0 }
      }
    }
  ],
  "metadata": {
    "instant": true,
    "version": 1,
    "scenario": {
      "roundtrips": 1,
      "maxErrors": 3,
      "autoCommit": true,
      "autoCommitTriggerLast": true,
      "sequential": false,
      "confidential": false,
      "dataloss": false,
      "dlq": false
    },
    "designer": { "orphans": [] }
  }
}