Live

Knowify logo

Knowify API and MCP server

knowify.com

Knowify has no public REST API (checked 11 Oct 2026). Cotlet is a hosted MCP server and REST API for Knowify with 15 endpoints (6 read, 9 write): your AI agent signs in as you and does the work.

Endpoints
15 6 read, 9 write
Updated
How Cotlet connects your agent to Knowify
  1. Your agent

    Claude Code, Codex, Cursor or a script

  2. Cotlet

    MCP server and REST API · 15 endpoints

    cotlet.dev/mcp/v1

  3. Knowify logo

    Knowify

    Signed in as you on knowify.com

You sign in once. We never store your password.

Official API

Does Knowify have an official API?

Knowify has no public REST API (checked 11 Oct 2026). Its official AI Connector (MCP) lets users with admin permissions ask questions about jobs, billing, labor and collections, and is read-only for now. Its Zapier app creates jobs, clients, bills and tasks. Neither creates invoices, sends proposals or logs time.

What Knowify's own tools do compared with Cotlet
Task Knowify official Cotlet
Job cost to date vs budget Partly AI Connector answers questions, admins only Yes
Create a contract job Yes Zapier action Create Contract Job Yes
Save a proposal with line items No Yes
Send a proposal for e-signature No Yes
Add a change order No Yes
Create and email an invoice No Yes
Record a client payment No Zapier has a New Invoice Payment trigger only Yes
Log time on a job phase No Yes

Sources: Getting started with the Knowify AI Connector · Knowify AI Connector · Knowify triggers and actions on Zapier · Knowify integrations

Common use cases

What can an AI agent do in Knowify?

Cotlet is best for trade contractors and their office staff who want an AI agent to create jobs, bill progress, log time and check job costs in Knowify without running or fixing a server.

  • Weekly report of job phases over budget Runs: Weekly

    Every Monday at 7, list the active Knowify jobs with a phase over budget or above 90% of its budget, biggest overrun first. Your agent calls list_jobs, get_job_cost and list_time_entries.

  • Create a job and send the proposal for e-signature

    New bid from Riverside Dental: office rewire at 88 River Rd, rough-in $22,000 and fixtures $16,500. Create the Knowify job, save the proposal and send it to their office manager for signature. Your agent calls list_clients, create_client, list_jobs, create_job, save_proposal and send_proposal_for_signature.

  • Add a change order and invoice it

    Add a $2,400 change order for the extra outlets on the Maple St job and invoice it. Your agent calls list_jobs, add_change_order and create_invoice.

  • Progress invoices by percent complete, change orders included Runs: Monthly

    Bill Maple St at 60% on rough-in and 25% on fixtures, add the $2,400 kitchen outlet change order and bill it in full, then email the invoice to Dana once I approve it. Your agent calls list_jobs, get_job, list_invoices, add_change_order, create_invoice and send_invoice.

  • Log time on a job phase Runs: Daily

    Log 8 hours yesterday on the Maple St framing phase for me. Your agent calls list_jobs, get_job and log_time.

  • Record a client payment

    Record the $12,500 check from Riverside Dental against their open invoice. Your agent calls list_invoices and record_payment.

Endpoints

What is the Knowify API?

Cotlet's Knowify API exposes 15 endpoints for your own Knowify account: list jobs, get job, get job cost, list invoices, list clients, list time entries, create client, create job, save proposal, send proposal for signature, add change order, create invoice, send invoice, record payment and log time. The list_jobs endpoint returns contract jobs with client, contract status, revenue, cost and profitability. Each endpoint takes simple JSON inputs like job_id, search or name and works both as an MCP tool for agents and as a REST call for scripts.

All endpoints · 15 total

