ConstructionOnline API and MCP server Let your AI agent carry the jobsite paperwork.

ConstructionOnline opens its API only to Business and Enterprise companies that ask for it, and has no MCP server (checked 13 Nov 2026). Cotlet runs a hosted ConstructionOnline MCP server with 31 tools that ChatGPT, Claude and your scripts use in your own account, on any plan. Bids, RFIs, invoices and anything sent outside your company wait for your OK.

  • Free 7-day trial, no card
  • Unofficial, not affiliated with ConstructionOnline
ConstructionOnline logo ConstructionOnline Cloud Browser

31 tools Read and write

Builder office work

What can your AI agent do in ConstructionOnline? From the lead call to the last payment application.

  • Turn a lead into an estimate from your costbook

  • Compare bids and draft the purchase order

  • Invoice an approved change order

  • Log the day and push the schedule

  • Chase open RFIs, submittals and punch items

  • Catch expiring insurance and permits

API on request, no MCP

Does ConstructionOnline have an MCP server or an API? The official ConstructionOnline routes, checked 13 November 2026.

ConstructionOnline has a private REST API with read and write access. Only companies on Business or Enterprise subscriptions are eligible, and access is turned on after they write to its development team. No ConstructionOnline MCP server or official ChatGPT or Claude connector was verified.

  • The vendor says its API users usually have their own developers, and its documentation is written for them.
  • Zapier connects on Team, Business and Enterprise plans, not during the free 10-day trial; HubSpot and Docusign integrations exist too.
  • Clients and subs work in ConstructionOnline through its ClientLink and TeamLink portals.
The ConstructionOnline API, Zapier and Cotlet compared
What you need ConstructionOnline APIZapierCotlet
Ask ChatGPT or Claude to do the work No MCP server verified Fixed zaps, no agent Hosted MCP server
Which plans Business or Enterprise, on request Team and up, not in the trial Any plan, your own login
Estimates, bids, RFIs and invoices Endpoints not verified Published triggers and actions only 31 tools, writes after your OK
Who builds and fixes it Your developers You, in Zapier Cotlet

Checked 13 Nov 2026. Sources: Does ConstructionOnline have an API? · Who is eligible for the API? · Who is the API for? · ConstructionOnline API documentation · ConstructionOnline + Zapier integration · FAQ: Zapier integration · Integrations · KB: Lead Tracking · KB: Opportunities · KB: Estimating · KB: Items Database & Costbooks · KB: Redline Takeoff · KB: Bid Tracking · KB: Purchasing · KB: Change Orders · KB: Invoicing · KB: Payment Applications · KB: Scheduling · KB: Daily Logs · KB: RFIs · KB: Submittals · KB: Punch Lists · KB: Permit Tracking · KB: Insurance & Certificates

Set up once

How does the ConstructionOnline MCP server work? The ConstructionOnline MCP server by Cotlet: your agent works in your own ConstructionOnline account.

  1. 1Sign in to ConstructionOnline

    Once, in a browser we host for you.

  2. 2Connect your AI agent

    One address in its settings.

  3. 3Hand it the paperwork

    It drafts the RFI, you approve the send.

Your agent works in your own signed-in Cloud Browser. Writes, and anything a client, sub or vendor receives, wait for your OK. Who can see your session

Any MCP client

How to connect ConstructionOnline to your AI agent

  1. 1

    Sign in to ConstructionOnline in a Cloud Browser. Open app.constructiononline.com in your Cotlet Cloud Browser and sign in with your own company user.

  2. 2

    Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 as the MCP server or connector URL in your agent.

  3. 3

    Let the agent in. Chat apps open a Cotlet sign-in page. Editors, n8n and scripts send an API key made in the console.

ConstructionOnline runs on the shared address https://cotlet.dev/mcp/v1, one connector for every app you activate. Activated ConstructionOnline after connecting? Refresh the connector to see its 31 tools.

ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Claude
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: constructiononline_read
3 read, 28 write

All 31 ConstructionOnline MCP tools

One tool per section of the ConstructionOnline Knowledge Base. Read tools run at once. Write tools take an `action`; `list` and `get` only read, the other actions change ConstructionOnline and ask first.

Sales: contacts, leads and opportunities4

