{
  "openruna_format": "flow-graph-v1",
  "title": "0702_Webhook_GoogleCalendar_Create_Webhook",
  "slug": "0702-webhook-googlecalendar-create-webhook",
  "source_filename": "0702_Webhook_GoogleCalendar_Create_Webhook.json",
  "nodes": [
    {
      "id": "Check if user found",
      "name": "Check if user found",
      "integration": "if",
      "kind": "logic"
    },
    {
      "id": "Check if available",
      "name": "Check if available",
      "integration": "if",
      "kind": "logic"
    },
    {
      "id": "Check for malformed date",
      "name": "Check for malformed date",
      "integration": "if",
      "kind": "logic"
    },
    {
      "id": "Create Ticket",
      "name": "Create Ticket",
      "integration": "httpRequest",
      "kind": "action"
    },
    {
      "id": "Create Customer in DB",
      "name": "Create Customer in DB",
      "integration": "httpRequest",
      "kind": "action"
    },
    {
      "id": "Check if submitted succesfully",
      "name": "Check if submitted succesfully",
      "integration": "if",
      "kind": "logic"
    },
    {
      "id": "Ticket Created Successfully",
      "name": "Ticket Created Successfully",
      "integration": "respondToWebhook",
      "kind": "action"
    },
    {
      "id": "Error Creating Ticket",
      "name": "Error Creating Ticket",
      "integration": "respondToWebhook",
      "kind": "action"
    },
    {
      "id": "Airtable Endpoint",
      "name": "Airtable Endpoint",
      "integration": "webhook",
      "kind": "trigger"
    },
    {
      "id": "Gcal Endpoint",
      "name": "Gcal Endpoint",
      "integration": "webhook",
      "kind": "trigger"
    },
    {
      "id": "Zendesk Endpoint",
      "name": "Zendesk Endpoint",
      "integration": "webhook",
      "kind": "trigger"
    },
    {
      "id": "Voiceflow Endpoint",
      "name": "Voiceflow Endpoint",
      "integration": "webhook",
      "kind": "trigger"
    },
    {
      "id": "Extract Phone Number",
      "name": "Extract Phone Number",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Extract Zendesk Fields",
      "name": "Extract Zendesk Fields",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Extract Gcal Data",
      "name": "Extract Gcal Data",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Extract Airtable Data",
      "name": "Extract Airtable Data",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Create Airtable Data",
      "name": "Create Airtable Data",
      "integration": "airtable",
      "kind": "action"
    },
    {
      "id": "Query Google Sheets for Phone",
      "name": "Query Google Sheets for Phone",
      "integration": "googleSheets",
      "kind": "action"
    },
    {
      "id": "Respond to Webhook with Customer Data",
      "name": "Respond to Webhook with Customer Data",
      "integration": "respondToWebhook",
      "kind": "action"
    },
    {
      "id": "Respond to Webhook with Error",
      "name": "Respond to Webhook with Error",
      "integration": "respondToWebhook",
      "kind": "action"
    },
    {
      "id": "Set Error Data",
      "name": "Set Error Data",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Check Calendar Availability",
      "name": "Check Calendar Availability",
      "integration": "googleCalendar",
      "kind": "action"
    },
    {
      "id": "Create Calendar Event",
      "name": "Create Calendar Event",
      "integration": "googleCalendar",
      "kind": "action"
    },
    {
      "id": "Set Calendar Success Message",
      "name": "Set Calendar Success Message",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Respond with Success",
      "name": "Respond with Success",
      "integration": "respondToWebhook",
      "kind": "action"
    },
    {
      "id": "Set Calendar Error Data",
      "name": "Set Calendar Error Data",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Respond With Calendar Error data",
      "name": "Respond With Calendar Error data",
      "integration": "respondToWebhook",
      "kind": "action"
    },
    {
      "id": "Set Invalid Data Error",
      "name": "Set Invalid Data Error",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Respond with Generic Error",
      "name": "Respond with Generic Error",
      "integration": "respondToWebhook",
      "kind": "action"
    }
  ],
  "edges": [
    {
      "from": "Create Ticket",
      "to": "Check if submitted succesfully"
    },
    {
      "from": "Gcal Endpoint",
      "to": "Extract Gcal Data"
    },
    {
      "from": "Set Error Data",
      "to": "Respond to Webhook with Error"
    },
    {
      "from": "Zendesk Endpoint",
      "to": "Extract Zendesk Fields"
    },
    {
      "from": "Airtable Endpoint",
      "to": "Extract Airtable Data"
    },
    {
      "from": "Extract Gcal Data",
      "to": "Check for malformed date"
    },
    {
      "from": "Check if available",
      "to": "Create Calendar Event"
    },
    {
      "from": "Check if available",
      "to": "Set Calendar Error Data"
    },
    {
      "from": "Voiceflow Endpoint",
      "to": "Extract Phone Number"
    },
    {
      "from": "Check if user found",
      "to": "Respond to Webhook with Customer Data"
    },
    {
      "from": "Check if user found",
      "to": "Set Error Data"
    },
    {
      "from": "Extract Phone Number",
      "to": "Query Google Sheets for Phone"
    },
    {
      "from": "Create Calendar Event",
      "to": "Set Calendar Success Message"
    },
    {
      "from": "Create Customer in DB",
      "to": "Create Ticket"
    },
    {
      "from": "Extract Airtable Data",
      "to": "Create Airtable Data"
    },
    {
      "from": "Extract Zendesk Fields",
      "to": "Create Customer in DB"
    },
    {
      "from": "Set Invalid Data Error",
      "to": "Respond with Generic Error"
    },
    {
      "from": "Set Calendar Error Data",
      "to": "Respond With Calendar Error data"
    },
    {
      "from": "Check for malformed date",
      "to": "Check Calendar Availability"
    },
    {
      "from": "Check for malformed date",
      "to": "Set Invalid Data Error"
    },
    {
      "from": "Check Calendar Availability",
      "to": "Check if available"
    },
    {
      "from": "Set Calendar Success Message",
      "to": "Respond with Success"
    },
    {
      "from": "Query Google Sheets for Phone",
      "to": "Check if user found"
    },
    {
      "from": "Check if submitted succesfully",
      "to": "Ticket Created Successfully"
    },
    {
      "from": "Check if submitted succesfully",
      "to": "Error Creating Ticket"
    }
  ]
}