Documentation

User Guide

Everything you need to connect Monday.com boards to your database and keep them in sync automatically.

Conduit User Guide

Conduit is a Monday.com marketplace app that continuously syncs data from your boards into an external database — PostgreSQL, MySQL, MariaDB, MongoDB, or any compatible variant — without writing a single line of code.


Introduction

When a row changes on your Monday board, Conduit mirrors that change to your database within seconds. You can use the synced data to power custom reports, feed business intelligence tools, trigger backend workflows, or join Monday data with records from other systems.

What Conduit can do

What Conduit does not currently do


Requirements

Before you begin, make sure you have:

  1. A Monday.com account with permission to install marketplace apps.
  2. An externally accessible database (PostgreSQL, MySQL, MariaDB, PlanetScale, MongoDB, or Supabase). The database must be reachable from the internet — Conduit's servers connect to it directly.
  3. Database credentials for a user that has SELECT, INSERT, UPDATE, DELETE, and CREATE TABLE privileges on the target schema or database.

Security tip: Create a dedicated Conduit database user rather than using a superuser account. Grant access only to the schema or collections that Conduit needs.


Installation

  1. Open the Monday.com marketplace and search for Conduit.
  2. Click Add to your account and follow the authorisation prompt.
  3. Once authorised, open any board and click Apps in the top-right corner, then select Conduit from the list.
  4. The setup wizard opens automatically the first time you use Conduit on a board.

Opening Conduit for the first time from a Monday board
Opening Conduit for the first time from a Monday board


The Setup Wizard

The first time you use Conduit on a board, a five-step setup wizard walks you through creating your first sync configuration.

The five-step wizard progress indicator
The five-step wizard progress indicator


Step 1 — Connect Your Database

Enter the connection details for the database you want to sync into.

The Connect Database form showing host, port, and credential fields
The Connect Database form showing host, port, and credential fields

Supported databases

Type Notes
PostgreSQL Including Supabase — use host db.<project>.supabase.co, port 5432
MySQL Version 5.7+ and 8.x
MariaDB Fully compatible with the MySQL connector
PlanetScale Use the connection string from the PlanetScale dashboard; SSL is required
MongoDB Atlas and self-hosted; enter the connection URI

Fields

Testing the connection

Click Test connection before saving. Conduit attempts a real connection and reports success or failure immediately. If the test fails, double-check your host, port, and credentials, and confirm that your database's firewall allows inbound connections from Conduit's IP range.

A successful connection test result
A successful connection test result

Once the test passes, click Save & continue.

Credentials are encrypted at rest. Conduit stores your database password using AES-256 encryption. It is never logged or returned in API responses.


Step 2 — Select a Board

Choose the Monday board whose items you want to sync into the database.

The board selection screen listing available boards
The board selection screen listing available boards

The list shows all boards your Monday account has access to. If the board you need is not visible, check that it is shared with your account in Monday.

Click a board to select it, then click Continue.


Step 3 — Map Columns

This is the most important step. You choose the target database table and control exactly how each Monday column maps to a database column.

Selecting a target table

First, choose whether to sync into an existing table or create a new one.

The table picker showing existing tables and a "Create new" option
The table picker showing existing tables and a "Create new" option

Use existing table — Conduit lists the tables it finds in the database. Select one; Conduit will read the existing column definitions and pre-fill the mapping to match. Rows are upserted by primary key, so existing data is preserved.

Create new table — type a table name (letters, digits, and underscores only; must start with a letter or underscore). Conduit creates the table automatically when you activate the sync.

Click Confirm Selection to proceed to the column mapping grid.

The column mapping grid

The grid shows one row per Monday column, plus two locked system rows at the top.

The full column mapping grid with several columns mapped
The full column mapping grid with several columns mapped

Each row contains:

Column Purpose
Toggle Enable or disable syncing this column. Disabled columns are excluded from every sync.
Monday column The column name from your Monday board and its type (shown as a blue badge).
Arrow indicating the direction of the mapping.
DB column The name the column will have in your database. Edit this freely.
Type The database column type (not shown for MongoDB — it is schemaless).
PK Primary key selector — one column must be set as the primary key.
Opens the transform editor for columns that support transformations.

System columns

The first two rows are always present and cannot be disabled:

For subitems boards, a third system row is added: Parent Item IDmonday_parent_item_id (BIGINT), so you can join the subitem table back to the parent board's table.

Enabling and disabling columns