From the first call log to an opportunity that converts into a project.

  • manage_contacts List, add, edit or import contacts for clients, subs and vendors, or convert one to a lead. writeAsks first

    `get` also returns the contact's projects and history. Contact details can be public or private. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_contacts

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/contacts/manage

    Parameters

    Parameters: manage_contacts
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `update`, `import`, `convert_to_lead`. `list` and `get` only read.
    contact string string Contact name, for `get`, `update` and `convert_to_lead`.
    fields object object Name, company, email, phone, type; public or private details.
    file_url string string For `import`: the spreadsheet of contacts.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "contact": "Example Electric",
      "type": "Subcontractor",
      "email": "office@example.com",
      "projects": [
        "Hillcrest addition"
      ],
      "saved": true
    }
  • manage_leads List, add or edit leads, change status or stage, and log calls and events. writeAsks first

    Leads move through the statuses, stages, types and sources you set in Lead Tracking. Events appear on the lead calendar by sales rep. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_leads

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/leads/manage

    Parameters

    Parameters: manage_leads
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `update`, `log_call`, `add_event`. `list` and `get` only read.
    lead string string Lead name, for `get` and the writes on one lead.
    fields object object Contact details, status, stage, type, source and sales rep.
    note string string For `log_call`: what was said. For `add_event`: the event title.
    date string string ISO date and time of the call or event.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "lead": "Example Homeowner, kitchen and deck",
      "stage": "Site visit",
      "source": "Website",
      "next_event": "2026-11-17T10:00",
      "saved": true
    }
  • manage_opportunities List or create opportunities, attach an estimate, proposal or selections, or convert one to a project. writeAsks first

    Converting carries the opportunity into a project. A proposal is what the client reads, so the agent shows its content first. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_opportunities

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/opportunities/manage

    Parameters

    Parameters: manage_opportunities
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `add_estimate`, `create_proposal`, `convert_to_project`. `list` and `get` only read.
    opportunity string string Opportunity name or number.
    fields object object For `create`: client, address, type and expected value.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "opportunity": "OPP-118 Hillcrest addition",
      "stage": "Proposal",
      "estimate": "Addition, base scope",
      "converted": false
    }
  • manage_projects List, open, create or update a project, from scratch or a template. writeAsks first

    Most tools take a project, so `list` is usually the first call. Adding company users to a project is part of `update`. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_projects

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/projects/manage

    Parameters

    Parameters: manage_projects
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `update`. `list` and `get` only read.
    project string string Project name or number, for `get` and `update`.
    template string string For `create`: a project template.
    fields object object Number, type, address, scope of work, currency, initial price, initial duration, cost code list, key roles, status, taxes.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "number": "2026-014",
      "status": "In progress",
      "initial_price": 186000,
      "saved": true
    }

Estimating and buying5

