{
  "workflow_name": "AI agent that standardises country and region fields on new records",
  "workflow_steps": {
    "steps": [
      {
        "id": "1",
        "position": {
          "x": 0,
          "y": 0
        },
        "data": {
          "label": "New Spreadsheet Row",
          "app": {
            "key": "google_spreadsheets",
            "fm_app": "google_spreadsheets"
          },
          "eventSlug": "new_row",
          "eventTitle": "New Spreadsheet Row",
          "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": "google_spreadsheets",
        "stepID": "1",
        "action": "new_row",
        "nodeType": "step",
        "actionAppArgs": [],
        "captureResponse": {
          "country": "usa",
          "region": "calif",
          "email": "jo@acme.io"
        },
        "responses": [
          {
            "letter": "A",
            "time": "01/07/2026, 10:00:00",
            "response": {
              "country": "usa",
              "region": "calif",
              "email": "jo@acme.io"
            }
          }
        ],
        "activeResponseIndex": 0
      },
      {
        "id": "2",
        "position": {
          "x": 175,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "AI Agent by FlowMattic",
          "layoutDirection": "horizontal",
          "stepNumber": 2,
          "stepIndex": 2,
          "app": {
            "key": "ai_agent",
            "fm_app": "ai_agent"
          },
          "eventSlug": "execute_agent",
          "eventTitle": "Execute Agent"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 350,
          "height": 82
        },
        "actionAppArgs": {
          "system_prompt": "Standardise the country and region fields into their canonical ISO names and file a tidy record in Airtable. Correct common misspellings and abbreviations.",
          "user_input": "Raw record: country={google_spreadsheets1.country}, region={google_spreadsheets1.region}, email={google_spreadsheets1.email}",
          "output_format": "text",
          "application": "ai_agent",
          "responseViewType": "on",
          "include_execution_log": "",
          "include_request_body": ""
        },
        "application": "ai_agent",
        "stepID": "2",
        "nodeType": "aiAgent",
        "agent_config": {
          "chat_model": {
            "connect_id": "",
            "model_id": "gpt-4o",
            "model_name": "GPT-4o",
            "provider": "openai",
            "max_tokens": "1024",
            "temperature": "0.7",
            "top_p": "1",
            "top_k": "0",
            "frequency_penalty": "0",
            "presence_penalty": "0",
            "nodeId": "2-chatModel",
            "position": {
              "x": 215,
              "y": 172
            }
          },
          "tools": [
            {
              "app": "airtable",
              "app_name": "Airtable",
              "app_icon": "",
              "action": "create_record",
              "action_title": "Create Record",
              "tool_name": "Airtable - Create Record",
              "tool_description": "File the normalised record",
              "actionAppArgs": {
                "fields": "AI:"
              },
              "configured": true,
              "sourceNodeId": "2-tool"
            },
            {
              "app": "google_spreadsheets",
              "app_name": "Google Sheets",
              "app_icon": "",
              "action": "update_specific_column_data",
              "action_title": "Update Specific Column Value",
              "tool_name": "Google Sheets - Update Specific Column Value",
              "tool_description": "Mark the source row cleaned",
              "actionAppArgs": {
                "value": "AI:"
              },
              "configured": true,
              "sourceNodeId": "2-tool"
            }
          ]
        }
      },
      {
        "id": "3",
        "position": {
          "x": 350,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Log to Slack",
          "layoutDirection": "horizontal",
          "stepNumber": 3,
          "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": "Normalised a new record from the intake sheet."
        },
        "application": "slack",
        "action": "send_message_to_channel",
        "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": "AI agent that standardises country and region fields on new records",
    "folder": "all",
    "description": "When a new sheet row arrives, an AI agent normalises free-text country and region values into a canonical form and files a clean record in Airtable.",
    "status": "off",
    "user_email": "",
    "webhook_queue": "disabled",
    "workflow_auth_key": "",
    "builder_version": "v2",
    "time": "",
    "ai_generated": "yes"
  }
}