missing one? request an endpoint

  • POST

    list_jobs

    read

    Returns contract jobs with client, status, revenue, cost and profit. Without a status filter it returns all open jobs, newest first. Search matches job name, client name, address or tag. Use job_id from each item in the other tools.

    POST /api/v1/knowify/list_jobs

    Input

    Input: list_jobs
    Parameter Type Description
    status enum lead, bidding, out_for_signature, active, rejected or closed. Default: all open.
    search string Job name, client name, address or tag.
    limit integer 1 to 100. Default: 25.

    Example response

    {
      "jobs": [
        {
          "job_id": "418203",
          "name": "Maple St Remodel",
          "client": "Dana Whitfield",
          "status": "active",
          "contract_style": "fixed_price",
          "revenue": 42400,
          "cost": 22500,
          "profit": 19900
        },
        {
          "job_id": "418410",
          "name": "Riverside Dental Office",
          "client": "Riverside Dental",
          "status": "lead",
          "contract_style": "fixed_price",
          "revenue": 0,
          "cost": 0,
          "profit": 0
        }
      ]
    }
  • POST

    get_job

    read

    Returns one job with its contract lines, change orders and phases. Contract line and change order IDs go into create_invoice; phase IDs go into log_time. Phases show whether labor is enabled.

    POST /api/v1/knowify/get_job

    Input

    Input: get_job
    Parameter Type Description
    job_id required string Job ID from list_jobs.

    Example response

    {
      "job_id": "418203",
      "name": "Maple St Remodel",
      "client": {
        "client_id": "cl-2201",
        "name": "Dana Whitfield"
      },
      "jobsite_address": "214 Maple St, Springfield",
      "contract_style": "fixed_price",
      "contract_lines": [
        {
          "line_id": "line-1",
          "description": "Rough-in electrical",
          "price": 22000
        },
        {
          "line_id": "line-2",
          "description": "Fixtures and finish",
          "price": 18000
        }
      ],
      "change_orders": [
        {
          "change_order_id": "co-1",
          "description": "Extra outlets in the kitchen",
          "price": 2400,
          "status": "active"
        }
      ],
      "phases": [
        {
          "phase_id": "ph-1",
          "name": "Framing",
          "labor_enabled": true
        },
        {
          "phase_id": "ph-2",
          "name": "Rough-in",
          "labor_enabled": true
        }
      ]
    }
  • POST

    get_job_cost

    read

    Returns cost to date against budget for the whole job and for each phase, the figures from Plan & Track. Phases over budget have a negative variance. The job totals are the sums of the phases.

    POST /api/v1/knowify/get_job_cost

    Input

    Input: get_job_cost
    Parameter Type Description
    job_id required string Job ID from list_jobs.

    Example response

    {
      "job_id": "418203",
      "budget_total": 29000,
      "cost_total": 22500,
      "phases": [
        {
          "phase": "Framing",
          "budget": 14000,
          "cost": 15200,
          "variance": -1200
        },
        {
          "phase": "Rough-in",
          "budget": 9000,
          "cost": 6100,
          "variance": 2900
        },
        {
          "phase": "Finish",
          "budget": 6000,
          "cost": 1200,
          "variance": 4800
        }
      ]
    }
  • POST

    list_invoices

    read

    Returns invoices newest first with job, client, amount, balance due and date. Set unpaid_only to see invoices with a balance due. Use invoice_id in send_invoice and record_payment.

    POST /api/v1/knowify/list_invoices

    Input

    Input: list_invoices
    Parameter Type Description
    job_id string Only invoices of this job.
    unpaid_only boolean Skip invoices that are fully paid.
    since date Only invoices dated on or after this date.

    Example response

    {
      "invoices": [
        {
          "invoice_id": "90488",
          "job_id": "418120",
          "client": "Riverside Dental",
          "amount": 12500,
          "balance_due": 12500,
          "date": "2026-09-28"
        }
      ]
    }
  • POST

    list_clients

    read

    Returns clients with contact email, phone and address. Search matches the client name. Use client_id in create_job.

    POST /api/v1/knowify/list_clients

    Input

    Input: list_clients
    Parameter Type Description
    search string Client name.

    Example response

    {
      "clients": [
        {
          "client_id": "cl-3310",
          "name": "Riverside Dental",
          "email": "office@riverside-dental.example",
          "phone": "555-0142",
          "address": "88 River Rd, Springfield"
        }
      ]
    }
  • POST

    list_time_entries

    read

    Returns the time entries you see in Review Time between two dates, with person, job, phase, hours, billable flag and approval state. Filter by job or by approved and unapproved to find entries waiting for review.

    POST /api/v1/knowify/list_time_entries

    Input

    Input: list_time_entries
    Parameter Type Description
    job_id string Only entries on this job.
    from required date First day.
    to required date Last day.
    approved enum all, approved or unapproved. Default: all.

    Example response

    {
      "entries": [
        {
          "entry_id": "te-7701",
          "person": "Sam Ortiz",
          "job_id": "418203",
          "phase": "Framing",
          "date": "2026-10-09",
          "hours": 8,
          "billable": true,
          "approved": false
        }
      ]
    }
  • POST

    create_client

    write

    Adds a client to your client list and returns its client_id for create_job. The email is used for proposals and invoices. It reaches no one, so it runs without asking first.

    POST /api/v1/knowify/create_client

    Input

    Input: create_client
    Parameter Type Description
    name required string Client name.
    email string Contact email, used for proposals and invoices.
    phone string Contact phone.
    address string Billing address.

    Example response

    {
      "client_id": "cl-3311",
      "name": "Lakeview Dental",
      "email": "office@lakeview-dental.example",
      "status": "created"
    }
  • POST

    create_job

    write

    Creates a contract job for a client. The job starts as a lead and moves to bidding when save_proposal runs. Contract style is fixed_price or cost_plus. It reaches no one, so it runs without asking first.

    POST /api/v1/knowify/create_job

    Input

    Input: create_job
    Parameter Type Description
    name required string Job name.
    client_id required string Client ID from list_clients or create_client.
    contract_style required enum fixed_price or cost_plus.
    jobsite_address string Jobsite address.
    bid_due_date date When the bid is due.

    Example response

    {
      "job_id": "418410",
      "name": "Riverside Dental Office",
      "client_id": "cl-3310",
      "contract_style": "fixed_price",
      "status": "lead"
    }
  • POST

    save_proposal

    write

    Saves the contract lines of the proposal as a draft and moves the job to bidding. Nothing is sent to the client; send_proposal_for_signature does that. It reaches no one, so it runs without asking first.

    POST /api/v1/knowify/save_proposal

    Input

    Input: save_proposal
    Parameter Type Description
    job_id required string Job ID from list_jobs.
    line_items required object List of { description, price } contract lines.

    Example response

    {
      "job_id": "418410",
      "status": "bidding",
      "proposal_total": 38500,
      "line_items": 2
    }
  • POST

    send_proposal_for_signature

    write

    Emails the saved proposal to the client for e-signature. The recipient is the client's contact email unless you pass to_email. The job turns active when the client signs. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/knowify/send_proposal_for_signature

    Input

    Input: send_proposal_for_signature
    Parameter Type Description
    job_id required string Job ID from list_jobs.
    to_email string Recipient. Default: the client's contact email.

    Example response

    {
      "job_id": "418410",
      "status": "out_for_signature",
      "sent_to": "office@riverside-dental.example"
    }
  • POST

    add_change_order

    write

    Adds a change order to a fixed price job. It is a draft unless make_active is true, and only an active change order can be invoiced. It reaches no client, so it runs without asking first.

    POST /api/v1/knowify/add_change_order

    Input

    Input: add_change_order
    Parameter Type Description
    job_id required string Job ID from list_jobs.
    description required string What changed.
    price required string Change order price as a decimal, e.g. 2400.00.
    make_active boolean Make it active right away. Default: false.

    Example response

    {
      "change_order_id": "co-1",
      "job_id": "418203",
      "description": "Extra outlets in the kitchen",
      "price": 2400,
      "status": "active"
    }
  • POST

    create_invoice

    write

    Invoices an active job by percent of progress or by dollar amount per contract line or change order. It saves a draft unless finalize is true. The invoice amount is the sum of the billed lines. It does not email anyone; send_invoice does. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/knowify/create_invoice

    Input

    Input: create_invoice
    Parameter Type Description
    job_id required string Job ID from list_jobs.
    method required enum percent or amount.
    lines required object Map of contract line or change order ID to percent or amount to bill.
    finalize boolean Verify and finalize instead of saving a draft. Default: false.

    Example response

    {
      "invoice_id": "90517",
      "job_id": "418203",
      "status": "draft",
      "amount": 18400,
      "balance_due": 18400,
      "date": "2026-10-10"
    }
  • POST

    send_invoice

    write

    Emails a finalized invoice to the client. The recipient is the client's contact email unless you pass to_email. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/knowify/send_invoice

    Input

    Input: send_invoice
    Parameter Type Description
    invoice_id required string Invoice ID from list_invoices or create_invoice.
    to_email string Recipient. Default: the client's contact email.

    Example response

    {
      "invoice_id": "90517",
      "status": "sent",
      "sent_to": "dana.whitfield@example.com"
    }
  • POST

    record_payment

    write

    Records a full or partial client payment on an invoice and returns the new balance due. The memo holds a check number or note. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/knowify/record_payment

    Input

    Input: record_payment
    Parameter Type Description
    invoice_id required string Invoice ID from list_invoices.
    amount required string Amount received as a decimal, e.g. 12500.00.
    date required date Payment date.
    memo string Check number or note.

    Example response

    {
      "invoice_id": "90488",
      "amount": 12500,
      "date": "2026-10-09",
      "memo": "Check 4471",
      "balance_due": 0
    }
  • POST

    log_time

    write

    Enters hours on a job phase in the Time Tracker and submits them for review, where they appear in Review Time. The phase must have labor enabled. It reaches no client, so it runs without asking first.

    POST /api/v1/knowify/log_time

    Input

    Input: log_time
    Parameter Type Description
    job_id required string Job ID from list_jobs.
    phase_id required string Phase ID from get_job. The phase must have labor enabled.
    date required date Day worked.
    hours required string Hours worked as a decimal, e.g. 7.5.
    description string What was done.

    Example response

    {
      "entry_id": "te-7702",
      "job_id": "418203",
      "phase": "Framing",
      "date": "2026-10-09",
      "hours": 8,
      "status": "submitted"
    }