Costbooks and Redline takeoffs into OnCost estimates, then bid packages and purchase orders. The agent does not measure plans itself.

  • manage_costbooks List company costbooks, add or update items, or insert costbook items into an estimate. writeAsks first

    Costbook items must be enabled for estimates before they can be inserted. Archived costbooks can be activated again. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_costbooks

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/costbooks/manage

    Parameters

    Parameters: manage_costbooks
    NameTypeDescription
    action string required string One of `list`, `create`, `update`, `insert_into_estimate`, `archive`. `list` only reads.
    costbook string string Costbook name.
    items array array Item name, unit and cost.
    project string string For `insert_into_estimate`.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "costbook": "Residential 2026",
      "items": 214,
      "inserted": [
        {
          "item": "Framing lumber, 2x6",
          "unit": "lf",
          "cost": 1.85
        }
      ]
    }
  • manage_takeoffs Read a project's Redline takeoff, start one, or send takeoff data to the estimate. writeAsks first

    The agent reads and moves takeoff data; it does not measure drawings. Measurements are made in Redline Takeoff on the plan sheets. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_takeoffs

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/takeoffs/manage

    Parameters

    Parameters: manage_takeoffs
    NameTypeDescription
    action string required string One of `get`, `start`, `send_to_estimate`. `get` only reads.
    project string required string Project name or number, as manage_projects `list` returns it.
    from string string For `start`: `scratch`, `estimate` or `template`.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "takeoff": "Addition takeoff",
      "layers": [
        "Walls",
        "Roof"
      ],
      "sent_to_estimate": true
    }
  • manage_estimates Read a project's OnCost estimate, or create one blank, from a template or from a Redline takeoff, and add items. writeAsks first

    Estimates group items in categories and subcategories, with company overhead and margin, item markup and tax settings. The agent shows you the lines and total before saving. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_estimates

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/estimates/manage

    Parameters

    Parameters: manage_estimates
    NameTypeDescription
    action string required string One of `get`, `create`, `add_items`, `set_status`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    source string string For `create`: `blank`, `template`, `excel` or `takeoff`.
    items array array Category, subcategory, item, quantity, unit cost, markup, tax and classification.
    status string string For `set_status`.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "estimate": "Addition, base scope",
      "categories": 3,
      "total": 48650,
      "saved": true
    }
  • manage_bids List bid packages, create one, add bidders, send invitations to bid, or record a bid for a bidder. writeAsks first

    `get` returns the bid sheet so you can compare submissions before you award work. Invitations reach people outside your company, so the agent lists recipients first. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_bids

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/bids/manage

    Parameters

    Parameters: manage_bids
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `add_bidders`, `send_invitations`, `enter_bid`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    package string string Bid package name.
    bidders array array Contacts invited to bid.
    amount number number For `enter_bid`: the bid received.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "package": "Electrical rough-in",
      "bids": [
        {
          "bidder": "Example Electric",
          "amount": 14800
        },
        {
          "bidder": "Sample Sparks",
          "amount": 16250
        }
      ]
    }
  • manage_purchase_orders List purchase orders, create one from an estimate, an approved change order or scratch, or email it. writeAsks first

    Purchasing in ConstructionOnline also tracks bills, expenses, receipts and payments. A purchase order commits money to a vendor, so the agent shows vendor, lines and total first. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_purchase_orders

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/purchase-orders/manage

    Parameters

    Parameters: manage_purchase_orders
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `set_approval`, `email`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    from string string For `create`: `estimate`, `change_order` or `scratch`.
    vendor string string Vendor contact.
    items array array Description, quantity and unit cost.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "purchase_order": "PO-031",
      "vendor": "Example Lumber Co",
      "total": 9850,
      "approval": "Pending"
    }

Client money4

Change orders, selections, invoices and payment applications. Drafting and sending are separate actions.

  • manage_change_orders List a project's change orders, create one, or change its status. writeAsks first

    An approved change order can become a purchase order or an invoice. The agent shows you the lines before saving, because the change moves the contract value. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_change_orders

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/change-orders/manage

    Parameters

    Parameters: manage_change_orders
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `set_status`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    title string string Change order title.
    items array array Description, quantity and price per line.
    cost_code string string Cost code from the project's cost code list.
    estimate_subcategory string string Estimate subcategory to link to.
    status string string For `set_status`, from ConstructionOnline's change order statuses.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "change_order": "CO-04 Add egress window",
      "total": 3200,
      "status": "Pending",
      "saved": true
    }
  • manage_selections List client selections, add a category, selection or choice with allowance and due date, or send selections to the client. writeAsks first

    Client price follows the selection markup settings. `send` reaches your client. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_selections

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/selections/manage

    Parameters

    Parameters: manage_selections
    NameTypeDescription
    action string required string One of `list`, `add_category`, `add_selection`, `add_choice`, `send`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    category string string Selections category, for example Kitchen.
    selection string string For example Cabinet hardware.
    choice object object Name, vendor, client price, image and attachments.
    allowance number number Allowance for the selection.
    due string string ISO due date.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "selection": "Window style",
      "allowance": 4200,
      "choices": 3,
      "due": "2026-11-27"
    }
  • manage_invoices List invoices, create one from the estimate or an approved change order, email it or record a payment. writeAsks first

    Creating and emailing are separate calls, so you read the invoice before it goes out. An emailed invoice has reached your client. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_invoices

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/invoices/manage

    Parameters

    Parameters: manage_invoices
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `email`, `record_payment`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    from string string For `create`: `estimate` or `change_order`.
    invoice string string Invoice number, for `get`, `email` and `record_payment`.
    amount number number For `record_payment`.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "invoice": "INV-1042",
      "total": 3200,
      "status": "Draft",
      "emailed": false
    }
  • manage_payment_applications List payment applications, create one from project financials, or email or export it, also on AIA forms. writeAsks first

    Payment applications are built from the project's existing financial data for progress billing. Emailing reaches your client. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_payment_applications

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/payment-applications/manage

    Parameters

    Parameters: manage_payment_applications
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `email`, `export`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    period_end string string ISO date the application covers up to.
    format string string For `export`: `pdf` or `aia`.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "application": "Pay App 3",
      "period_end": "2026-11-30",
      "this_period": 28400
    }

Schedule and field work8

Schedules, calendars, to dos, GamePlan, daily logs, checklists and punch lists, time and files.

  • manage_schedule Read a project schedule, create one blank, from a template or an estimate, or add tasks, predecessors and milestones. writeAsks first

    Workdays and observed holidays shape the dates. Predecessors move dependent tasks, so the agent tells you which tasks a change shifts. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_schedule

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/schedule/manage

    Parameters

    Parameters: manage_schedule
    NameTypeDescription
    action string required string One of `get`, `create`, `add_task`, `update_task`, `add_milestone`. `get` only reads.
    project string required string Project name or number, as manage_projects `list` returns it.
    source string string For `create`: `blank`, `template`, `estimate` or `ms_project`.
    task object object Name, group, start, duration, predecessors, resource, notes, ASAP flag.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "task": "Frame walls",
      "start": "2026-11-18",
      "duration_days": 4,
      "predecessors": [
        "Pour footings"
      ],
      "saved": true
    }
  • manage_calendar Read a project or company calendar, or create, edit or delete an event. writeAsks first

    Calendars can sync to Google or Outlook through ConstructionOnline's own settings, which no tool changes. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_calendar

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/calendar/manage

    Parameters

    Parameters: manage_calendar
    NameTypeDescription
    action string required string One of `list`, `create`, `update`, `delete`. `list` only reads.
    project string string Leave empty for the company calendar.
    event object object Title, start, end, calendar, cost code.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "event": "Framing inspection",
      "start": "2026-11-24T09:00",
      "saved": true
    }
  • manage_todos List a project's to dos, create one with subtasks, or update its stage, priority and due date. writeAsks first

    Assigned resources see the to do on their list. Private to dos stay with you. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_todos

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/todos/manage

    Parameters

    Parameters: manage_todos
    NameTypeDescription
    action string required string One of `list`, `create`, `update`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    title string string To do title.
    fields object object Due date, priority, resources, trade, type, category, stage, tags, cost impact, linked schedule task.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "todo": "Confirm window delivery",
      "due": "2026-11-19",
      "priority": "High",
      "stage": "Open",
      "saved": true
    }
  • manage_gameplan Read your GamePlan, create a Quick GamePlan, or set up a GamePlan email. writeAsks first

    GamePlan compiles each person's key activities across ConstructionOnline into one automated list. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_gameplan

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/gameplan/manage

    Parameters

    Parameters: manage_gameplan
    NameTypeDescription
    action string required string One of `get`, `create_quick`, `create_email`. `get` only reads.
    user string string Company user the GamePlan is for.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "user": "Project manager",
      "items": [
        {
          "type": "To do",
          "title": "Confirm window delivery",
          "due": "2026-11-19"
        },
        {
          "type": "RFI",
          "title": "RFI-07 Header size",
          "due": "2026-11-18"
        }
      ]
    }
  • manage_daily_logs Read a project's daily logs, add one, or export hours from work logs. writeAsks first

    Weather tracking fills in the day's weather when it is enabled. The agent writes only what you gave it. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_daily_logs

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/daily-logs/manage

    Parameters

    Parameters: manage_daily_logs
    NameTypeDescription
    action string required string One of `list`, `create`, `export_hours`. `list` and `export_hours` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    type string string Daily log type, or one of your custom logs.
    date string string ISO date.
    notes string string What happened on site, in your words.
    cost_code string string Cost code from the project's cost code list.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "date": "2026-11-13",
      "type": "Work log",
      "notes": "Footings poured, inspection passed.",
      "saved": true
    }
  • manage_checklists Read or create a checklist or punch list, add items and issues, or mark them complete. writeAsks first

    Both lists track items, item issues, assigned resources and progress, and can be signed and shared from ConstructionOnline. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_checklists

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/checklists/manage

    Parameters

    Parameters: manage_checklists
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `add_item`, `complete_item`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    kind string required string `checklist` or `punch_list`.
    list string string Name of the checklist or punch list.
    item object object Item, issue, assigned resource, cost code.

    Example input

    {
      "action": "action",
      "project": "project",
      "kind": "kind"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "kind": "punch_list",
      "list": "Final walk",
      "items": 14,
      "complete": 9
    }
  • manage_time Read time sheets, add time entries, or edit a time sheet. writeAsks first

    Hours feed the employee and project time summaries, so each entry waits for your OK. Clock-in requirements and geofencing stay as set in ConstructionOnline. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_time

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/time/manage

    Parameters

    Parameters: manage_time
    NameTypeDescription
    action string required string One of `list`, `add_entry`, `edit`. `list` and `get` only read.
    employee string string Company user.
    project string string Project the time is for.
    date string string ISO date.
    hours number number Hours worked.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "employee": "Carpenter A",
      "project": "Hillcrest addition",
      "date": "2026-11-13",
      "hours": 8,
      "saved": true
    }
  • manage_files List a project's folders and albums, upload files or photos, or make a folder. writeAsks first

    Folders and albums can be private. Deleted files can be restored in ConstructionOnline. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_files

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/files/manage

    Parameters

    Parameters: manage_files
    NameTypeDescription
    action string required string One of `list`, `upload_files`, `upload_photos`, `create_folder`. `list` only reads.
    project string required string Project name or number, as manage_projects `list` returns it.
    folder string string Folder or album name.
    file_urls array array Links the Cloud Browser downloads attachments from.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "album": "Footings",
      "uploaded": 6
    }

Project documents and communication5

RFIs, submittals, transmittals, meetings and Envoy chat. Most of these reach people outside your company.

  • manage_rfis List RFIs, create or resend one, or mark it resolved. writeAsks first

    An RFI goes to the people you name, so the agent shows the question and recipients first. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_rfis

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/rfis/manage

    Parameters

    Parameters: manage_rfis
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `resend`, `resolve`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    rfi string string RFI number or subject.
    question string string For `create`.
    to array array Who answers.
    cost_code string string Cost code from the project's cost code list.

    Example input

    {
      "action": "create",
      "project": "Hillcrest addition",
      "question": "Confirm header size at the new 6 ft opening on sheet S-201.",
      "to": [
        "Example Engineering"
      ]
    }

    Example response

    {
      "project": "Hillcrest addition",
      "rfi": "RFI-07 Header size at new opening",
      "status": "Open",
      "sent_to": [
        "Example Engineering"
      ]
    }
  • manage_submittals List submittals, create one with files, email it, respond, close it or add a revision. writeAsks first

    Emailing sends the submittal to its reviewers. The summary can be exported to Excel. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_submittals

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/submittals/manage

    Parameters

    Parameters: manage_submittals
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `email`, `respond`, `close`, `revise`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    submittal string string Submittal number or title.
    file_urls array array Links the Cloud Browser downloads attachments from.
    response string string For `respond`.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "submittal": "SUB-05 Window product data",
      "status": "Open",
      "revision": 0
    }
  • manage_transmittals List transmittals, create one with files and a letter of transmittal, or email it. writeAsks first

    A transmittal is the formal record of what you sent to whom. Emailing reaches the recipients. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_transmittals

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/transmittals/manage

    Parameters

    Parameters: manage_transmittals
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `email`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    subject string string What is transmitted.
    to array array Recipients.
    file_urls array array Links the Cloud Browser downloads attachments from.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "transmittal": "TR-12 Revised framing plans",
      "to": [
        "Example Framing"
      ],
      "emailed": false
    }
  • manage_meetings List meetings, create one, send invitations, record minutes or add action items. writeAsks first

    Meetings run in Agenda mode and Minutes mode and can start from a template. Invitations reach attendees. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_meetings

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/meetings/manage

    Parameters

    Parameters: manage_meetings
    NameTypeDescription
    action string required string One of `list`, `create`, `send_invitations`, `record_minutes`, `add_action_item`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    meeting string string Meeting title.
    attendees array array Contacts invited.
    notes string string Agenda or minutes.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "meeting": "Weekly OAC meeting",
      "attendees": 5,
      "action_items": 3
    }
  • manage_chat Open your Envoy chats, start a chat or project channel, or send a message. writeAsks first

    Envoy Chat is ConstructionOnline's instant messaging for project teams. Messages reach people at once, so each one waits for your OK. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_chat

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/chat/manage

    Parameters

    Parameters: manage_chat
    NameTypeDescription
    action string required string One of `list`, `create_chat`, `create_channel`, `send`. `list` and `get` only read.
    chat string string Chat or channel name.
    members array array For a new chat or channel.
    message string string For `send`.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "chat": "Hillcrest addition",
      "message": "Inspection passed, framing starts Tuesday.",
      "sent": true
    }

