AutomationFlowsGeneral › Create Monday.com Board Items From Jotform Submissions with Field Mapping

Create Monday.com Board Items From Jotform Submissions with Field Mapping

ByRobert Breen @rbreen on n8n.io

Capture new Jotform submissions and instantly create items on a Monday.com board with mapped columns (email, date, dropdowns, instructions, etc.). Add your Jotform API key (Jotform Account → Settings → API → Create Key). Create your form template in Jotform (use fields like…

Event trigger★★☆☆☆ complexity6 nodesJot Form TriggerMonday.com
General Trigger: Event Nodes: 6 Complexity: ★★☆☆☆ Added:

This workflow corresponds to n8n.io template #8231 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "99d58716-909f-4bdd-87e2-7480df396fdf",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1136,
        3120
      ],
      "parameters": {
        "color": 7,
        "width": 1248,
        "height": 1056,
        "content": "### Add Jotform submissions to a Monday.com board (Jotform Trigger \u2192 Monday.com Create Item)\n\nCapture new Jotform submissions and instantly create items on a Monday.com board with mapped columns (email, dates, dropdowns, instructions, etc.). Great for routing **leads**, **requests**, or **intake forms** straight into your team\u2019s Monday pipeline.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "01bb1db3-bb09-4216-8675-f78cef29c008",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1568,
        3120
      ],
      "parameters": {
        "width": 400,
        "height": 1056,
        "content": "## \ud83d\udee0\ufe0f Setup \u2014 Monday.com\n1. In Monday.com, **generate an API token** (Admin/Developers \u2192 API).  \n2. In **n8n \u2192 Credentials \u2192 New \u2192 Monday.com**, paste your **API token**.  \n3. Identify and set:\n   - **Board ID** (from your board URL or via node \u201cList\u201d operations)  \n   - **Group ID** (e.g., `topics`)  \n   - **Column IDs** that match your board (examples used by this workflow):  \n     - `text_mkvdj8v3` \u2192 Email (Text)  \n     - `date_mkvdg4aa` \u2192 Start Date (Date)  \n     - `dropdown_mkvdjwra` \u2192 Engagement Type (Dropdown)  \n     - `dropdown_mkvdd9v3` \u2192 Campaign Type (Dropdown)  \n     - `text_mkvd2md9` \u2192 Campaign Type (as Text label)  \n     - `text_mkvd1bj2` \u2192 Instructions (Text)  \n     - `text_mkvd5w3y` \u2192 Domain (Text)  \n4. Update the **label \u2192 ID mappings** inside the Monday.com node if your dropdown IDs differ (e.g., `Engagement A` \u2192 `1`, `Engagement B` \u2192 `2`).\n\n---\n## \ud83d\udcec Contact  \nNeed help customizing this (e.g., more fields, file uploads, or multi-board routing)?  \n\n- \ud83d\udce7 **rbreen@ynteractive.com**  \n- \ud83d\udd17 **Robert Breen** \u2014 https://www.linkedin.com/in/robert-breen-29429625/  \n- \ud83c\udf10 **ynteractive.com** \u2014 https://ynteractive.com\n"
      },
      "typeVersion": 1
    },
    {
      "id": "2f3b5571-3cc8-4149-8e5a-bdb7129a9d14",
      "name": "Jotform Form",
      "type": "n8n-nodes-base.jotFormTrigger",
      "position": [
        -848,
        3712
      ],
      "parameters": {
        "form": "252445218058053"
      },
      "typeVersion": 1
    },
    {
      "id": "2e25b2de-0fe1-414a-baec-c62c1d760f5a",
      "name": "Monday.com Post",
      "type": "n8n-nodes-base.mondayCom",
      "position": [
        -432,
        3872
      ],
      "parameters": {
        "name": "={{ $json.Name.first }} {{ $json.Name.last }}",
        "boardId": "9954397625",
        "groupId": "topics",
        "resource": "boardItem",
        "additionalFields": {
          "columnValues": "={{ (()=>{\n  const out = {};\n\n  // Email (Text)\n  out.text_mkvdj8v3 = $json.Email || \"\";\n\n  // Start Date (Date -> YYYY-MM-DD)\n  if ($json['Start Date']) {\n    const y = String($json['Start Date'].year || '');\n    const m = String($json['Start Date'].month || '').padStart(2,'0');\n    const d = String($json['Start Date'].day || '').padStart(2,'0');\n    out.date_mkvdg4aa = { date: (y && m && d) ? `${y}-${m}-${d}` : '' };\n  }\n\n  // Engagement Type (Dropdown) \u2013 map label -> ID\n  const engMap = { \"Engagement A\": 1, \"Engagement B\": 2 };\n  const eng = $json['Engagement Type'];\n  if (eng && engMap[eng]) {\n    out.dropdown_mkvdjwra = { ids: [ engMap[eng] ] };\n  }\n\n  // Campaign Type (Dropdown) \u2013 map label -> ID\n  const campMap = { \"Campaign A\": 1, \"Campaign B\": 2 };\n  const camp = $json['Campaign Type'];\n  if (camp && campMap[camp]) {\n    out.dropdown_mkvdd9v3 = { ids: [ campMap[camp] ] };\n  }\n\n  // Campaign Type (Text) \u2013 store label too\n  out.text_mkvd2md9 = $json['Campaign Type'] || \"\";\n\n  // Instructions on posting (Text)\n  out.text_mkvd1bj2 = $json.Instructions || \"\";\n\n  // Domain (Text) \u2013 derived from Email\n  out.text_mkvd5w3y = ($json.Email && $json.Email.includes(\"@\"))\n    ? $json.Email.split(\"@\")[1]\n    : \"\";\n\n  return JSON.stringify(out);\n})() }}\n"
        }
      },
      "credentials": {
        "mondayComApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0fb77582-44ea-47c4-b653-32d4baaa5289",
      "name": "Sticky Note64",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -912,
        3312
      ],
      "parameters": {
        "color": 3,
        "width": 224,
        "height": 544,
        "content": "## \ud83d\udee0\ufe0f Setup \u2014 Jotform (simple)\n1. **Add your Jotform API key** (Jotform Account \u2192 Settings \u2192 API \u2192 Create Key).  \n2. **Create your form template** in Jotform (use fields like Name, Email, Start Date, Engagement Type, Campaign Type, Instructions).  \n3. In **n8n**, open the **Jotform Trigger** node and **choose your Jotform template/form** from the dropdown. That\u2019s it.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "19d12eff-5762-4b2a-ac2f-62c3dfeb6c11",
      "name": "Sticky Note65",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -576,
        3232
      ],
      "parameters": {
        "color": 3,
        "width": 432,
        "height": 848,
        "content": "## \ud83d\udee0\ufe0f Setup \u2014 Monday.com\n1. Go to **https://monday.com** \u2192 profile menu \u2192 **Admin / Developers** \u2192 **API** and **generate a personal API token** (or use an existing token with the correct permissions).  \n2. In n8n, create a new **Monday.com** credential and paste your **API token**.  \n3. Identify your **Board ID** and **Group ID**:\n   - Open your board in a browser; the URL often contains the board ID.  \n   - Group IDs can be read via the Monday.com node (e.g., \u201cList\u201d operations) or from the UI if available.  \n4. Confirm column IDs on your board. Common examples used by this template (you can map to your own):  \n   - `text_mkvdj8v3` \u2192 Email (Text)  \n   - `date_mkvdg4aa` \u2192 Start Date (Date)  \n   - `dropdown_mkvdjwra` \u2192 Engagement Type (Dropdown)  \n   - `dropdown_mkvdd9v3` \u2192 Campaign Type (Dropdown)  \n   - `text_mkvd2md9` \u2192 Campaign Type (Label as Text)  \n   - `text_mkvd1bj2` \u2192 Instructions (Text)  \n   - `text_mkvd5w3y` \u2192 Domain (Text)  \n5. Update the **label\u2192ID mappings** in the Monday.com node if your dropdown IDs differ:  \n   - Example mapping in the JSON:  \n     - `Engagement A` \u2192 `1`, `Engagement B` \u2192 `2`  \n     - `Campaign A` \u2192 `1`, `Campaign B` \u2192 `2`  \n   Replace these with the actual IDs from your board\u2019s dropdown columns.\n"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Jotform Form": {
      "main": [
        [
          {
            "node": "Monday.com Post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Capture new Jotform submissions and instantly create items on a Monday.com board with mapped columns (email, date, dropdowns, instructions, etc.). Add your Jotform API key (Jotform Account → Settings → API → Create Key). Create your form template in Jotform (use fields like…

Source: https://n8n.io/workflows/8231/ — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

Community Node Disclaimer: This workflow uses KlickTipp community nodes.

N8N Nodes Klicktipp, Jot Form Trigger
General

⚠️ Important: This workflow uses the Autype community node and requires a self-hosted n8n instance.

Form Trigger, N8N Nodes Autype
General

Let a user load multiple files with a Form node, and process the binary data. A very important workflow for many tools.

Read Write File, Form Trigger
General

Turn a .rvt project into open, analysis-ready data (XLSX + optional DAE/PDF) using the RvtExporter.exe from the DDC Revit toolkit. This n8n template provides a Form UI to set paths and flags, then run

Form Trigger, Execute Command
General

Post on X. Uses airtop, executeWorkflowTrigger, formTrigger, stopAndError. Event-driven trigger; 10 nodes.

Airtop, Execute Workflow Trigger, Form Trigger +1