Setup

How do I connect Knowify to Claude Code, Codex or Cursor?

Connecting Knowify takes three steps: request access, sign in to Knowify once, then add one MCP server or call the REST API with the same key.

Connect Knowify over MCP

  1. 1

    Create an account

    Sign up and add Knowify in the console. Your API key is there too.

  2. 2

    Sign in to Knowify once

    Open the connect page from the console and sign in to Knowify the way you always do. We keep the session, never your password, and you can revoke it anytime.

  3. 3

    Add Cotlet to your agent

    Claude Code
    claude mcp add --transport http cotlet \
      https://cotlet.dev/mcp/v1 \
      --header "Authorization: Bearer $COTLET_API_KEY"
    Cursor
    {
      "mcpServers": {
        "cotlet": {
          "url": "https://cotlet.dev/mcp/v1",
          "headers": {
            "Authorization": "Bearer ${COTLET_API_KEY}"
          }
        }
      }
    }
    Codex
    # ~/.codex/config.toml
    [mcp_servers.cotlet]
    url = "https://cotlet.dev/mcp/v1"
    bearer_token_env_var = "COTLET_API_KEY"

    Paste the snippet for your client. The same server and key serve every app you connect, so you do this once.

  4. 4

    Ask your agent

    Prompt

    Every Monday at 7, list the active Knowify jobs with a phase over budget or above 90% of its budget, biggest overrun first.

    Ask in plain words. Your agent finds the Knowify tools on the server and calls them for you; anything that reaches other people waits for your OK unless you switch that off for a tool.