Toggle the checkbox at the left of each row to include or exclude a column from the sync. Disabled rows are greyed out and skipped in every sync run.

DB column names

The DB column field is pre-filled with a snake_case version of the Monday column title (e.g. "Assigned Person" becomes assigned_person). You can edit it to anything that suits your schema.

Click Auto-fill names in the toolbar to reset all non-system columns back to their snake_case defaults.

If you selected an existing table, click Match existing columns to automatically align the DB column names and types to what already exists in the table (matched by name similarity).

Column types

The Type dropdown lists the database types that are compatible with each Monday column type. The first option is the recommended default. You can override it — for example, you might change a status column from VARCHAR(100) to TEXT if you expect very long labels.

Monday type Recommended DB type
Text TEXT
Number NUMERIC(18,4)
Status / Dropdown VARCHAR(100)
Date DATE
People TEXT
Checkbox BOOLEAN
Email VARCHAR(255)
Rating INTEGER
Formula TEXT

Setting the primary key

Exactly one column must be designated as the primary key — Conduit uses it to determine whether to insert a new row or update an existing one (upsert). The Monday Item ID system column is the primary key by default and is the correct choice in almost all cases.

To change the primary key, click the circle button (●) in the PK column of any enabled row. The button fills blue to indicate the selection, and all other rows are deselected.

Data transformations

Columns that support transformations show a button. Click it to expand the transform editor below that row.

The transform editor open for a Status column, showing label-to-value mapping
The transform editor open for a Status column, showing label-to-value mapping

Status and Dropdown columns — value map

By default, Conduit stores the Monday label text as-is (e.g. "Working on it"). Use the value map to store a different string in the database instead (e.g. "in_progress"). Leave a field blank to keep the original label for that option.

Date columns — storage format

The date transform editor showing three format options
The date transform editor showing three format options

Format Example stored value
ISO 8601 (default) 2024-03-15T10:30:00Z
Unix milliseconds 1710498600000
Date only 2024-03-15

People columns — representation

Format What is stored
Display names (default) "Alice Smith, Bob Jones"
User IDs "12345678, 87654321"
Emails "alice@example.com, bob@example.com"

Toolbar shortcuts

The Continue button is disabled until the mapping is valid:


Step 4 — Configure Sync

Choose how and when data flows from Monday to your database.

The Configure Sync step showing direction, mode, and frequency options
The Configure Sync step showing direction, mode, and frequency options

Sync direction

Currently only Monday → Database (one-way) is available. Bidirectional sync (database → Monday) is in early access — contact us if you need it.

Sync mode

Mode Description
Real-time Conduit registers Monday webhooks. Every board change triggers an immediate sync for the affected item. Available on Starter and higher plans.
Scheduled A full sync runs on a cron schedule you define. All items on the board are fetched and upserted on each run.
Manual only No automatic syncing. You trigger a full sync manually from the board view whenever you need it.

Modes that are not available on your current plan are shown as disabled with a label indicating which plan unlocks them.

Sync frequency (scheduled mode)

Pick a preset or write a custom cron expression.

Preset Cron Minimum plan
Every 15 minutes */15 * * * * Enterprise
Every 30 minutes */30 * * * * Pro
Every hour 0 * * * * Pro
Every 6 hours 0 */6 * * * Starter
Every 12 hours 0 */12 * * * Starter
Every day 0 0 * * * Free
Every week 0 0 * * 0 Free

Select Custom to type any valid five-field cron expression. The format is:

minute  hour  day-of-month  month  day-of-week

For example, 0 8 * * 1-5 runs at 08:00 every weekday. A green confirmation appears when the expression is valid.

Presets faster than your plan's minimum interval are shown as disabled with a badge indicating the plan that enables them.


Step 5 — Review & Activate

The final screen summarises your configuration before you commit.

The Review and Activate screen showing a configuration summary
The Review and Activate screen showing a configuration summary

Check the following:

For SQL databases, a note explains that Conduit will create the target table automatically if it does not already exist.

Click Activate Sync to save the configuration. Conduit will:

  1. Insert the sync configuration and column mappings into its own database.
  2. Create the target table in your database (if it does not exist).
  3. Register Monday webhooks (for real-time mode).
  4. Queue an initial full sync that runs immediately in the background.

You are returned to the board view once activation completes.


Managing Your Syncs

The board view

After activating at least one sync, the board view shows a card for each configured sync.

The board view displaying two active sync configuration cards
The board view displaying two active sync configuration cards

Each card shows:

