Skip to content

v1.6.0

Choose a tag to compare

@NoamGitHub NoamGitHub released this 22 Dec 13:26
e086b99

Added the ability to upload files to file columns on monday.com items.

New Features

  • ItemModule.upload_file_to_column() - New method to upload files to a file column on an item
  • MondayGraphQL.execute_multipart() - New method for executing GraphQL mutations with file uploads using multipart/form-data
  • FileInput dataclass - New type for encapsulating file upload parameters

📖 Usage Example

import os
from datetime import datetime
from monday_sdk import MondayClient

# Initialize the client
client = MondayClient(os.getenv("MONDAY_TOKEN"))

# Configuration
BOARD_ID = 18392575661
FILE_COLUMN_ID = "file_mkyr6m1h"

# First, create an item (or use an existing item_id)
create_response = client.items.create_item(
    board_id=BOARD_ID,
    group_id="your_group_id",
    item_name="My Track",
    column_values={
        "text_column": "Artist Name",
        "date_column": {
            "date": datetime.now().strftime("%Y-%m-%d"),
            "time": datetime.now().strftime("%H:%M:%S")
        }
    }
)
item_id = create_response.data.create_item.id

# Upload a file to the file column
upload_response = client.items.upload_file_to_column(
    item_id=item_id,
    column_id=FILE_COLUMN_ID,
    file_path="/path/to/your/file.mp4",
    mimetype="audio/mp4"  # Optional - auto-detected if not provided
)

print(f"File uploaded successfully!")
print(f"Asset ID: {upload_response['data']['add_file_to_column']['id']}")
print(f"File URL: {upload_response['data']['add_file_to_column']['url']}")

🔧 API Response

The upload_file_to_column() method returns a dictionary containing the uploaded asset information:

{
  "data": {
    "add_file_to_column": {
      "id": "123456789",
      "name": "file.mp4",
      "url": "https://files.monday.com/...",
      "file_extension": "mp4",
      "file_size": 1048576
    }
  }
}