Back to tracker
Plugin tracker
Tools
Explore what tracked Claude Connectors and ChatGPT Plugins can actually do. Search by tool, Plugin, Brand, category, verb, or access requirement.
Latest snapshot2026-09-11USmethodology registry-public-v1
Searchable tools
113,017
Authless tools
7,424
Auth required
100,766
Described tools
61,166
113,017 tools
- Delete Warehouse(s)delete · Delete one or more warehouses / inventory locations in FieldCamp.
REQUIRED:
- delete_ids: array of warehouse ids to delete (from get_warehouses).
DESTRUCTIVE: the backend archives each warehouse and its related data, then
removes inventory transfers/items in those warehouses and flags affected
products as non-inventory. Confirm with the user before calling.FieldCampFieldCamp
PluginrequiredOperations - Email Document to Clientsend · Send an invoice or estimate to a client via email.
REQUIRED:
- to: array of recipient email addresses
- subject: email subject line
- message: email message body
OPTIONAL:
- documentId: MongoDB ID of the document (for tracking)
- documentType: 1=Invoice, 2=Estimate
- documentNumber: document number (for PDF filename)
- documentViewUrl: URL for 'View Document' button in email
- cc: array of CC email addresses
- bcc: array of BCC email addresses
- attachPdf: boolean — attach rendered PDF (default: false)FieldCampFieldCamp
PluginrequiredOperations - Fetch (open a record by id)fetch · Fetch the FULL record for a single type-prefixed id returned by `search`.
This is step two of the search→fetch retrieval pair: after `search` finds a
record, call `fetch` with its `id` to pull the complete details (all fields)
for clients, jobs, visits, products/services, invoices, estimates, requests,
and tasks. It routes to the correct underlying record lookup automatically
based on the id prefix — you do NOT need to know or call the entity-specific
get_*_by_id tool yourself.
PARAMETERS:
- id: the TYPE-PREFIXED id from a `search` result, e.g. "client:<id>",
"job:<id>", "invoice:<id>", "estimate:<id>", "request:<id>",
"product:<id>", "visit:<id>", "task:<id>" (or "custom:<slug>:<id>").
RETURNS a JSON object: {"id", "title", "text", "url", "metadata"} where
`text` is the full record serialized as readable JSON, `url` is the app deep
link, and `metadata` carries key fields (status, totals, type, ...).FieldCampFieldCamp
PluginrequiredOperations - Get Account Data Modelget · Return THIS account's LIVE, customized schema — the real pipeline status
values, allowed transitions, and custom fields for an object.
Pipelines, statuses and fields are CUSTOMIZABLE per account, so the default
status names mentioned in other tools may not match this account. Call this
BEFORE filtering/setting a status or creating/updating a record whenever you
are unsure of the valid values for THIS account — then use the exact values
it returns. Scoped to the caller's own organization.
object_type: "client", "job", "visit", "invoice", "estimate", "request",
"task", or "all" (default).
Also accepts any CUSTOM object slug (tenant-defined — e.g. "unit").
"all" lists custom objects by name only; pass the specific slug to get
its fields (keyed by canonical field NAME — use these exact names in
create_record/update_record `data`), stages, transitions, and
conversion actions (valid rule_id values for convert_record).FieldCampFieldCamp
PluginrequiredOperations - Get Activity Historyget · Get activity history for any entity (audit trail).
REQUIRED:
- module_id: MongoDB ObjectId of the record
- module_type: "job", "visit", or a CUSTOM-OBJECT SLUG. Custom-object records
DO have history: create/update/delete each write a History row keyed by the
object slug. Pass the `slug` field from list_object_definitions VERBATIM —
it is not the plural form and not the display name (real slugs look like
"warnty", "contract_renewal", "all_mode", whose namePlural is a separate
display-only field). A record with no history yet returns an empty list,
which means "nothing recorded for this record", not "unsupported".
NOT available here: "client" and "request". Client activity lives in a
separate clientHistory table this endpoint does not read, and request
activity is not recorded at all — both return an EMPTY result rather than
an error, so do not read an empty response as "nothing ever changed".
OPTIONAL:
- page: page number (default: 1)
- limit: max records per page (server-clamped to 30)
Returns chronological activity log including who made changes,
what was changed, descriptions, and timestamps.
Use for: "What changes were made to this job?", "History of this visit?"FieldCampFieldCamp
PluginrequiredOperations - Get Available Team Membersget · Get available team members for a specific time slot.
Checks both visit overlaps and team member schedules (weeklySchedule/specificHours).
REQUIRED parameters:
- visitStartDateTime: ISO 8601 start time in UTC
- visitEndDateTime: ISO 8601 end time in UTC
- timezone: string — user's timezone (e.g. 'Asia/Kolkata')
OPTIONAL:
- requiredSkillIds: array of skill IDs to filter by required skills
- excludeJobId: string — exclude this job from conflict checkFieldCampFieldCamp
PluginrequiredOperations - Get Business Analyticsget · Get business analytics and metrics data. This is the PREFERRED tool for
totals, sums, rankings, and trends (e.g. total outstanding A/R, top clients,
revenue over time) — it computes them server-side. Do not try to total these
yourself by listing records.
REQUIRED:
- metric: The metric to retrieve (see list below)
⚠️ ALWAYS pass start_date AND end_date. Most metrics return an EMPTY result
("data": []) when no date range is given. For an "all-time" total, pass a
wide range (e.g. start_date="2020-01-01" through a date in the future).
Example: outstandingRevenue over a wide range returns the current total
A/R; topRevenueClients returns the ranked client list.
OPTIONAL:
- start_date: ISO date (e.g., "2026-01-01")
- end_date: ISO date (e.g., "2026-01-31")
- group_by: "auto", "day", "week", "month", "quarter", "none" (default: "auto")
- breakdown_by: dimension to break down by (see list below). NOTE: breakdown_by
is applied PER-METRIC — not every dimension works with every metric, and a
dimension the chosen metric doesn't support is silently ignored (no error;
the result simply comes back without that breakdown).
- filters: array of filter objects
AVAILABLE METRICS:
Jobs: totalJobsForChart, jobCompletionRate, jobVolumeTrends, avgJobValue, avgJobDuration,
jobStatusDistribution, jobTypeDistribution, jobsByClient, jobsByAssignee
Visits: totalVisits, visitSuccessRate, avgVisitDuration, visitsPerJob
Financial: revenueTrends, paidRevenue, outstandingRevenue, overdueInvoiceAmount,
invoiceCount, avgInvoiceValue, collectionRate, topRevenueClients, avgDaysToPayment
Estimates: totalEstimates, estimateValue, estimateApprovalRate, estimateConversionRate
CRM: newClientsOverTime, totalClients, totalRequests, clientConversionRate,
requestConversionRate, clientsStages, requestsByStage
Tasks: totalTasks, taskCompletionRate, overdueTasksCount, tasksByStatus, tasksByPriority
Workforce: scheduledHoursByTechnician, jobsPerTechnician, technicianRevenue
Geographic: jobsByCity, revenueByCity, clientsByCity
BREAKDOWN DIMENSIONS: createdBy, assignedTo, teamId, clientId, clientType,
clientStage, jobStatus, paymentStatus, visitStatus, jobType, city, stateFieldCampFieldCamp
PluginrequiredOperations - Get Clientget · Get complete client details by MongoDB ObjectId.
PARAMETERS:
- client_id: MongoDB ObjectId of the client
Returns all client information including name, contact details, property address,
billing address, tags, custom fields, and metadata.FieldCampFieldCamp
PluginrequiredOperations - Get Client Documentsget · Get documents (invoices and estimates) for a specific client.
REQUIRED:
- client_id: MongoDB ObjectId of the client
OPTIONAL:
- view: Set to "assigned" to only see documents assigned to current user
Returns list of documents with document type (1=Invoice, 2=Estimate),
document number, status, payment status, title, total, and date.FieldCampFieldCamp
PluginrequiredOperations - Get Client Payment Historyget · Get payment history for a specific client.
REQUIRED:
- client_id: MongoDB ObjectId of the client
OPTIONAL:
- view: Set to "assigned" to only see payments from documents assigned to current user
Returns list of payments with document number, payment amount, payment date,
payment method, document total, and payment status. Sorted by payment date descending.FieldCampFieldCamp
PluginrequiredOperations - Get Client's Productsget · Get products associated with a specific client from their jobs.
REQUIRED:
- client_id: MongoDB ObjectId of the client
OPTIONAL:
- view: Set to "assigned" to only see products from jobs assigned to current user
Returns list of products with item name, description, quantity, price, total, and linked job number.FieldCampFieldCamp
PluginrequiredOperations - Get Company Infoget · Get company information and settings.
OPTIONAL:
- withCurrencyData: when True, backend enriches the response with extra
currency metadata. Default False (flag omitted from wire).
Returns company details including business name, address, phone, email,
website, timezone, currency, industry, mileage tracking settings,
labor rate settings, and other configuration.
Use for: Understanding business context (timezone, currency, industry)
before performing operations.FieldCampFieldCamp
PluginrequiredOperations - Get Company Scheduleget · Get the company's weekly business hours and specific hour exceptions (holidays, special hours).
Returns weeklySchedule (7 days) and specificHours (date-specific overrides).FieldCampFieldCamp
PluginrequiredOperations - Get Custom Object Recordget · Get one custom-object record by MongoDB ObjectId.
Returns the record's status (pipeline stage), its `data` object (keyed by
canonical field names — see get_data_model(slug)), and system timestamps.FieldCampFieldCamp
PluginrequiredOperations - Get Dispatch Suggestionsget · Get AI-powered dispatch suggestions for unassigned visits.
Recommends technicians based on workload, availability, and client relationships.
OPTIONAL parameters:
- visitId: string — get suggestions for a specific unassigned visit
- date: string (YYYY-MM-DD) — target date for finding unassigned visits (default: today)FieldCampFieldCamp
PluginrequiredOperations - Get Inventory Itemget · Get inventory item details by MongoDB ObjectId.
REQUIRED:
- inventory_id: MongoDB ObjectId of the inventory item
Returns complete inventory information including item details, warehouse,
quantity, SKU, and metadata.FieldCampFieldCamp
PluginrequiredOperations - Get Invoice/Estimateget · Get invoice or estimate details by MongoDB ObjectId.
PARAMETERS:
- document_id: MongoDB ObjectId of the invoice/estimate
Returns complete document information including line items, payments,
client details, and status.FieldCampFieldCamp
PluginrequiredOperations - Get Jobget · Get complete job details by MongoDB ObjectId.
PARAMETERS:
- job_id: MongoDB ObjectId of the job
- view: View options: 'all', 'own', 'viewAssigned' (default: 'all')
Returns job information including client, visits, line items, invoices, and metadata.FieldCampFieldCamp
PluginrequiredOperations - Get Job Typesget · List this account's job-type catalog — the named service types jobs are
classified by (e.g. "Annual PM", "6-Month Checkup"), each with an id,
description, and estimated duration.
Use the returned `id` as `jobTypeId` in create_job/update_job job_data.
Job types are account-defined; never guess a jobTypeId.
PARAMETERS:
- page / limit: pagination
- search: filter by title (contains, case-insensitive)FieldCampFieldCamp
PluginrequiredOperations - Get Next Document Numberget · Get the next available document number for invoices or estimates.
REQUIRED:
- documentType: integer — 1=Invoice, 2=EstimateFieldCampFieldCamp
PluginrequiredOperations - Get Next Job Numberget · Get the next available job number.
Returns the next sequential job number for job creation.
Useful for previewing the job number before creating a job.FieldCampFieldCamp
PluginrequiredOperations - Get Product/Serviceget · Get product or service details by MongoDB ObjectId.
PARAMETERS:
- product_service_id: MongoDB ObjectId of the product/service
Returns complete product/service information including name, type, price,
inventory status, tax settings, and custom properties.FieldCampFieldCamp
PluginrequiredOperations - Get Record Summaryget · Financial/progress rollups for one custom-object record, resolved
server-side in a single call: jobs targeting this record plus invoices
linked to them (all-time / windowed / paid totals and counts), and a
newest-first per-job invoiced history.
Use this for "how much have we spent on this unit?" / "repair or
replace?" questions instead of listing jobs and invoices yourself.FieldCampFieldCamp
PluginrequiredOperations - Get Requestget · Get complete service request details by MongoDB ObjectId.
REQUIRED:
- request_id: MongoDB ObjectId of the request
Returns full request including client details, line items (requestItems),
taxes (requestTaxes), stage, and all metadata.FieldCampFieldCamp
PluginrequiredOperations - Get Taskget · Get complete task details by MongoDB ObjectId.
REQUIRED:
- task_id: MongoDB ObjectId of the task
Returns task information including name, schedule, assignee, linked records,
status, and instructions.FieldCampFieldCamp
PluginrequiredOperations - Get Team Memberget · Get complete team member details by MongoDB ObjectId.
REQUIRED:
- team_member_id: MongoDB ObjectId of the team member
Returns full team member profile including name, email, phone, role,
skills, service areas, schedule, labor rates, and availability.FieldCampFieldCamp
PluginrequiredOperations - Get Visitget · Get complete visit/appointment details by MongoDB ObjectId.
PARAMETERS:
- visit_id: MongoDB ObjectId of the visit
Returns visit information including job details, assigned team, schedule,
status, and notes.FieldCampFieldCamp
PluginrequiredOperations - Get Visit Statsget · Get visit statistics and list for a date range (dispatcher dashboard).
OPTIONAL:
- start_date: YYYY-MM-DD format (omit both dates for all visits)
- end_date: YYYY-MM-DD format
- view: "all", "ownEvents", "viewAssigned" (default: "all")
RETURNS:
- stats: {total, completed, pending, scheduled, in_transit, arrived,
in_progress, paused, cancelled, active, unassigned}
- visits: array of visits with job and client details
Use for: "How many visits today?", "What's unassigned this week?",
"Status breakdown for this month?"FieldCampFieldCamp
PluginrequiredOperations - List Calendar Activityget · Get recent calendar activity feed (status changes, assignments, completions, alerts).
OPTIONAL parameters:
- limit: integer (1-50, default: 20) — max activities to return
- since: ISO 8601 datetime — get activities since this date (default: 24 hours ago)
- types: comma-separated string — filter: 'status_change', 'assignment', 'completion', 'alert'FieldCampFieldCamp
PluginrequiredOperations - List Calendar Eventsget · Fetch calendar events including visits, invoices, tasks, requests, and Google Calendar events.
OPTIONAL parameters:
- month: integer (1-12) — month to fetch events for
- year: integer (e.g. 2026) — year to fetch events for
- source: string — filter by source: 'google_calendar', 'job_visits', 'invoices', 'estimates', 'tasks', 'requests'
- eventTypes: JSON array string — event types: ['all', 'visits', 'invoices', 'estimates', 'tasks', 'requests', 'events']
- view: string — 'ownEvents' for personal events only
- clientId: string — MongoDB ID to filter events by client
- upcoming: string — 'true' to get upcoming events only
- email: string — filter events tied to a specific user email
- isFromClientEvents: boolean — scope the fetch to the client-events feed
- fetchOnlyEvents: boolean — return only Google Calendar events (skip visits/invoices/tasks/requests)FieldCampFieldCamp
PluginrequiredOperations - List Clientsget · Get clients with advanced filtering, pagination, and sorting.
REQUIRED:
- filters: Array of filter objects (can be empty [] to get all clients)
OPTIONAL:
- view, page, limit, sorting, stage
- limit: max records per page (server-clamped to 30)
VALID FILTER FIELDS (use ONLY these — any other field name returns HTTP 400):
- firstName, lastName, email, companyName, website, taxNumber
- stage: ACCOUNT-SPECIFIC — call get_data_model("client") for this
account's real stage values (accounts rename/replace the defaults;
sending a stale default fails or mislabels the client)
- clientType: "business" or "individual"
- propertyAddress (address filter — see CRITICAL note below)
- createdAt, updatedAt (use ISO date: "2026-01-15")
- notes
⚠️ CRITICAL: For address filtering, use the single field "propertyAddress"
(it matches across street/city/state/country/zipCode/formattedAddress):
- ✅ CORRECT: field="propertyAddress", value="Toronto"
- ❌ WRONG: "city"/"state"/"country" or "propertyAddress.city" → HTTP 400
("'<field>' is not a valid field")
NOTE: "tags" is NOT a filterable field on clients (returns HTTP 400).
STAGE PARAMETER (optional convenience filter - EXACT string match, no shortcuts):
The backend matches `stage` as an EXACT string, and stage values are
ACCOUNT-SPECIFIC (accounts rename/replace the defaults) — call
get_data_model("client") for this account's real values before filtering.
There is NO "pipeline"/"all"/"active"/"leads"/"clients" stage value; those will
match nothing. To list ALL clients (every stage), OMIT the stage parameter AND
pass filters=[] (empty array).
Filter structure (stage value below is a PLACEHOLDER — use this account's
real values from get_data_model("client")):
[
{"filterCondition": "", "field": "stage", "condition": "is", "value": "<stage value>"},
{"filterCondition": "and", "field": "propertyAddress", "condition": "contains", "value": "Toronto"}
]
Condition operators:
- Text: contains, doesNotContain, is, isNot, startsWith, endsWith, isEmpty, isNotEmpty
- Dates (createdAt/updatedAt): equalTo, lessThan, greaterThan, dateRange, isEmpty, isNotEmpty
(use EXACTLY these tokens — "equals"/"before"/"after" are NOT accepted:
before/after → HTTP 400; "equals" silently returns UNFILTERED results)
- Select: is, isNot
Example by stage: stage="<value from get_data_model>" parameter OR filters with field="stage"
Example for Toronto clients: [{"filterCondition": "", "field": "propertyAddress", "condition": "contains", "value": "Toronto"}]FieldCampFieldCamp
PluginrequiredOperations - List Custom Object Recordslist · List records of a CUSTOM object (e.g. slug="unit").
Call get_data_model(slug) first for this object's field names and valid
status values — statuses are account-specific.
PARAMETERS:
- slug: the custom object's slug (from list_object_definitions)
- page / limit: pagination (limit is clamped server-side)
- search: free-text search over the object's searchable fields
- status: filter by pipeline stage value (exact value from get_data_model)
- filters: array of {field, condition, value}. `field` is a canonical
field NAME from get_data_model(slug); condition is one of:
is, isNot, contains, isEmpty, isNotEmpty, greaterThan, lessThan,
equals, in (value must be an array for `in`).
Example: [{"field": "next_pm_date", "condition": "lessThan",
"value": "2026-09-01"}]
- linked_record_id: only records related to this parent record id
(e.g. all units of one client)
- sort_field / sort_order: createdAt|updatedAt|status|id sort at the DB;
any custom field name sorts in the application layer. asc|desc.FieldCampFieldCamp
PluginrequiredOperations - List Custom Object Typeslist · Discover this account's CUSTOM objects (tenant-defined record types such
as "unit" or "warranty" — objects beyond the built-in clients/jobs/etc.).
Returns for each object: slug (use it in every other *_record tool),
names, record/field counts, whether it is schedulable, and its
recordActions (valid action_key values for run_record_action).
Call this FIRST when the user mentions a record type you don't recognize.
Then call get_data_model("<slug>") for the object's fields and stages.FieldCampFieldCamp
PluginrequiredOperations - List Inventoryget · Get inventory data with filtering and pagination.
REQUIRED:
OPTIONAL PARAMETERS:
- page: Page number (default: 1)
- limit: max records per page (server-clamped to 30)
- type: Warehouse type filter. This is FREE-TEXT and CASE-SENSITIVE, and the
valid values are account-specific — NOT a fixed enum. Do NOT guess values
like "Main Warehouse" or "Technician Truck/Van"; call get_warehouses first
and pass a warehouse's actual `name`/`type` string exactly as returned.
- warehouse: MongoDB ObjectId of specific warehouse
- lowStock: "true" or "false" - filter for low stock items only
- category: MongoDB ObjectId of category
- id: MongoDB ObjectId to get specific inventory item
RETURNS: Inventory items with quantity, SKU, warehouse location,
item info (name, price, type), categories, and stock alerts.
Use for: checking stock levels, finding low stock items, filtering by warehouse.FieldCampFieldCamp
PluginrequiredOperations - List Invoices & Estimatesget · Get invoices or estimates with advanced filtering.
REQUIRED:
- documentType: 1 for Invoices, 2 for Estimates
- filters: Array of filter objects
OPTIONAL:
- view, page, limit, sorting
- limit: max records per page (server-clamped to 30; use -1 for summary mode)
VALID FILTER FIELDS (use ONLY these):
- documentNumber, title, privateNotes, comments
- client, clientName, clientEmail, clientCity, clientState
- total, subTotal, paidAmount (numeric)
- documentStatus: ONLY these values are accepted (backend 400s on anything
else): "draft", "sent", "approved", "viewed", "pending",
"approved_pending_signature". (Do NOT pass "declined", "expired" or
"awaiting response" as a documentStatus — they are rejected. For an
estimate's accept/decline outcome use actionStatus below instead.)
- actionStatus (ESTIMATES ONLY): the customer's decision on an estimate.
0 = pending / awaiting customer response, 1 = approved, 2 = declined.
⚠️ To answer "how many estimates are awaiting / approved / declined",
filter documentType=2 by actionStatus — NOT documentStatus. (An approved
or declined estimate usually still has documentStatus "draft"/"sent", so
filtering documentStatus="declined" wrongly returns nothing.)
e.g. {"filterCondition":"","field":"actionStatus","condition":"is","value":2}
- paymentStatus: ONLY these values are accepted (backend 400s on anything
else): "unpaid", "partial", "paid", "overdue". (Do NOT pass "draft",
"sent", "pending" or "canceled" as a paymentStatus — they are rejected.)
- date, dueDate, createdAt, updatedAt (use ISO date: "2026-01-15")
- createdBy, paymentTerms
Filter structure:
[
{"filterCondition": "", "field": "paymentStatus", "condition": "is", "value": "unpaid"},
{"filterCondition": "and", "field": "total", "condition": "greaterThan", "value": 1000}
]
⚠️ TOTALS / "HOW MUCH IS OWED" — DO NOT paginate and add up amounts yourself
(that is error-prone). Call this tool with limit=-1: it returns server-computed
`summary_statistics` { total_documents, total_amount, total_paid,
total_outstanding, payment_status_breakdown } plus a few sample_documents.
Note "unpaid" alone excludes "partial" and "overdue" — to get the TOTAL amount
owed, either filter by all three or (better) use get_analytics
metric="outstandingRevenue" / "topRevenueClients" with a date range.FieldCampFieldCamp
PluginrequiredOperations - List Jobsget · Get jobs with advanced filtering, pagination, and sorting.
REQUIRED:
- filters: Array of filter objects
OPTIONAL:
- view, page, limit, sorting
- limit: max records per page (server-clamped to 30)
VALID FILTER FIELDS (use ONLY these - flat field names, NO nested paths):
- jobStatus: FIXED backend allow-list (exact values, backend 400s on anything else):
"draft", "scheduled", "in-progress", "completed", "invoiced", "paid",
"cancelled", "on-hold", "closed"
- jobType: "one-off", "recurring", "multi-day"
- jobNumber, clientName, description (internalNotes)
- jobAddress: SINGLE address field that searches street/city/state/country/zip
together (use condition "contains"). There are NO flat city/state/country
filter fields for jobs.
- startDateTime, endDateTime, createdAt, updatedAt (use ISO date: "2026-01-15")
- total, subTotal, discount, tax (numeric)
- priority: "low", "medium", "high"
- assignedToTeams
⚠️ CRITICAL: For address filtering on jobs, use the single `jobAddress` field:
- ✅ CORRECT: {"field": "jobAddress", "condition": "contains", "value": "Toronto"}
- ❌ WRONG: "city", "state", "country" (these are NOT valid job filter fields)
- ❌ WRONG: "jobAddress.city" (no nested paths)
Filter structure:
[
{"filterCondition": "", "field": "jobStatus", "condition": "is", "value": "in-progress"},
{"filterCondition": "and", "field": "jobAddress", "condition": "contains", "value": "Toronto"}
]
Condition operators:
- Text: contains, doesNotContain, is, isNot, startsWith, endsWith, isEmpty, isNotEmpty
- Dates: equals, before, after, isEmpty, isNotEmpty
(dates apply to fields startDateTime, endDateTime, createdAt, updatedAt)
- Numeric: equals, notEquals, greaterThan, lessThan, greaterThanOrEqual, lessThanOrEqual
- Select: is, isNot
NOT SUPPORTED — filtering jobs by a single assignee:
The backend has NO assignee filter handler for jobs (assignments live in
assignedToTeams and there is no server-side filter for them). Do NOT rely on
the `assigned_to_id` parameter to narrow jobs to one person — it is not applied
server-side and will not return a useful/filtered result.
Example for jobs by client: [{"filterCondition": "", "field": "clientName", "condition": "contains", "value": "John"}]
Example for jobs in Toronto: [{"filterCondition": "", "field": "jobAddress", "condition": "contains", "value": "Toronto"}]FieldCampFieldCamp
PluginrequiredOperations - List Paymentsget · Get payment history for an invoice or estimate.
REQUIRED:
- documentId: MongoDB ID of the document
Returns: total, paidAmount, paymentStatus, and array of payment records
with amount, date, method, note, and transaction details.FieldCampFieldCamp
PluginrequiredOperations - List Product Categoriesget · List product/service categories configured in FieldCamp (reference data).
OPTIONAL:
- search: case-insensitive substring to match a category name.
Returns categories with id and name. The ids are the valid values for the
`categoryIds` field on create_product_service / update_product_service and
for the `category` filter on get_inventory.
NOTE: the backend returns at most 10 categories. With no `search` term you
get the first 10 alphabetically — pass `search` to locate a specific
category that may fall outside that first 10.FieldCampFieldCamp
PluginrequiredOperations - List Products/Servicesget · Get products and services with advanced filtering.
REQUIRED:
- filters: Array of filter objects
OPTIONAL:
- page, limit
- limit: max records per page (server-clamped to 30; use -1 for summary mode)
VALID FILTER FIELDS (use ONLY these):
- name, description
- type: "Product" or "Service"
- price (numeric)
- status: "available" or "unavailable" — use this to filter active vs
inactive products/services (field="status", value="available" for active).
- createdAt, updatedAt (use ISO date)
NOT filterable here (the backend cannot filter on these — passing them
returns 0 results, so do NOT use them as filter fields): isActive,
trackInventory, exemptFromTax. For active/inactive use field="status" above.
Filter structure:
[
{"filterCondition": "", "field": "type", "condition": "is", "value": "Product"},
{"filterCondition": "and", "field": "price", "condition": "greaterThan", "value": 100}
]
Returns summary statistics for large result sets to prevent token overflow.FieldCampFieldCamp
PluginrequiredOperations - List Purchase Ordersget · List purchase orders in FieldCamp.
OPTIONAL:
- page: page number (default 1).
- limit: max records per page (server-clamped to 30).
- status: filter by PO status. Valid values: "Draft", "Ordered",
"Received", "Canceled". If omitted, NO status filter is applied and purchase
orders of ALL statuses are returned (it does NOT default to "Ordered").
Each purchase order includes its vendor and line items.FieldCampFieldCamp
PluginrequiredOperations - List Requestsget · Get service requests with filtering, pagination, and sorting.
OPTIONAL:
- page: page number (default: 1)
- limit: max records per page (server-clamped to 30)
- tab: "requests" (active), "pipeline", "archived" (default: "requests")
- view: "all" or "assigned" (default: "all")
- filters: array of filter objects
- sorting: array of sorting objects
- client_id: filter by client MongoDB ObjectId
FILTERABLE FIELDS: requestNumber, clientName, clientEmail, description,
source, urgency, stage, estimatedValue, createdAt, assignedTo, notes,
startDate, endDate
STAGE filter: exact string match, and stage slugs are ACCOUNT-SPECIFIC
(request pipeline is org-configurable) — call get_data_model("request")
for this account's real slugs before filtering. Built-in default slugs:
new_request, unscheduled, overdue, inspection_scheduled,
inspection_complete, quote_created, quote_sent, converted,
lost_no_response, lost_reject_quote, cancelled, duplicate
Returns requests with client info, stage counts, and pagination.FieldCampFieldCamp
PluginrequiredOperations - List Tasksget · Get all tasks with sorting options.
REQUIRED:
OPTIONAL PARAMETERS:
- sort: string enum — the ONLY values the backend supports are "due_date",
"creation_date", "assignee" (default: "due_date"). Any other value (e.g.
"priority", "created_at", "status") is not supported.
- order: "ascending" or "descending" (default: "descending")
RETURNS: Tasks grouped by status:
- overdue: Past due tasks
- today: Due today
- thisWeek: Due this week
- upcoming: Future tasks
- completed: Finished tasks
Each task includes: name, priority, due date, assigned team member,
client/job linkage, category, and completion status.FieldCampFieldCamp
PluginrequiredOperations - List Tasks for Clientget · Get tasks linked to a specific client, paginated.
REQUIRED:
- client_id: MongoDB ObjectId of the client
OPTIONAL:
- page: Page number (default: 1)
- limit: max records per page (server-clamped to 30)
- view: Set to "Assigned" to only see tasks assigned to current user
Returns paginated task list sorted by schedule date, with total count.FieldCampFieldCamp
PluginrequiredOperations - List Tasks for Jobget · Get tasks linked to a specific job, paginated.
REQUIRED:
- job_id: MongoDB ObjectId of the job
OPTIONAL:
- page: Page number (default: 1)
- limit: max records per page (server-clamped to 30)
Returns only tasks where linkType is 'job' matching the given job ID.
Sorted by schedule date with total count.FieldCampFieldCamp
PluginrequiredOperations - List Tax Ratesget · Get tax rates configured in FieldCamp.
OPTIONAL:
- page: page number (default: 1)
- limit: max records per page (server-clamped to 30)
- name: search by tax name (case-insensitive)
Returns tax rates with name, rate percentage, tax type (exclusive/inclusive),
state/country info, and application rules.
Use for: Looking up available tax rates before creating invoices or estimates.FieldCampFieldCamp
PluginrequiredOperations - List Team Membersget · Get all team members (no pagination - returns full roster).
OPTIONAL:
- view: "assignedTeam", "assignedSelf", or omit for all members
Returns all active team members with name, email, role, skills,
service areas, and schedule information.
Use for: "Who's on the team?", "List all technicians",
"Which team members have HVAC skills?"FieldCampFieldCamp
PluginrequiredOperations - List Teamsget · Get team members with advanced filtering and pagination.
OPTIONAL:
- filters: array of filter objects (same format as client filters)
- page: page number (default: 1)
- limit: max records per page (server-clamped to 30)
- view: "all" or "own" (default: "all")
- sorting: array of sorting objects [{field, order}]
- assignable_only: "true" to only show members assignable to jobs
FILTERABLE FIELDS: name, email, status, phoneNumber, address, createdAt, roleId, skillsId
Filter structure:
[
{"filterCondition": "", "field": "name", "condition": "contains", "value": "John"},
{"filterCondition": "and", "field": "status", "condition": "is", "value": "Active"}
]FieldCampFieldCamp
PluginrequiredOperations - List Units of Measurementget · List the units of measurement configured in FieldCamp (reference data).
No params. Returns the full org-wide list; each entry has an id, name, and
abbreviation.
Use this to find a valid `unitOfMeasurementId` BEFORE calling
create_product_service or update_product_service. Pricing a product without
a unit leaves it unitless, which lets a flat per-job price be multiplied by
an area/quantity in estimates (e.g. 2000 sqft × $9500 = $19M). This is the
only tool that enumerates valid unit ids.FieldCampFieldCamp
PluginrequiredOperations - List Vendorsget · List vendors / suppliers configured in FieldCamp (reference data).
OPTIONAL:
- page: page number (default 1)
- limit: max records (default -1 = all; any other value server-clamped to 30)
- search: match vendor name or email (case-insensitive)
Returns each vendor with id, name, email, phone, address, and status. The id
is the valid value for the `preferredVendorId` field on
create_product_service / update_product_service.
Use this to find a valid `preferredVendorId` BEFORE creating or updating a
product with a preferred vendor — this is the only tool that enumerates
vendor ids.FieldCampFieldCamp
PluginrequiredOperations - List Visits for Jobget · Get all visits/appointments for a specific job.
REQUIRED:
- job_id: MongoDB ObjectId of the job
Returns all active visits for the job with team member details, schedule,
status, notes, and GPS tracking data. Sorted by start time.FieldCampFieldCamp
PluginrequiredOperations
What is Tool Explorer?
Tool Explorer indexes the callable tool names and descriptions attached to public registry profiles. It is useful for seeing what agents can actually invoke, not just which profile exists.
How do category and verb filters work?
Category filters use the live registry category rollup. Verb filters use the public tool insights rollup, so the page stays backed by the same read models as the tracker charts.
Why do auth requirements matter?
Auth requirements show whether a tool is likely usable without account connection, requires authentication, is private, or is unknown in the current snapshot.