Pausing and resuming a sync

Click Pause on a sync card to temporarily stop automatic syncing. The sync configuration and column mappings are preserved. Webhook subscriptions are removed from Monday while the sync is paused.

Click Resume on a paused sync to restart automatic syncing. Webhook subscriptions are re-registered for real-time syncs, and a full sync runs immediately to catch up on any changes that occurred while paused.

Triggering a manual sync

Click Sync now on any card to queue an immediate full sync, regardless of the configured mode or schedule. This is useful after making changes to your Monday board structure or after resolving a connection error.

Manual syncs count against your plan's daily manual sync limit. If the limit is reached, the Sync now button shows an error and syncing is blocked until midnight UTC, when the counter resets.

Deleting a sync configuration

Click Delete (the trash icon) on a sync card to permanently remove the configuration. This also removes the Monday webhook subscriptions associated with that sync. The data that has already been written to your database is not deleted.

Adding a second sync

To sync a different board — or to sync the same board into a second table with a different column set — click + Add sync in the top-right corner of the board view. This launches the setup wizard again.


Sync Logs

Each sync run is recorded so you can see exactly what happened.

The sync log table showing run timestamps, row counts, and status
The sync log table showing run timestamps, row counts, and status

Click View logs on any sync card to open the log panel. Each entry shows:

Field Description
Started at When the sync run began.
Duration How long the run took.
Rows synced The number of items upserted or deleted.
Trigger What initiated the run: initial, scheduled, manual, or webhook.
Status success or error.
Error If the run failed, a short description of the error.

Logs are retained according to your plan (7 days on Free, 30 days on Starter, 90 days on Pro, 365 days on Enterprise).


Real-time Event Quota

On paid plans, real-time syncing uses a daily event quota. Each Monday webhook event (a column value change, item creation, name edit, or item deletion) counts as one event.

If your account reaches the daily limit, a yellow warning banner appears at the top of the board view.

The real-time quota warning banner shown inside the Monday board view
The real-time quota warning banner shown inside the Monday board view

While the quota is active:

To increase your quota, upgrade your plan.

Plan Daily real-time events
Free Not available
Starter 1,000
Pro 10,000
Enterprise Unlimited

Plans & Limits

Plan comparison

Feature Free Starter Pro Enterprise
Boards 1 3 10 Unlimited
Database connections 1 2 5 Unlimited
Rows per sync 500 5,000 Unlimited Unlimited
Manual syncs per day 5 24 Unlimited Unlimited
Minimum cron interval 1 day 6 hours 1 hour 15 minutes
Real-time webhooks 1,000 /day 10,000 /day Unlimited
Sync log retention 7 days 30 days 90 days 365 days
Price $0 $12 / month $39 / month Custom

Upgrading

Click the Upgrade your plan link inside any limit warning, or visit your plan settings in the Monday marketplace to switch plans. Limits take effect immediately.


Troubleshooting

Connection test fails

The target table is not created automatically

Conduit creates the table at activation time. If it was not created:

Sync logs show errors after the first run

Common causes:

Error message Likely cause
connection refused Database is unreachable — check that it is running and accessible.
permission denied for table The database user is missing INSERT or UPDATE permissions.
column does not exist A column was renamed or dropped in the database after the mapping was created. Re-open the configuration and update the mapping.
value too long for type character varying Increase the column type to TEXT in your column mapping.
duplicate key value A conflict on the primary key. Check that monday_item_id is truly unique.

Real-time sync is not updating the database

  1. Check the sync logs. If webhook events are arriving but failing, the log will show an error.
  2. Check the quota banner. If the daily real-time event limit has been reached, events are dropped until midnight UTC.
  3. Verify webhooks are registered. Delete and re-add the sync configuration to force Conduit to re-register the Monday webhooks.
  4. Check that the sync is not paused. A paused sync does not process webhooks. Resume it from the board view.

The "Sync now" button shows a quota error

Your plan's daily manual sync limit has been reached. The counter resets at midnight UTC. On the Free plan, the limit is 5 manual syncs per day; on Starter it is 24. Upgrade to Pro or Enterprise for an unlimited allowance.

The app shows "Connect Conduit" instead of my syncs

Your Monday OAuth session has expired or the app was not previously authorised. Click Connect Conduit to re-authorise. This opens a short popup where you log in with Monday and grant the required permissions. Your existing sync configurations are not affected.


Getting Help

If you run into an issue not covered here, reach out at contact@craftedinfra.dev. Include: