{
  "workflow_name": "Send a Calendly booking link when someone types !book in Discord",
  "workflow_steps": {
    "steps": [
      {
        "id": "1",
        "position": {
          "x": 0,
          "y": 0
        },
        "data": {
          "label": "New Message Posted to Channel",
          "app": {
            "key": "discord",
            "fm_app": "discord"
          },
          "eventSlug": "new_channel_message",
          "eventTitle": "New Message Posted to Channel",
          "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": "discord",
        "stepID": "1",
        "action": "new_channel_message",
        "nodeType": "step",
        "actionAppArgs": [],
        "captureResponse": {
          "id": "1298765432109876543",
          "channel_id": "1187654321098765432",
          "content": "!book I'd love 30 minutes to review my portfolio",
          "author_id": "998877665544332211",
          "author_username": "kai_designs",
          "timestamp": "2026-10-22T12:30:00.000000+00:00"
        },
        "responses": [
          {
            "letter": "A",
            "time": "01/07/2026, 10:00:00",
            "response": {
              "id": "1298765432109876543",
              "channel_id": "1187654321098765432",
              "content": "!book I'd love 30 minutes to review my portfolio",
              "author_id": "998877665544332211",
              "author_username": "kai_designs",
              "timestamp": "2026-10-22T12:30:00.000000+00:00"
            }
          }
        ],
        "activeResponseIndex": 0
      },
      {
        "id": "2",
        "position": {
          "x": 175,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Filter Conditions",
          "layoutDirection": "horizontal",
          "stepNumber": 2,
          "app": {
            "key": "filter",
            "fm_app": "filter"
          },
          "eventSlug": "continue_if",
          "eventTitle": "Continue If Condition Meet",
          "customLabel": "Continue if the message has !book"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "filterConditions": {
            "1": [
              {
                "key": "{discord1.content}",
                "condition": "contain_text",
                "value": "!book"
              }
            ]
          }
        },
        "application": "filter",
        "action": "continue_if",
        "nodeType": "step",
        "stepID": "2",
        "filterConditions": {
          "filterConditions": {
            "1": [
              {
                "key": "{discord1.content}",
                "condition": "contain_text",
                "value": "!book"
              }
            ]
          }
        }
      },
      {
        "id": "3",
        "position": {
          "x": 350,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Get tomorrow's date",
          "layoutDirection": "horizontal",
          "stepNumber": 3,
          "app": {
            "key": "date_time_formatter",
            "fm_app": "date_time_formatter"
          },
          "eventSlug": "modify_current_date",
          "eventTitle": "Modify Current Date"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "to_format": "Y-m-d",
          "operation": "add",
          "time_unit": "days",
          "time_unit_value": "1"
        },
        "application": "date_time_formatter",
        "action": "modify_current_date",
        "nodeType": "step",
        "stepID": "3"
      },
      {
        "id": "4",
        "position": {
          "x": 525,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Get the date in two weeks",
          "layoutDirection": "horizontal",
          "stepNumber": 4,
          "app": {
            "key": "date_time_formatter",
            "fm_app": "date_time_formatter"
          },
          "eventSlug": "modify_current_date",
          "eventTitle": "Modify Current Date"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "to_format": "Y-m-d",
          "operation": "add",
          "time_unit": "days",
          "time_unit_value": "14"
        },
        "application": "date_time_formatter",
        "action": "modify_current_date",
        "nodeType": "step",
        "stepID": "4"
      },
      {
        "id": "5",
        "position": {
          "x": 700,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Create Calendly one-off meeting",
          "layoutDirection": "horizontal",
          "stepNumber": 5,
          "app": {
            "key": "calendly",
            "fm_app": "calendly"
          },
          "eventSlug": "create_one_off_meeting",
          "eventTitle": "Create One-Off Meeting"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "name": "Session with {discord1.author_username}",
          "duration": "30",
          "timezone": "UTC",
          "start_date": "{date_time_formatter3.output}",
          "end_date": "{date_time_formatter4.output}",
          "location_kind": "google_conference"
        },
        "application": "calendly",
        "action": "create_one_off_meeting",
        "nodeType": "step",
        "stepID": "5"
      },
      {
        "id": "6",
        "position": {
          "x": 875,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "DM the booking link",
          "layoutDirection": "horizontal",
          "stepNumber": 6,
          "app": {
            "key": "discord",
            "fm_app": "discord"
          },
          "eventSlug": "send_direct_message",
          "eventTitle": "Send Direct Message"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "user_id": "{discord1.author_id}",
          "message": "Hi {discord1.author_username}! Grab a time that suits you here: {calendly5.scheduling_url}"
        },
        "application": "discord",
        "action": "send_direct_message",
        "nodeType": "step",
        "stepID": "6"
      },
      {
        "id": "main_end_placeholder",
        "position": {
          "x": 1050,
          "y": 0
        },
        "type": "placeholder",
        "data": {
          "label": "+",
          "layoutDirection": "horizontal",
          "stepNumber": null,
          "app": []
        },
        "measured": {
          "width": 40,
          "height": 82
        },
        "stepID": "main_end_placeholder",
        "nodeType": "placeholder",
        "actionAppArgs": []
      }
    ],
    "edges": [
      {
        "id": "e-1-2",
        "source": "1",
        "target": "2",
        "type": "step",
        "data": []
      },
      {
        "id": "e-2-3",
        "source": "2",
        "target": "3",
        "type": "step",
        "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-6",
        "source": "5",
        "target": "6",
        "type": "step",
        "data": []
      },
      {
        "id": "e-6-main_end_placeholder",
        "source": "6",
        "target": "main_end_placeholder",
        "type": "placeholder",
        "data": []
      }
    ]
  },
  "workflow_settings": {
    "name": "Send a Calendly booking link when someone types !book in Discord",
    "folder": "all",
    "description": "When a member posts a message containing !book in your Discord channel, FlowMattic creates a single-use Calendly meeting open for the next two weeks and sends the link to them by direct message. Ideal for coaching communities and office hours. After import, pick the server and channel to watch, and set the meeting name, length and time zone in the Calendly step.",
    "status": "off",
    "user_email": "",
    "webhook_queue": "disabled",
    "workflow_auth_key": "",
    "builder_version": "v2",
    "time": "",
    "ai_generated": "yes"
  }
}