{
  "workflow_name": "Route new Supabase rows by status to the right follow-up",
  "workflow_steps": {
    "steps": [
      {
        "id": "1",
        "position": {
          "x": 0,
          "y": 0
        },
        "data": {
          "label": "Row Inserted",
          "app": {
            "key": "supabase",
            "fm_app": "supabase"
          },
          "eventSlug": "insert",
          "eventTitle": "Row Inserted",
          "layoutDirection": "horizontal",
          "stepNumber": 1
        },
        "targetPosition": "bottom",
        "type": "trigger",
        "stepNumber": 1,
        "expanded": true,
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "application": "supabase",
        "stepID": "1",
        "action": "insert",
        "nodeType": "step",
        "actionAppArgs": [],
        "captureResponse": {
          "type": "INSERT",
          "table": "customers",
          "schema": "public",
          "record": {
            "id": 17,
            "name": "Acme Corp",
            "email": "buyer@acme.com",
            "status": "urgent",
            "amount": 1450,
            "plan": "Pro Plan"
          },
          "old_record": null
        },
        "responses": [
          {
            "letter": "A",
            "time": "01/07/2026, 10:00:00",
            "response": {
              "type": "INSERT",
              "table": "customers",
              "schema": "public",
              "record": {
                "id": 17,
                "name": "Acme Corp",
                "email": "buyer@acme.com",
                "status": "urgent",
                "amount": 1450,
                "plan": "Pro Plan"
              },
              "old_record": null
            }
          }
        ],
        "activeResponseIndex": 0
      },
      {
        "id": "2",
        "position": {
          "x": 175,
          "y": 0
        },
        "nodeType": "router",
        "application": "router",
        "stepID": "2",
        "type": "action",
        "actionAppArgs": [],
        "data": {
          "label": "Router",
          "app": {
            "key": "router",
            "fm_app": "router"
          },
          "layoutDirection": "horizontal",
          "stepNumber": 2,
          "stepIndex": 2
        },
        "parentType": "step"
      },
      {
        "id": "2-routerSwitch",
        "position": {
          "x": 275,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "+",
          "stepNumber": null,
          "layoutDirection": "horizontal",
          "app": []
        },
        "routerSwitch": true,
        "stepID": "2-routerSwitch",
        "nodeType": "routerSwitch",
        "actionAppArgs": []
      },
      {
        "id": "2-routerRoute_A",
        "position": {
          "x": 395,
          "y": -112.5
        },
        "type": "action",
        "data": {
          "label": "Route A",
          "stepNumber": null,
          "layoutDirection": "horizontal",
          "app": [],
          "customLabel": "Urgent"
        },
        "routerRoute": true,
        "routeLetter": "A",
        "routeIndex": 0,
        "stepID": "2-routerRoute_A",
        "nodeType": "routerRoute",
        "actionAppArgs": []
      },
      {
        "id": "3",
        "position": {
          "x": 615,
          "y": -112.5
        },
        "type": "action",
        "data": {
          "label": "Route Conditions",
          "layoutDirection": "horizontal",
          "stepNumber": 3,
          "app": {
            "key": "filter",
            "fm_app": "filter"
          },
          "eventSlug": "continue_if",
          "eventTitle": "Route Conditions",
          "customLabel": "Route Conditions"
        },
        "parentType": "routerRoute",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "filterConditions": {
            "1": [
              {
                "key": "{supabase1.record.status}",
                "condition": "exactly_match",
                "value": "urgent"
              }
            ]
          }
        },
        "application": "filter",
        "action": "continue_if",
        "nodeType": "step",
        "stepID": "3",
        "filterConditions": {
          "filterConditions": {
            "1": [
              {
                "key": "{supabase1.record.status}",
                "condition": "exactly_match",
                "value": "urgent"
              }
            ]
          }
        }
      },
      {
        "id": "4",
        "position": {
          "x": 790,
          "y": -112.5
        },
        "type": "action",
        "data": {
          "label": "Alert Slack",
          "layoutDirection": "horizontal",
          "stepNumber": 4,
          "app": {
            "key": "slack",
            "fm_app": "slack"
          },
          "eventSlug": "send_message_to_channel",
          "eventTitle": "Send Channel Message"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "message_text": "Urgent row in {supabase1.table}: {supabase1.record.name} (${supabase1.record.amount})"
        },
        "application": "slack",
        "action": "send_message_to_channel",
        "nodeType": "step",
        "stepID": "4"
      },
      {
        "id": "5",
        "position": {
          "x": 965,
          "y": -112.5
        },
        "type": "action",
        "data": {
          "label": "Send Email",
          "layoutDirection": "horizontal",
          "stepNumber": 5,
          "app": {
            "key": "email",
            "fm_app": "email"
          },
          "eventSlug": "send_email",
          "eventTitle": "Send Email"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "to_email": "owner@yourcompany.com",
          "email_subject": "Urgent Supabase row: {supabase1.record.name}",
          "email_body": "A row marked urgent was just inserted. Amount: {supabase1.record.amount}."
        },
        "application": "email",
        "action": "send_email",
        "nodeType": "step",
        "stepID": "5"
      },
      {
        "id": "2_A_placeholder",
        "position": {
          "x": 1140,
          "y": -112.5
        },
        "type": "placeholder",
        "data": {
          "label": "+",
          "layoutDirection": "horizontal",
          "stepNumber": null,
          "app": []
        },
        "measured": {
          "width": 40,
          "height": 82
        },
        "stepID": "2_A_placeholder",
        "nodeType": "placeholder",
        "actionAppArgs": []
      },
      {
        "id": "2-routerRoute_B",
        "position": {
          "x": 395,
          "y": 112.5
        },
        "type": "action",
        "data": {
          "label": "Route B",
          "stepNumber": null,
          "layoutDirection": "horizontal",
          "app": [],
          "customLabel": "Normal"
        },
        "routerRoute": true,
        "routeLetter": "B",
        "routeIndex": 1,
        "stepID": "2-routerRoute_B",
        "nodeType": "routerRoute",
        "actionAppArgs": []
      },
      {
        "id": "6",
        "position": {
          "x": 615,
          "y": 112.5
        },
        "type": "action",
        "data": {
          "label": "Route Conditions",
          "layoutDirection": "horizontal",
          "stepNumber": 6,
          "app": {
            "key": "filter",
            "fm_app": "filter"
          },
          "eventSlug": "continue_if",
          "eventTitle": "Route Conditions",
          "customLabel": "Route Conditions"
        },
        "parentType": "routerRoute",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "filterConditions": {
            "1": [
              {
                "key": "{supabase1.record.status}",
                "condition": "exactly_match",
                "value": "normal"
              }
            ]
          }
        },
        "application": "filter",
        "action": "continue_if",
        "nodeType": "step",
        "stepID": "6",
        "filterConditions": {
          "filterConditions": {
            "1": [
              {
                "key": "{supabase1.record.status}",
                "condition": "exactly_match",
                "value": "normal"
              }
            ]
          }
        }
      },
      {
        "id": "7",
        "position": {
          "x": 790,
          "y": 112.5
        },
        "type": "action",
        "data": {
          "label": "Log to the tracking sheet",
          "layoutDirection": "horizontal",
          "stepNumber": 7,
          "app": {
            "key": "google_spreadsheets",
            "fm_app": "google_spreadsheets"
          },
          "eventSlug": "new_row",
          "eventTitle": "Add New Row"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": [],
        "application": "google_spreadsheets",
        "action": "new_row",
        "nodeType": "step",
        "stepID": "7"
      },
      {
        "id": "2_B_placeholder",
        "position": {
          "x": 965,
          "y": 112.5
        },
        "type": "placeholder",
        "data": {
          "label": "+",
          "layoutDirection": "horizontal",
          "stepNumber": null,
          "app": []
        },
        "measured": {
          "width": 40,
          "height": 82
        },
        "stepID": "2_B_placeholder",
        "nodeType": "placeholder",
        "actionAppArgs": []
      }
    ],
    "edges": [
      {
        "id": "e-1-2",
        "source": "1",
        "target": "2",
        "type": "step",
        "data": []
      },
      {
        "id": "e-2-2-routerSwitch",
        "source": "2",
        "target": "2-routerSwitch",
        "type": "router",
        "data": []
      },
      {
        "id": "e-2-routerSwitch-2-routerRoute_A",
        "source": "2-routerSwitch",
        "target": "2-routerRoute_A",
        "type": "router",
        "data": []
      },
      {
        "id": "e-2-routerRoute_A-3",
        "source": "2-routerRoute_A",
        "target": "3",
        "type": "router",
        "data": []
      },
      {
        "id": "e-3-4",
        "source": "3",
        "target": "4",
        "type": "step",
        "data": []
      },
      {
        "id": "e-4-5",
        "source": "4",
        "target": "5",
        "type": "step",
        "data": []
      },
      {
        "id": "e-5-2_A_placeholder",
        "source": "5",
        "target": "2_A_placeholder",
        "type": "placeholder",
        "data": []
      },
      {
        "id": "e-2-routerSwitch-2-routerRoute_B",
        "source": "2-routerSwitch",
        "target": "2-routerRoute_B",
        "type": "router",
        "data": []
      },
      {
        "id": "e-2-routerRoute_B-6",
        "source": "2-routerRoute_B",
        "target": "6",
        "type": "router",
        "data": []
      },
      {
        "id": "e-6-7",
        "source": "6",
        "target": "7",
        "type": "step",
        "data": []
      },
      {
        "id": "e-7-2_B_placeholder",
        "source": "7",
        "target": "2_B_placeholder",
        "type": "placeholder",
        "data": []
      }
    ]
  },
  "workflow_settings": {
    "name": "Route new Supabase rows by status to the right follow-up",
    "folder": "all",
    "description": "A Router reads each new row's status: urgent rows ping Slack and email the owner, rows with status normal are logged to a Google Sheet. Rows with any other status are ignored.",
    "status": "off",
    "user_email": "",
    "webhook_queue": "disabled",
    "workflow_auth_key": "",
    "builder_version": "v2",
    "time": "",
    "ai_generated": "yes"
  }
}