Call Knowify over REST

  1. 1

    Export your API key

    Shell

    export COTLET_API_KEY="cotlet_..."

    Your scripts use the same API key as your agent. Keep it in an environment variable, never in your code.

  2. 2

    Call a tool

    curl

    curl https://cotlet.dev/api/v1/knowify/create_invoice \
      -H "Authorization: Bearer $COTLET_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"job_id":"418203","method":"percent","lines":{"line-1":40,"line-2":40,"co-1":100},"finalize":false}'

    Every tool is a POST endpoint at /api/v1/knowify/{tool}. Send its parameters as JSON, exactly as listed in the endpoints above.

  3. 3

    Read the result

    Example response · create_invoice

    {
      "invoice_id": "90517",
      "job_id": "418203",
      "status": "draft",
      "amount": 18400,
      "balance_due": 18400,
      "date": "2026-10-10"
    }

    You get plain JSON back, ready for your script. A failed call costs nothing.

Why Cotlet

Why use Cotlet for Knowify? Hosted, safe and kept working.

  • Built for agents

    • One MCP server for every app you connect.
    • The same tools as a REST API for scripts and cron jobs.
    • Works with Claude Code, Codex and Cursor.
  • Your login stays yours

    • You sign in to Knowify yourself. We keep only the session, encrypted with AES-256.
    • The model never sees a login.
    • No stored passwords, no CAPTCHA solving, no MFA bypass.
  • You stay in control

    • Pick read only, or read and write.
    • Anything that reaches other people waits for your OK, unless you switch it off per tool.
    • Revoke access in one click.
  • Kept working for you

    • We test every integration daily.
    • When Knowify changes, the tool pauses until we fix it.
    • Failed calls cost nothing.

