{
  "workflow_name": "Add Typeform booking requests to Google Calendar as events",
  "workflow_steps": {
    "steps": [
      {
        "id": "1",
        "position": {
          "x": 0,
          "y": 0
        },
        "data": {
          "label": "New Form Submission",
          "app": {
            "key": "typeform",
            "fm_app": "typeform"
          },
          "eventSlug": "form_submission",
          "eventTitle": "New Form Submission",
          "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": "typeform",
        "stepID": "1",
        "action": "form_submission",
        "nodeType": "step",
        "actionAppArgs": [],
        "captureResponse": {
          "name": "Jane Doe",
          "email": "jane@example.com",
          "phone": "+15551234567",
          "subject": "Product enquiry",
          "message": "I'd like a demo and pricing for a team of 20.",
          "topic": "Website audit",
          "preferred_date": "2026-11-12",
          "preferred_time": "14:30",
          "notes": "Please look at our checkout pages."
        },
        "responses": [
          {
            "letter": "A",
            "time": "01/07/2026, 10:00:00",
            "response": {
              "name": "Jane Doe",
              "email": "jane@example.com",
              "phone": "+15551234567",
              "subject": "Product enquiry",
              "message": "I'd like a demo and pricing for a team of 20.",
              "topic": "Website audit",
              "preferred_date": "2026-11-12",
              "preferred_time": "14:30",
              "notes": "Please look at our checkout pages."
            }
          }
        ],
        "activeResponseIndex": 0
      },
      {
        "id": "2",
        "position": {
          "x": 175,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Work out the end time",
          "layoutDirection": "horizontal",
          "stepNumber": 2,
          "app": {
            "key": "date_time_formatter",
            "fm_app": "date_time_formatter"
          },
          "eventSlug": "add_subtract_time",
          "eventTitle": "Add/Subtract Time"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "input_date": "{typeform1.preferred_date} {typeform1.preferred_time}",
          "from_format": "custom",
          "custom_from_format": "Y-m-d H:i",
          "expression": "+30 minutes",
          "to_format": "custom",
          "custom_to_format": "Y-m-d H:i:s"
        },
        "application": "date_time_formatter",
        "action": "add_subtract_time",
        "nodeType": "step",
        "stepID": "2"
      },
      {
        "id": "3",
        "position": {
          "x": 350,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Create the Google Calendar event",
          "layoutDirection": "horizontal",
          "stepNumber": 3,
          "app": {
            "key": "google_calendar",
            "fm_app": "google_calendar"
          },
          "eventSlug": "create_event",
          "eventTitle": "Create Detailed Event"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "calendar_id": "primary",
          "event_title": "{typeform1.topic} with {typeform1.name}",
          "event_description": "{typeform1.notes}\n\nRequested through Typeform by {typeform1.email}",
          "start_datetime": "{typeform1.preferred_date} {typeform1.preferred_time}:00",
          "end_datetime": "{date_time_formatter2.output}",
          "timezone": "UTC",
          "attendees": "{typeform1.email}"
        },
        "application": "google_calendar",
        "action": "create_event",
        "nodeType": "step",
        "stepID": "3"
      },
      {
        "id": "main_end_placeholder",
        "position": {
          "x": 525,
          "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-main_end_placeholder",
        "source": "3",
        "target": "main_end_placeholder",
        "type": "placeholder",
        "data": []
      }
    ]
  },
  "workflow_settings": {
    "name": "Add Typeform booking requests to Google Calendar as events",
    "folder": "all",
    "description": "When someone requests a session through Typeform, FlowMattic works out the end time and adds a Google Calendar event that invites them. Coaches, consultants and tutors get booked sessions on their calendar without retyping. After import, match the date and time questions on your form, and change the session length or timezone.",
    "status": "off",
    "user_email": "",
    "webhook_queue": "disabled",
    "workflow_auth_key": "",
    "builder_version": "v2",
    "time": "",
    "ai_generated": "yes"
  }
}