Managing Monday.com Items and Subitems Creating Monday.com Items from Orders

When a new order comes in, you can automatically create a detailed item in Monday.com to track its progress. This guide walks you through mapping order, client, and property fields to a Monday.com board, and includes a custom script for handling advanced column formatting.

While this guide uses concepts commonly found in automation tools like Zapier, the field mappings and API logic apply to any integration method you choose.

Automation Workflow

Here is a high-level look at how order data flows into Monday.com:

flowchart TD
    A["New Order Received"] --> B["Extract Order Data"]
    B --> C["Create Monday.com Item"]
    C --> D["Run Custom Script (Clear/Format Columns)"]
    D --> E["Item Ready for Processing"]

Mapping Order Data

When configuring your automation to create a new item, you will need to map the incoming order data to the specific column types in your Monday.com board.

Common Field Mappings

To ensure your board stays organized, map your incoming data to the appropriate Monday.com column types:

Monday.com Column TypeOrder Data FieldExample / Notes
Item NameOrder IDUse a unique identifier like OrderID as the main item name.
TextProperty Address, Client NameStandard text fields for PropAddress, City, State, and Zip.
EmailClient EmailRequires both emailAddress and emailToDisplay.
Status (Color)Deal Stage, OccupancyMaps to specific status labels (e.g., "Submitted", "Occupied").
LocationProperty CoordinatesRequires lat (Latitude), lng (Longitude), and address.
NumericSubTotalMaps directly to a numbers column for pricing or measurements.
Long TextSpecial InstructionsIdeal for longer user notes or site access instructions.

When mapping Location columns, you must provide the exact Latitude, Longitude, and the formatted text address. If any of these three are missing, the map view in Monday.com may not render correctly.

Creating the Item

Follow these steps to set up your order-to-item pipeline:

  1. 1

    Set up your trigger

    Connect your order intake system (e.g., a form, CRM, or e-commerce platform) to your automation tool to trigger when a new order is submitted.

  2. 2

    Configure the Monday.com action

    Select the action to Create Item in Monday.com. You will need your target board_id (e.g., 7932413985) and the specific group_id where the new orders should land.

  3. 3

    Map your fields

    Using the table above as a reference, link the incoming order variables to your Monday.com columns.

  4. 4

    Add custom formatting (Optional)

    If you need to clear specific columns (like default file or photo columns) upon creation, add a custom code step immediately after the item is created. See the script below for an example.

Advanced: Clearing Columns with Custom Code

Sometimes, you may need to programmatically clear a column (such as a file or photo column) right after an item is created to ensure it's ready for the next stage of your workflow.

You can use a Python code step in your automation tool to execute a Monday.com GraphQL mutation that resets the column value.

Python Script Example

Pass the item_id, board_id, column_id, and your api_token into the script as input variables.

import requests
import json

# Input variables from your automation tool
item_id = input_data['item_id']
board_id = input_data['board_id']
column_id = input_data['column_id']
api_token = input_data['api_token']

# Monday.com API endpoint
url = "https://api.monday.com/v2"

# Headers
headers = {
    "Authorization": api_token,
    "Content-Type": "application/json"
}

# GraphQL mutation to clear the column (sending an empty JSON object)
query = '''
mutation {
  change_column_value (
    board_id: %s,
    item_id: %s,
    column_id: "%s",
    value: "{}"
  ) {
    id
  }
}
''' % (board_id, item_id, column_id)

# Make the request
payload = {"query": query}
response = requests.post(url, headers=headers, json=payload)

# Return the response for the next step in your automation
output = {
    'status': response.status_code,
    'response': response.json()
}

The script uses value: "{}" to clear the column. This works well for file, photo, and certain text columns. Make sure your column_id exactly matches the internal Monday.com column ID (e.g., file_mm1aaxzg), not the visual column title.

Frequently Asked Questions

How do I find my Board ID and Column IDs?

You can find your Board ID in the URL when viewing your board in Monday.com (e.g., monday.com/boards/123456789). To find specific Column IDs, enable Developer Mode in your Monday.com profile settings, or use the Monday.com API to query the board's structure.

Why are my status columns not updating?

Status columns (often referred to as "color" columns in the API) require exact text matches for the labels that exist on your board. If your order data sends "In Progress" but your board label is "Working on it", the update will fail.

Need your API Token?

Learn how to generate and manage your personal API token in the Monday.com Developer Center.