Warranty, compliance and insight5

Warranty service, permits and insurance expirations, TrueVision dashboards, reports and plan sheets.

  • manage_warranties List warranties and service requests, add a warranty issue, or schedule a service appointment. writeAsks first

    Warranties keep each item's service history from request to completion. A service appointment involves the homeowner, so it waits for your OK. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_warranties

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/warranties/manage

    Parameters

    Parameters: manage_warranties
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `add_issue`, `schedule_service`. `list` and `get` only read.
    project string required string Project name or number, as manage_projects `list` returns it.
    issue string string What needs service.
    appointment string string For `schedule_service`: ISO date and time.

    Example input

    {
      "action": "action",
      "project": "project"
    }

    Example response

    {
      "project": "Maple Court new build",
      "issue": "Sticking patio door",
      "appointment": "2026-11-20T08:00",
      "status": "Scheduled"
    }
  • manage_compliance List permits, insurance policies, licenses, bonds and certifications with expirations, or add and update one. writeAsks first

    Permits are tracked across all projects; insurance and certificates are tracked for expirations. `list` is the quick way to see what expires soon. By default you confirm each call; you can switch that off for this tool.

    MCP callconstructiononline_write → manage_compliance

    REST endpointPOST https://cotlet.dev/api/v1/constructiononline/compliance/manage

    Parameters

    Parameters: manage_compliance
    NameTypeDescription
    action string required string One of `list`, `create`, `update`, `archive`. `list` and `get` only read.
    kind string required string `permit`, `insurance`, `license`, `bond` or `certification`.
    record object object Name, number, holder or project, issue and expiry dates.

    Example input

    {
      "action": "action",
      "kind": "kind"
    }

    Example response

    {
      "kind": "insurance",
      "records": [
        {
          "holder": "Example Electric",
          "policy": "General liability",
          "expires": "2026-12-01"
        }
      ]
    }
  • view_truevision Read a TrueVision dashboard: Sales, Project Health Scorecards, Financial, WIP, Multi-Project Scheduling or ResourceTrak. read

    TrueVision is ConstructionOnline's business intelligence view over sales, project health, financials, scheduling and resources. The tool returns what the dashboard shows your user, as text. Nothing is changed.

    MCP callconstructiononline_read → view_truevision

    REST endpointGET https://cotlet.dev/api/v1/constructiononline/truevisions/view

    Parameters

    Parameters: view_truevision
    NameTypeDescription
    dashboard string required string `sales`, `project_health`, `financial`, `wip`, `multi_project_schedule` or `resourcetrak`.
    project string string Narrow to one project where the dashboard allows it.

    Example input

    {
      "dashboard": "dashboard"
    }

    Example response

    {
      "dashboard": "wip",
      "projects": [
        {
          "project": "Hillcrest addition",
          "contract": 186000,
          "billed": 92000,
          "percent_complete": 52
        }
      ]
    }
  • create_report Build a print-ready ConstructionOnline report, such as opportunities, leads, RFI summary or time summary. read

    Reports carry your company logo or letterhead and header and footer settings from Company Reporting. The agent returns the report; saving it into ConstructionOnline is a separate choice in the app.

    MCP callconstructiononline_read → create_report

    REST endpointGET https://cotlet.dev/api/v1/constructiononline/reports/create

    Parameters

    Parameters: create_report
    NameTypeDescription
    report string required string `opportunities`, `leads`, `rfi_summary`, `submittal_summary`, `employee_time` or `project_time`.
    project string string For project reports.
    from string string ISO date.
    to string string ISO date.

    Example input

    {
      "report": "report"
    }

    Example response

    {
      "report": "rfi_summary",
      "project": "Hillcrest addition",
      "open": 2,
      "resolved": 9
    }
  • view_redline_planroom List a project's Redline Planroom sheets, their revisions, markups and comments. read

    Returns sheet information, revisions, pinned items, assigned contacts and comments as text. It does not draw markups or measure.

    MCP callconstructiononline_read → view_redline_planroom

    REST endpointGET https://cotlet.dev/api/v1/constructiononline/redline-planrooms/view

    Parameters

    Parameters: view_redline_planroom
    NameTypeDescription
    project string required string Project name or number, as manage_projects `list` returns it.
    sheet string string Sheet name or number; leave empty for the list.

    Example input

    {
      "project": "project"
    }

    Example response

    {
      "project": "Hillcrest addition",
      "sheets": [
        {
          "sheet": "A-101 Floor plan",
          "revision": "Rev 2",
          "comments": 3
        },
        {
          "sheet": "S-201 Framing",
          "revision": "Rev 1",
          "comments": 0
        }
      ]
    }