Alternatives

Is there a Knowify MCP server on GitHub?

No open-source Knowify MCP servers turned up. Knowify's own AI Connector answers questions about your data for admins, and its Zapier app creates jobs, clients, bills and tasks. Cotlet adds the writes neither covers: proposals, change orders, invoices, payments and time.

Cotlet compared with a Knowify AI Connector
Knowify AI Connector Cotlet
Setup Add the connector URL in Claude or Grok, or the ChatGPT plugin, then sign in Request access, sign in to Knowify once in your browser, add one MCP server or API key
Who can connect Users with admin permissions only Your own account, with the permissions it already has
What it does Answers questions: WIP, billing, labor, collections Reads jobs and costs, and does the work: proposals, change orders, invoices, payments, time
When Knowify changes Knowify maintains it Our team tests it daily and fixes it for you; failed calls are free
Your Knowify session OAuth sign-in with Knowify Encrypted in an EU vault, limited to the actions you allow, revoked in one click
Where it runs Claude, ChatGPT, Grok and other MCP clients Hosted: Claude Code, Codex, Cursor, n8n and scripts, also on a schedule
Price Included with Knowify Free 7-day trial with 5,000 credits, then credits per call

Which one fits you

Pick Cotlet if

  • you are not a developer, or you do not want to maintain a server
  • you need it to keep working when Knowify changes, without checking it yourself
  • your agent or a script should run it on a schedule, also while your computer is off

Pick an open-source server if

  • you are comfortable installing, updating and fixing it yourself
  • you want the session to stay on your own computer
  • you only need it now and then, from one MCP client

For AI agents

Cotlet for Knowify in plain text The facts on this page in one block: status, endpoints, access, pricing, contact.

Endpoint health

verified 2h ago

  • list_jobs passing
  • get_job passing
  • get_job_cost passing
  • list_invoices passing
  • list_clients passing

+ 10 more endpoints

15/15 passing latest check self-healing

knowify.txt

Knowify has no public REST API (checked 11 Oct 2026). Its official AI Connector (MCP) lets users with admin permissions ask questions about jobs, billing, labor and collections, and is read-only for now. Its Zapier app creates jobs, clients, bills and tasks. Neither creates invoices, sends proposals or logs time.
Cotlet provides a hosted MCP server and REST API for Knowify: 15 tools (6 read, 9 write).
Access       Request access at https://cotlet.dev/app/signup?app=knowify; we email the API key.

MCP server   https://cotlet.dev/mcp/v1
REST base    https://cotlet.dev/api/v1/knowify
Auth         Authorization: Bearer <COTLET_API_KEY>. Listing endpoints and schemas needs no key; calling an endpoint needs one.
Tools        list_jobs, get_job, get_job_cost, list_invoices, list_clients, list_time_entries, create_client, create_job, save_proposal, send_proposal_for_signature, add_change_order, create_invoice, send_invoice, record_payment, log_time
Confirm      send_proposal_for_signature, create_invoice, send_invoice, record_payment (by default the user approves each call; the user can switch this off per tool, e.g. for scheduled automations)
Markdown     https://cotlet.dev/integrations/knowify-api-mcp-server.md

How access works:
1. The user requests access at https://cotlet.dev/app/signup?app=knowify (Knowify is pre-selected). Each request is reviewed and the API key is sent by email.
2. The user signs in to Knowify once in a browser. An agent cannot do this step.
3. The API key goes into the MCP client or the REST call as a bearer token.

Fits: people who want a hosted Knowify server that someone else maintains, including non-developers.

Policy: Cotlet never stores passwords, never solves CAPTCHAs, never bypasses MFA.
Company: legal details in the Terms of service at https://cotlet.dev/terms. Contact contact@cotlet.dev.
Session: the user signs in to Knowify in a browser; Cotlet keeps only the session, AES-256 encrypted, revocable in the dashboard at any time.
Terms: the user stays responsible for following Knowify's terms; Cotlet is not affiliated with Knowify.
Full page as Markdown

Automations

Can Knowify automations run on a schedule in n8n, Make or Zapier?

Yes. Cotlet does not replace your automation platform: it gives it a Knowify connection it does not have, with the same API key as your agent. Write actions ask for your OK by default; switch that off in your dashboard for the tools you choose, for example to weekly report of job phases over budget, and the schedule runs on its own. Cotlet runs in the cloud, so it keeps going while your computer is off.

