Customer Relation

Formitize MCP Server

Connect your account, then chat with AI to run tools.

Formitize is an Australian field-service and paperless business platform for mobile forms, CRM, job scheduling, asset registers, and invoicing. Read and write clients, jobs, assets, form templates, and submitted inspection data.

Managed
20 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

AI Skill
SKILL.md

Domain knowledge for Formitize — workflow patterns, data models, and gotchas for your AI agent.

Formitize

Formitize is a field-service operations stack: CRM clients and sites, schedulable jobs, asset registers, mobile form templates, and submitted inspection reports. Australian accounts typically use service.formitize.com.au; the REST surface is version 2 under /api/rest/v2.

Hierarchy

Account → CRM clients (billingName) → locations & contacts → jobs (assigned to users/queues) → attached forms → submitted form rows → assets (per asset schema) → invoices.

Jobs can auto-create clients when client.billingName is supplied on create. Asset data is always scoped to an asset schema id — list schemas before listing assets.

Operational order

  1. Clients — list CRM clients (page) or fetch one by client_id (billing, embedded contact/location ids).
  2. Contacts & locations — always scoped to a client_id via nested CRM paths (crm/client/{id}/contact/ and .../location/). List or fetch by optional contact_id / location_id; upsert and delete on the same nested paths.
  3. Jobs — list open jobs (optional status filter) or fetch one job by id for status, assignee, due date, and attached forms/history.
  4. Assets — list asset schemas (optional schema_id for one definition), then list or fetch assets within a schema id.
  5. Forms — list form templates; search submitted forms via form/submit/list/ (query, form_id, page) or fetch by submitted_id / job_id; upsert submissions when pushing inspection answers.
  6. Lookup databases — list lookup DB names used by form dropdown fields.
  7. Invoices — list invoice summaries when billing modules are enabled on the account.

Job status codes (for filters)

Comma-separated status on job list: 1 Created, 2 Assigned, 3 Accepted, 4 Finished, 6 Rejected, 8 Rescheduled.

Write semantics

  • Client upsert — POST JSON to crm/client/ (create) or crm/client/{id} (update). billingName is the primary create field. Deactivate via extra_fields status: inactive.
  • Contact upsert — POST crm/client/{client_id}/contact/ (create) or .../contact/{contact_id} (update).
  • Contact delete — DELETE crm/client/{client_id}/contact/{contact_id}.
  • Location upsert — POST crm/client/{client_id}/location/ (create) or .../location/{location_id} (update).
  • Location delete — DELETE crm/client/{client_id}/location/{location_id}.
  • Job upsert — POST JSON to job/. Omit id to create (needs title, agent, and client.billingName or existing client). Pass numeric id in the body to update title, notes, status, assignees, or attached forms.
  • Job delete — DELETE with id query param; destructive and idempotent.
  • Asset upsert — POST JSON to asset/{schema_id}/ or asset/{schema_id}/{asset_id}; schema-specific columns vary — use extra_fields for schema-defined keys.
  • Asset delete — DELETE asset/{schema_id}/{asset_id}.
  • Submitted form upsert — POST form/submit/ (create) or form/submit/{submitted_id} (update); pass formID, jobID, and answer fields via extra_fields.

Assign agent to -1 for queue-style jobs any field user can pick up.

Gotchas

  • Responses wrap data in a top-level payload key; tools return the unwrapped payload.
  • Job and submitted-form list responses are maps keyed by id — tools normalize to items arrays.
  • Empty accounts return {} or [] for lists; that is not an auth failure.
  • Flat crm/contact/ and crm/location/ paths are not implemented on v2 — always use nested crm/client/{client_id}/... paths.
  • API tokens are permission-scoped in Formitize Admin → API → API Tokens; missing module permission surfaces as a payload error message.

Tools in this Server (20)

Formitize Delete Asset

Delete one asset row from a Formitize asset schema. Requires schema_id and asset_id. Destructive and idempotent.

Formitize Delete Contact

Delete a contact from a Formitize CRM client. Requires client_id and contact_id. Destructive and idempotent when the API accepts repeat deletes.

Formitize Delete Job

Permanently delete a Formitize job by id. Destructive and idempotent — deleting an already removed job still succeeds when the API accepts it.

Formitize Delete Location

Delete a site location from a Formitize CRM client. Requires client_id and location_id. Destructive and idempotent when the API accepts repeat deletes...

Formitize Get Assets

List or fetch assets within a Formitize asset schema. Requires schema_id. Omit asset_id to list all assets in the schema; pass asset_id for one row.

Formitize Get Asset Schemas

List or fetch asset schema definitions on the Formitize account. Each schema describes an asset register (columns, types). Omit schema_id to list all ...

Formitize Get Clients

List or fetch Formitize CRM clients. Omit client_id to list clients with billing name, primary contact, address, and status (`page` for pagination). P...

Formitize Get Contacts

List or fetch contacts for a Formitize CRM client. Requires client_id. Omit contact_id to list all contacts on the client; pass contact_id for one con...

Formitize Get Form Templates

List mobile form templates configured on the Formitize account. Template ids attach to jobs and pre-fill submitted forms.

Formitize Get Invoices

List or fetch Formitize invoices when the accounts module is enabled. Omit invoice_id to list; pass invoice_id for one invoice with line items and pay...

Formitize Get Jobs

List or fetch Formitize field jobs. Omit job_id to list jobs (returns `items` and `count`). Pass job_id for one job with status, assignee, due date, f...

Formitize Get Locations

List or fetch site locations for a Formitize CRM client. Requires client_id. Omit location_id to list all locations (addresses, site names); pass loca...

Formitize Get Lookup Databases

List lookup database names configured on the Formitize account. Lookup databases back dropdown and autocomplete fields on mobile forms.

Formitize Get Submitted Forms

List or fetch submitted mobile form data (inspection reports, checklists, audits). Pass submitted_id for one submission. Pass job_id for all forms att...

Formitize Upsert Asset

Create or update an asset row in a Formitize asset schema. Requires schema_id. Omit asset_id to create; pass asset_id to update. Schema-specific colum...

Formitize Upsert Client

Create or update a Formitize CRM client. Omit client_id to POST a new client (billing_name is the usual minimum). Pass client_id to update billing nam...

Formitize Upsert Contact

Create or update a contact on a Formitize CRM client. Requires client_id. Omit contact_id to create (first_name or email is a typical minimum). Pass c...

Formitize Upsert Job

Create or update a Formitize job. Omit job_id to create — requires title and agent (use -1 for queue/unassigned). Supply billing_name or client object...

Formitize Upsert Location

Create or update a site location on a Formitize CRM client. Requires client_id. Omit location_id to create (site_name and street1 are typical). Pass l...

Formitize Upsert Submitted Form

Create or update a submitted mobile form row. Omit submitted_id to POST a new submission (typically needs formID and jobID via extra_fields). Pass sub...

Frequently Asked Questions

What is the Formitize MCP server?

Formitize is an Australian field-service and paperless business platform for mobile forms, CRM, job scheduling, asset registers, and invoicing. Read and write clients, jobs, assets, form templates, and submitted inspection data. It provides 20 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect Formitize to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/formitize. Authentication is handled automatically.

How many tools does Formitize provide?

Formitize provides 20 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Formitize require?

Formitize uses API Key. Formitize requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Formitize to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/formitize

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to Formitize and paste the MCP URL into Remote MCP server URL.
  4. Click Add. Formitize will appear under Not connected — select it and click Connect to complete OAuth.
Name: Formitize
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/formitize
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use Formitize?

Sign in to connect your credentials and start running tools from the chat.

Formitize MCP Server & Skill