Encrypted, revocable

Who can see my ConstructionOnline session, and how do I revoke it?

  • What we store

    Your signed-in ConstructionOnline browser profile, AES-256-GCM encrypted, in Finland. Never your password.

  • What your agent gets

    The 31 ConstructionOnline tools. The session cookie stays in the Cloud Browser.

  • What the session sees

    The projects and records your company user and its permissions open, and nothing more.

  • What no tool touches

    Company users and permissions, account settings, accounting, Zapier, HubSpot, Docusign and calendar sync settings.

  • If ConstructionOnline signs you out

    You sign in again yourself, in the same Cloud Browser.

  • How to cut access

    Disable ConstructionOnline for agents, reset the browser, or change your password.

You type your ConstructionOnline password yourself; the agent only uses the session that sign-in leaves behind. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results).

We keep it working

What happens when ConstructionOnline changes? The tools use the same screens your project managers use.

ConstructionOnline is a wide product, from OnCost estimates to OnGuard permits and Redline plan sheets. When one of those screens changes, Cotlet updates the server, and your prompts and scripts keep the same tool names.

Your plan still decides what exists: a feature your subscription lacks is not there for the agent either. Your user's permissions decide which projects it opens.

If ConstructionOnline signs you out, one click in the Cotlet console reopens the Cloud Browser so you can sign in again.

28 tools ask first

Approvals, undo and mistakes Owners, engineers, subs and vendors get nothing until you say so.

  1. 01 Find the project manage_projects lists it.
  2. 02 Draft the RFI Question, sheet and recipient shown to you.
  3. 03 Send after your OK manage_rfis creates and sends it.
  4. 04 Track the answer list shows it open until it is resolved.
Fixing a ConstructionOnline write that went wrong
ActionHow to put it right
Lead, project, schedule or to do fieldsCall the same tool again with the earlier values
File deleted by mistakeRestore it from ConstructionOnline's deleted files
RFI, submittal, transmittal or bid invitation sentAlready with the recipient: follow up with them directly
Invoice or payment application emailedAlready with your client: talk to them before changing it

All 28 write tools ask first: by default you confirm each call, and you can switch that off per tool. The 3 read tools, TrueVision, reports and plan sheets, run at once.