Where to run Knowify automations through Cotlet, and how to schedule them
Where How to connect How to schedule
Your AI agent Add https://cotlet.dev/mcp/v1 with your API key. A scheduled agent run, for example a Claude Code routine.
n8n MCP Client node with https://cotlet.dev/mcp/v1, or an HTTP Request node to https://cotlet.dev/api/v1/knowify/{tool}. Schedule Trigger node.
Make HTTP module: POST https://cotlet.dev/api/v1/knowify/{tool} with an Authorization: Bearer header and a JSON body. Scenario schedule.
Zapier Webhooks by Zapier: POST https://cotlet.dev/api/v1/knowify/{tool} with the same header and body. Schedule by Zapier trigger.
Your own script POST https://cotlet.dev/api/v1/knowify/{tool} with your API key. cron or GitHub Actions.

Pricing & limits

How much does the Knowify API cost?

Free 7-day trial with 5,000 credits, no card needed. After that, the Knowify API comes with the Cotlet plan, from $29 a month for 3,000 credits, with no limit on apps. Each month's credits stay valid for 3 months, so unused credits add up.

Cotlet plan sizes: price, monthly credits and price per credit
Size Price Credits / month Per credit
Solo $29/mo 3,000 about $0.0097
Pro $99/mo 12,000 about $0.0083
Agency $299/mo 40,000 $0.0075

Each successful call uses credits for the work it takes; failed calls and timeouts cost nothing. A hard spend cap is on by default. Authenticate with the Authorization: Bearer header.

About Cotlet

How Cotlet holds your access

Cotlet hosts MCP servers and REST APIs for apps with no usable API. Your agent works in your own Knowify account.

Company details
The legal name, address and registration numbers of the company behind Cotlet are in the Terms of service. Terms
Your session
You sign in to Knowify yourself, in your browser. We keep only the session, never your password: encrypted with AES-256 in an EU vault, isolated to your account and used only when your agent calls a Knowify tool you allowed. When it expires, your agent gives you a link to sign in again. Security
Revoking access
Disconnect Knowify in your dashboard: the session is deleted and access ends at once. Actions that reach other people wait for your OK unless you switch that off per tool.
What we never do
Store passwords, solve CAPTCHAs or bypass MFA.
Knowify's terms
You use your own Knowify account and stay responsible for following Knowify's terms. Cotlet is independent and not affiliated with Knowify. Terms
Contact
Questions about the company, security or an app: contact@cotlet.dev
About Cotlet

Frequently asked questions

How do I get access?

Request access and pick Knowify. Cotlet reviews each request and emails you your API key.

Do I need to be technical?

No. You sign in to Knowify once in your browser and paste one command into your agent, or one URL into n8n. Your agent can walk you through it. There is no server to install, update or fix.

Is a hosted server safe? My Knowify session would leave my computer.

Cotlet keeps your Knowify session encrypted with AES-256 in an EU vault, isolated to your account and used only for the tools you allow: read only, or read and write. The AI model never sees it, and you revoke it in one click. A local server keeps the same session in a file on your computer, readable by any program you run, and needs a fresh sign-in whenever it expires.

Can my agent send an invoice without my OK?

Yes, once you switch confirmation off for send_invoice. By default each email to a client and each payment record waits for your OK. Knowify's own AI Connector is read-only for now (checked 11 Oct 2026).

Do I need admin permissions in Knowify?

Cotlet works in your own Knowify account with the permissions it already has. Knowify's AI Connector needs admin permissions to connect.

Can my agent post or send messages in Knowify without asking me?

No. Every call to send_proposal_for_signature, create_invoice, send_invoice or record_payment waits for your OK by default. For scheduled automations you can switch confirmation off per tool in your dashboard, for example only for approvals. create_client, create_job, save_proposal, add_change_order, log_time runs without asking, because it sends nothing to anyone and one call undoes it.

Can I use the Knowify API in n8n?

Yes. Add https://cotlet.dev/mcp/v1 with your API key in n8n's MCP Client node, or call https://cotlet.dev/api/v1/knowify/{tool} from the HTTP Request node.

Give your agent access to Knowify.

Request access and pick it. We review each request and email you your API key. Free 7-day trial with 5,000 credits, no card needed.