Guide

How to schedule recurring imports into monday.com

Getting data into monday.com once is easy. Getting the same data in again next Monday, updated rather than duplicated, is the part that needs a decision.

Start with what monday.com already gives you

monday.com has a built-in import you can start from a board. It runs when you start it, and you repeat the mapping each time — which is fine for a one-off migration and tiring for a weekly refresh.

For anything programmatic, the platform API does the heavy lifting: as of API version 2026-07, ingest_items accepts a CSV upload of up to 10,000 rows (150 MB) per job and can update rows it matches via on_match instead of creating duplicates, and backfill_items takes up to 20,000 rows for a one-time initial load. Both are asynchronous jobs: you start the job, upload the file, then poll for status. That is a solid import path — and it is still a set of calls you have to make, on a timetable you have to run yourself.

Verified 2026-09-11: the bulk-import endpoints, their row and file limits, the on_match update behaviour and the per-account budgets described above come from monday’s own API documentation, developer.monday.com/api-reference/docs/importing-items-in-bulk . monday.com changes limits between API versions, so re-check that page before you rely on a number.

The five routes, compared on the things that decide it

Effort, cost model and error visibility for each way of repeating an import.
Route Recurring Ongoing effort Cost model Error visibility
monday.com’s built-in import No — you start each one Minimal Included in your monday.com plan A summary when the import finishes
A per-task automation tool Yes Low, until the data gets large Billed per task or per run Task run history, not per row
The monday.com platform API plus your own scheduler Yes High — you build and operate it Your infrastructure and someone’s time Whatever you build yourself
An import app from the monday marketplace Yes Low A subscription, often with import quotas Varies by app — check before you buy
Boardfeed Yes Low — mapping and a schedule Flat $19 or $49 a month, no import quotas Row-level preview before the run, error CSV after it

Pricing and error handling vary a lot between marketplace apps. One of the better-known ones is compared here, with the public source for every figure quoted.

What a scheduled import has to get right

Whichever route you take, these are the parts that separate a scheduled import you can forget about from one you end up checking every week.

  • A key that identifies a row. Without one, every run adds a second copy of everything. Pick the column that is unique and stable — an order id, a customer id, an email — and import the source’s own id whenever it publishes one.
  • A mapping that survives renames. Source systems rename columns. A scheduled import should report the missing column and stop writing that field, not silently shift every value one column to the left.
  • Retries with backoff. Both ends have rate limits: the API you read from, and monday.com’s own request and complexity budgets. A run that fails on a limit has to wait and try again, not give up until next week.
  • Overlap protection. A large import can outlast its own interval. The scheduler must refuse to start a second run while the first is still going, or the two will fight over the same items.
  • Per-row errors, not just a pass or fail. The useful output is the list of rows that failed and the reason for each: an unknown status label, a date the board cannot parse, an email column that needs both an address and a display name. Without it, a run that reports “1,480 of 1,500 rows imported” is where the work starts.
  • A history you can look back at. When someone asks why a board changed on Tuesday, the answer has to be a run record with counts, and the error file from that run.
  • Credentials you can rotate. Keys expire and people leave. A token that can be replaced in one place, without rebuilding every import, is the difference between a five-minute job and an afternoon.

Test it before you trust it

  1. Run the import manually first and read the preview, not the result.
  2. Run it a second time without changing the source. If the board grows, the key is wrong.
  3. Change one field upstream and confirm the item is updated in place.
  4. Add a deliberately broken row and confirm it fails alone, with a reason, while the rest imports.
  5. Leave it for two cycles and check the run history rather than the board.

Where Boardfeed fits

Boardfeed is the packaged version of this. You map a source to a board once, choose a key column and a schedule, and read a row-level preview before the first run writes anything. It covers CSV and Excel uploads, Google Sheets, REST/JSON APIs and key-based connectors for Mailchimp, Stripe, Airtable, HubSpot, Notion and Klaviyo, at a flat monthly price with no import quotas.

If you would rather see it per source, the how-to pages start at importing CSV into monday.com: 8 source guides cover files, sheets and APIs, each with the field-mapping details that trip up a first attempt.