MCP call
{
  "name": "manage_rfis",
  "arguments": {
    "action": "create",
    "project": "Hillcrest addition",
    "question": "Confirm header size at the new 6 ft opening on sheet S-201.",
    "to": [
      "Example Engineering"
    ]
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/constructiononline/rfis/manage \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action":"create","project":"Hillcrest addition","question":"Confirm header size at the new 6 ft opening on sheet S-201.","to":["Example Engineering"]}'
Response
{
  "project": "Hillcrest addition",
  "rfi": "RFI-07 Header size at new opening",
  "status": "Open",
  "sent_to": [
    "Example Engineering"
  ]
}

The example sends RFI-07 to the engineer and returns it as Open. A cron job or n8n flow can make the same call over REST at /api/v1/constructiononline with the same key and price, in JSON. Failed calls are free.

Pay per call

How much does the ConstructionOnline MCP server cost?

About $23 a monthfor a contractor with two active projects, 3,900 credits. Your ConstructionOnline plan stays as it is.

Illustrative month, our assumption: successful calls for this workload
JobCallsCredits
Daily logs on two projects2 × 20400
Schedule and to do updates2 × 20400
Lead follow-ups and call logs1 × 40400
RFIs, submittals and transmittals1 × 30300
Estimates from costbooks4 × 5200
Bids and purchase orders2 × 10200
Change orders and invoices2 × 10200
Monday open-items review4 × 4160
Time entries1 × 880
Payment applications2 × 240
Insurance and permit check2 × 120
Cloud Browser, 30 days1,500
Total240 calls3,900

The smallest pack, 5,000 credits for $29, covers this month. More projects in progress mean more calls.

  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • No Business or Enterprise upgrade needed for Cotlet

Credit packs are one-time purchases, not a subscription. The month above is built from our own assumptions, not measured customer usage.

Cotlet credit packs: price, credits and calls at 10 credits each
Credits Price, one time Calls at 10 credits Per 1,000 credits
5,000 $29 500 $5.80
15,000 $79 1,500 $5.27
32,000 $149 3,200 $4.66
60,000 $249 6,000 $4.15

Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.

Other options

ConstructionOnline MCP server: other ways to connect What each route does for a contractor, and where it stops.

Other ways to work with ConstructionOnline, checked 13 Nov 2026
OptionWhat it doesWhere it stops
ConstructionOnline APIPrivate REST API, read and write, for your own code.Business or Enterprise, on request; you build, host and fix the client.
Zapier integrationConnects ConstructionOnline to other apps without code.Team plan and up, not in the trial; only the published triggers and actions.
HubSpot and DocusignLead sync and e-signatures, set up in ConstructionOnline.Fixed jobs, not a route for an AI agent.
By handOpen each module and click through.One screen at a time, at the desk.

If you have API access and your developers cover the job, use the API: it is the vendor's own route. Cotlet fits when you want ChatGPT, Claude or a script working in ConstructionOnline today, on your current plan, with nothing to host.

EU company, since 2019

Who runs Cotlet A company you can look up.

Take Group sp. z o.o. operates Cotlet. It is a Polish software company in the EU (VAT PL6342984273), active since 2019 and run by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Send questions about the ConstructionOnline tools to contact@cotlet.dev.

ConstructionOnline MCP server: questions

How do I get access?

Sign up free at https://cotlet.dev/signup?app=constructiononline, turn on ConstructionOnline under Integrations in the console and sign in at https://app.constructiononline.com/ in your Cloud Browser. Then connect your AI agent and ask it about a project. The trial needs no card.

Does ConstructionOnline have an API?

ConstructionOnline has a private REST API with read and write access for companies on Business or Enterprise subscriptions, turned on only after they ask its development team (checked 13 Nov 2026). It also connects to Zapier on Team plans and up. No ConstructionOnline MCP server or official ChatGPT or Claude connector was verified. Cotlet does not use that API: it works in your own signed-in ConstructionOnline account, on any plan.

How is this different from the ConstructionOnline Zapier integration?

The Zapier integration, for Team, Business and Enterprise plans, runs the triggers and actions ConstructionOnline publishes there. Cotlet lets ChatGPT, Claude or a script work across the screens with the tools on this page. You can use both.

Can clients and subs use the agent?

No. ClientLink and TeamLink are ConstructionOnline's portals for clients, subs and vendors. The tools here run as your company user.

Do I need a Business or Enterprise plan?

Not for Cotlet. The vendor's own API needs one; Cotlet works through your sign-in, so the tools cover what your current plan and permissions show.

Is the MCP server different from the REST API?

Only in how it is called. Both carry the same 31 tools, inputs, answers, API key and price. Agents use MCP; scripts and n8n HTTP steps use REST.

Is Cotlet affiliated with ConstructionOnline?

No. Cotlet is independent and not affiliated with ConstructionOnline.

Send your next RFI through your agent.

Free 7-day trial with 2,000 credits, no card needed.