MCP 서버

FieldRobin

com.fieldrobin/fieldrobin
비즈니스 및 운영 영업 및 CRM 공개 · 연결 가능 MCP 2026-07-28

이 MCP로 할 수 있는 일

Provides authenticated field-service workspace access for customers, leads, jobs, quotes, invoices, service requests, operations reports, campaigns, and reviews.

complaint-recall-risk
Complaint Recall Risk Tool
Lists complaint and recall risk records for the authenticated workspace without exposing private operational notes.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum records to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Job title, customer name, or technician name.'}, 'status': {'enum': ['open', 'resolved', 'all'], 'type': ['string', 'null'], 'description': 'Risk state; defaults to open.'}}}
create-customer
Create Customer Tool
Creates one customer directly in the selected FieldRobin business when the connection has customer-write permission. Search first to avoid creating a duplicate; reuse the idempotency key only when retrying the same request.
멱등성
입력 스키마
{'type': 'object', 'required': ['name', 'idempotency_key'], 'properties': {'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Customer full name.'}, 'email': {'type': ['string', 'null'], 'format': 'email', 'maxLength': 255, 'description': 'Customer email address, if known.'}, 'notes': {'type': ['string', 'null'], 'description': 'Internal customer notes.'}, 'phone': {'type': ['string', 'null'], 'maxLength': 30, 'description': 'Customer phone number, if known.'}, 'address': {'type': ['string', 'null'], 'maxLength': 500, 'description': 'Customer address, if known.'}, 'trade_type': {'type': ['string', 'null'], 'maxLength': 100, 'description': 'Customer trade or service type.'}, 'location_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Business location for the customer.'}, 'business_name': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Customer business name, if known.'}, 'lifecycle_tag': {'enum': ['active', 'inactive', 'vip'], 'type': ['string', 'null'], 'description': 'Lifecycle tag.'}, 'idempotency_key': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Opaque retry key. Reuse it only for the same request to receive the verified result without creating a duplicate.'}, 'acquisition_source': {'type': ['string', 'null'], 'maxLength': 100, 'description': 'How the customer was acquired.'}}}
create-job
Create Job Tool
Creates one job directly in the selected FieldRobin business when the connection has job-write permission. Resolve the customer first and pass the verified customer ID when one is named.
멱등성
입력 스키마
{'type': 'object', 'required': ['title', 'idempotency_key'], 'properties': {'title': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Short job title.'}, 'status': {'enum': ['lead', 'pending', 'quoted', 'approved', 'scheduled'], 'type': ['string', 'null'], 'description': 'Initial job status.'}, 'customer_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Verified customer ID, if the job belongs to an existing customer.'}, 'description': {'type': ['string', 'null'], 'description': 'Readable issue and service description.'}, 'location_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Business location for the job.'}, 'voice_notes': {'type': ['string', 'null'], 'description': 'Optional internal voice-note text.'}, 'scheduled_at': {'type': ['string', 'null'], 'description': 'Optional local wall-clock appointment date/time or ISO timestamp with offset.'}, 'total_amount': {'type': ['number', 'null'], 'minimum': 0, 'description': 'Optional quoted amount.'}, 'idempotency_key': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Opaque retry key. Reuse it only for the same request to receive the verified result without creating a duplicate.'}, 'service_address': {'type': ['string', 'null'], 'maxLength': 2000, 'description': 'Service address, if known.'}, 'appointment_count': {'type': ['integer', 'null'], 'maximum': 99, 'minimum': 1, 'description': 'Optional appointment count.'}, 'technician_user_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Verified technician user ID, if assigned.'}}}
customer-service-requests
Customer Service Requests Tool
Lists recent active service requests associated with one authorized customer using bounded status, source, urgency, and scheduling fields.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of service requests to return.'}, 'customer_id': {'type': 'integer', 'minimum': 1, 'description': 'Customer ID returned by search-customers.'}}}
draft-review-reply
Draft Review Reply Tool
Drafts a policy-aware reply for one authorized review without posting or changing the review.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'tone': {'enum': ['professional', 'warm', 'concise'], 'type': ['string', 'null'], 'description': 'Draft tone.'}, 'review_id': {'type': 'integer', 'minimum': 1, 'description': 'Review ID returned by search-reviews.'}}}
get-customer
Get Customer Tool
Returns one authorized customer using bounded contact and lifecycle fields; addresses and notes are excluded.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'customer_id': {'type': 'integer', 'minimum': 1, 'description': 'Customer ID returned by search-customers.'}}}
get-invoice
Get Invoice Tool
Returns one authorized invoice with bounded customer, job, payment-state, due-date, and line-item fields; payment links, addresses, and internal notes are excluded.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'invoice_id': {'type': 'integer', 'minimum': 1, 'description': 'Invoice ID returned by search-invoices.'}}}
get-invoice-payment-status
Get Invoice Payment Status Tool
Returns the authoritative payment state for one authorized invoice without exposing payment links or provider identifiers.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'invoice_id': {'type': 'integer', 'minimum': 1, 'description': 'Invoice ID returned by search-invoices.'}}}
get-job
Get Job Tool
Returns one authorized job using bounded customer, schedule, status, and technician fields; service addresses, notes, and amounts are excluded.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'job_id': {'type': 'integer', 'minimum': 1, 'description': 'Job ID returned by search-jobs or jobs-today.'}}}
get-lead
Get Lead Tool
Returns one authorized lead using bounded contact, source, status, and service-interest fields; notes, budget, and internal summaries are excluded.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'lead_id': {'type': 'integer', 'minimum': 1, 'description': 'Lead ID returned by search-leads.'}}}
get-location
Get Location Tool
Returns one location and its public Google listing status. A confirmed place is not a Google Business Profile connection.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'location_id': {'type': 'integer', 'minimum': 1, 'description': 'Location ID.'}}}
get-quote
Get Quote Tool
Returns one authorized estimate with bounded customer, status, pricing, revision, and line-item fields; addresses, notes, and terms are excluded.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'quote_id': {'type': 'integer', 'minimum': 1, 'description': 'Estimate ID returned by search-quotes.'}}}
get-referral-campaign-attribution
Get Referral Campaign Attribution Tool
Shows verified referral campaign totals and conversion activity without returning referral tokens or bearer-like links.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'days': {'type': ['integer', 'null'], 'default': 30, 'maximum': 180, 'minimum': 1, 'description': 'Lookback window in days.'}, 'campaign_id': {'type': 'integer', 'minimum': 1, 'description': 'Referral campaign ID returned by search-referral-campaigns.'}}}
get-service-request
Service Request Get Tool
Returns one authorized service-request inbox record using bounded status, source, urgency, and scheduling fields without exposing request descriptions, addresses, contact channels, metadata, files, or outreach controls.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'service_request_id': {'type': 'integer', 'minimum': 1, 'description': 'Service-request ID returned by search-service-requests.'}}}
get-workspace-summary
Get Workspace Summary Tool
Returns a limited, read-only summary of the authenticated FieldRobin workspace.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}}
jobs-today
Jobs Today Tool
Lists authorized jobs scheduled for a business day, with bounded customer, schedule, status, and technician fields.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'date': {'type': ['string', 'null'], 'format': 'date', 'description': 'Local business date, YYYY-MM-DD; defaults to today.'}, 'limit': {'type': ['integer', 'null'], 'default': 25, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of jobs to return.'}, 'status': {'type': ['string', 'null'], 'maxLength': 40, 'description': 'Optional job status filter.'}, 'technician_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional technician ID.'}}}
list-job-photos
List Job Photos Tool
Lists authorized private photos attached to one job with protected download URLs, filenames, captions, and media types.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'job_id': {'type': 'integer', 'minimum': 1, 'description': 'Job ID returned by search-jobs.'}}}
operations-parts
Operations Parts Tool
Reads bounded parts stock, technician exposure, and transaction metadata for the authenticated workspace without exposing amounts, item pricing, or private notes.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum inventory, transactions, and technician balances to return.'}, 'technician_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional same-business technician ID.'}}}
operations-scorecards
Operations Scorecards Tool
Reads bounded technician performance and coaching signals for the authenticated workspace without exposing coaching notes or private contact fields.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum jobs sampled per technician.'}, 'technician_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional same-business technician ID.'}}}
pipeline-next-actions
Pipeline Next Actions Tool
Lists persisted pipeline attention items for the authenticated business without changing, dismissing, or executing them.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Maximum number of actions to return.'}, 'priority': {'enum': ['urgent', 'high', 'normal', 'low'], 'type': ['string', 'null'], 'description': 'Optional priority filter.'}, 'due_before': {'type': ['string', 'null'], 'format': 'date', 'description': 'Only actions due on or before this local date.'}, 'action_type': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Optional exact action type.'}, 'action_state': {'enum': ['open', 'in_progress', 'snoozed', 'blocked', 'dismissed', 'done'], 'type': ['string', 'null'], 'description': 'Pipeline state; defaults to open.'}}}
pipeline-recommendations
Pipeline Recommendations Tool
Lists persisted pipeline recommendations for the authenticated business without generating, editing, approving, rejecting, or executing them.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum recommendations to return.'}, 'status': {'enum': ['pending', 'approved', 'rejected', 'expired'], 'type': ['string', 'null'], 'description': 'Recommendation state; defaults to pending.'}, 'action_type': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Optional exact pipeline recommendation action type.'}, 'recommendation_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional exact recommendation ID.'}, 'include_draft_history': {'type': ['boolean', 'null'], 'default': False, 'description': 'When true, recommendation_id is required and bounded draft edit history is returned.'}}}
preview-broadcast-campaign
Preview Broadcast Campaign Tool
Previews one approved broadcast audience, including suppression and policy skips, without sending or changing records.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 25, 'maximum': 50, 'minimum': 1, 'description': 'Maximum audience items to evaluate.'}, 'campaign_id': {'type': 'integer', 'minimum': 1, 'description': 'Broadcast campaign ID returned by search-broadcast-campaigns.'}}}
preview-invoice
Preview Invoice Tool
Calculates a deterministic invoice preview without saving, charging, sending, or creating an invoice.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'quantity': {'type': 'number', 'minimum': 0}, 'item_type': {'enum': ['material', 'labour', 'service', 'equipment', 'fee'], 'type': ['string', 'null']}, 'unit_price': {'type': 'number', 'minimum': 0}, 'description': {'type': 'string', 'maxLength': 500}, 'tax_behavior': {'enum': ['inherit', 'taxable', 'non_taxable', 'automatic'], 'type': ['string', 'null']}, 'discount_type': {'enum': ['none', 'percentage', 'fixed'], 'type': ['string', 'null']}, 'discount_value': {'type': ['number', 'null'], 'minimum': 0}}}, 'maxItems': 50, 'minItems': 1, 'description': 'Invoice line items.'}, 'tax_mode': {'enum': ['none', 'manual'], 'type': ['string', 'null']}, 'coupon_code': {'type': ['string', 'null'], 'maxLength': 100}, 'customer_id': {'type': 'integer', 'minimum': 1, 'description': 'Resolved customer ID; required for an invoice preview.'}, 'tax_rate_id': {'type': ['integer', 'null'], 'minimum': 1}, 'document_discount_type': {'enum': ['none', 'percentage', 'fixed'], 'type': ['string', 'null']}, 'document_discount_value': {'type': ['number', 'null'], 'minimum': 0}}}
preview-quote
Preview Quote Tool
Calculates a deterministic estimate preview without saving, sending, or creating a quote.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'quantity': {'type': 'number', 'minimum': 0}, 'item_type': {'enum': ['material', 'labour', 'service', 'equipment', 'fee'], 'type': ['string', 'null']}, 'unit_price': {'type': 'number', 'minimum': 0}, 'description': {'type': 'string', 'maxLength': 500}, 'tax_behavior': {'enum': ['inherit', 'taxable', 'non_taxable', 'automatic'], 'type': ['string', 'null']}, 'discount_type': {'enum': ['none', 'percentage', 'fixed'], 'type': ['string', 'null']}, 'discount_value': {'type': ['number', 'null'], 'minimum': 0}}}, 'maxItems': 50, 'minItems': 1, 'description': 'Estimate line item.'}, 'tax_mode': {'enum': ['none', 'manual'], 'type': ['string', 'null']}, 'coupon_code': {'type': ['string', 'null'], 'maxLength': 100}, 'customer_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional resolved customer ID.'}, 'tax_rate_id': {'type': ['integer', 'null'], 'minimum': 1}, 'document_discount_type': {'enum': ['none', 'percentage', 'fixed'], 'type': ['string', 'null']}, 'document_discount_value': {'type': ['number', 'null'], 'minimum': 0}}}
preview-reactivation-campaign
Preview Reactivation Campaign Tool
Previews dormant customers eligible for one authorized reactivation campaign without sending or changing records.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 25, 'maximum': 50, 'minimum': 1, 'description': 'Maximum audience items to evaluate.'}, 'campaign_id': {'type': 'integer', 'minimum': 1, 'description': 'Reactivation campaign ID returned by search-reactivation-campaigns.'}}}
preview-referral-campaign
Preview Referral Campaign Tool
Previews eligible completed jobs for one authorized referral campaign without sending or changing records.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 25, 'maximum': 50, 'minimum': 1, 'description': 'Maximum audience items to evaluate.'}, 'campaign_id': {'type': 'integer', 'minimum': 1, 'description': 'Referral campaign ID returned by search-referral-campaigns.'}}}
preview-review-requests
Preview Review Requests Tool
Previews explicit completed jobs for review requests, including eligibility and skip reasons, without sending anything.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'channel': {'enum': ['sms', 'email'], 'type': ['string', 'null'], 'description': 'Optional review-request channel preference.'}, 'job_ids': {'type': 'array', 'items': {'type': 'integer', 'minimum': 1}, 'maxItems': 50, 'minItems': 1, 'description': 'Explicit job IDs to evaluate.'}}}
preview-social-draft
Preview Social Draft Tool
Validates social post copy for an authorized source review without saving or publishing it.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'content': {'type': 'string', 'maxLength': 1200, 'minLength': 3, 'description': 'Proposed social post content.'}, 'platform': {'enum': ['facebook', 'instagram', 'google_business'], 'type': ['string', 'null'], 'description': 'Social platform.'}, 'review_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional authorized source review ID.'}}}
reports-by-location
Reports By Location Tool
Compares revenue, activation, retention, and review-request outcomes by physical location. Does not expose customer names, invoice rows, or mutation access. Location writes stay on the in-product assistant, not MCP.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'period': {'enum': [7, 30, 90, 365], 'type': ['integer', 'null'], 'default': 30, 'description': 'Number of days for location comparison metrics; defaults to 30.'}}}
reports-customer-revenue-rank
Customer Revenue Rank Tool
Ranks named customers by paid invoice revenue for the authenticated workspace. Uses all paid, non-sample invoices and returns aggregate customer totals without invoice rows.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'to': {'type': ['string', 'null'], 'description': 'Inclusive end date when period is custom.'}, 'from': {'type': ['string', 'null'], 'description': 'Inclusive start date when period is custom.'}, 'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of ranked customers to return.'}, 'period': {'enum': ['all_time', '7', '30', '90', '365', 'custom'], 'type': ['string', 'null'], 'default': 'all_time', 'description': 'Ranking window. Use all_time for to-date questions.'}}}
reports-overview
Reports Overview Tool
Reads aggregate revenue, receivables, job, lead, and estimate performance for the authenticated workspace without exposing customer names, addresses, invoice rows, or mutation access.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'period': {'enum': [7, 30, 90, 365], 'type': ['integer', 'null'], 'default': 30, 'description': 'Number of days for the bounded trend metrics; defaults to 30.'}}}
routing-driving-risk
Routing Driving Risk Tool
Reads a local business day route and high driving-risk stops for the authenticated workspace without exposing addresses or private route notes.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'date': {'type': ['string', 'null'], 'format': 'date', 'description': 'Local business date, YYYY-MM-DD; defaults to today.'}, 'limit': {'type': ['integer', 'null'], 'default': 50, 'maximum': 50, 'minimum': 1, 'description': 'Maximum route stops to return.'}, 'technician_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional technician filter.'}}}
schedule-availability
Schedule Availability Tool
Calculates verified busy jobs and open planning windows for a local business day without scheduling or changing a job.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'date': {'type': ['string', 'null'], 'format': 'date', 'description': 'Local business date, YYYY-MM-DD; defaults to today.'}, 'workday_end': {'type': ['integer', 'null'], 'default': 20, 'maximum': 24, 'minimum': 1, 'description': 'Planning window end hour.'}, 'technician_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional same-business technician ID.'}, 'workday_start': {'type': ['integer', 'null'], 'default': 10, 'maximum': 23, 'minimum': 0, 'description': 'Planning window start hour.'}, 'duration_minutes': {'type': ['integer', 'null'], 'default': 60, 'maximum': 480, 'minimum': 15, 'description': 'Requested appointment length.'}, 'job_duration_minutes': {'type': ['integer', 'null'], 'default': 60, 'maximum': 480, 'minimum': 15, 'description': 'Planning duration for existing jobs.'}}}
search-broadcast-campaigns
Search Broadcast Campaigns Tool
Searches authorized broadcast campaigns by name, status, message channel, and bounded delivery fields.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of campaigns to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Campaign name, message, or channel.'}, 'status': {'enum': ['draft', 'pending_approval', 'approved', 'rejected', 'sent', 'archived'], 'type': ['string', 'null'], 'description': 'Campaign status.'}}}
search-customers
Search Customers Tool
Searches the authenticated workspace customers without exposing addresses, notes, or other private fields.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of customers to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Name, email, phone, or business name to search for.'}}}
search-inventory
Search Inventory Tool
Searches active inventory in the authenticated workspace and can identify low-stock items without exposing internal cost or margin fields.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum items to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Inventory name, SKU, or description.'}, 'active': {'type': ['boolean', 'null'], 'description': 'Filter by active state; defaults to true.'}, 'low_stock': {'type': ['boolean', 'null'], 'description': 'Only items at or below minimum quantity.'}}}
search-invoices
Search Invoices Tool
Searches authorized invoices using bounded customer, job, status, payment, due-date, and total fields; payment links and addresses are excluded.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Maximum number of invoices to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Invoice number, customer name, email, phone, job title, or description.'}, 'job_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Restrict results to one job ID.'}, 'status': {'enum': ['draft', 'sent', 'overdue', 'paid', 'cancelled'], 'type': ['string', 'null'], 'description': 'Invoice lifecycle status.'}, 'customer_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Restrict results to one customer ID.'}, 'payment_status': {'type': ['string', 'null'], 'maxLength': 40, 'description': 'Authoritative payment state, such as unpaid, pending, paid, or refunded.'}}}
search-jobs
Search Jobs Tool
Searches the authenticated workspace jobs using safe summary fields only; it does not return service addresses, notes, or amounts.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of jobs to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Customer name, email, phone, or job title.'}, 'status': {'type': ['string', 'null'], 'maxLength': 40, 'description': 'Optional job status filter.'}, 'customer_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Restrict results to one customer ID.'}, 'location_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Restrict results to one business location ID.'}, 'scheduled_to': {'type': ['string', 'null'], 'format': 'date', 'description': 'Inclusive scheduled date, YYYY-MM-DD.'}, 'scheduled_from': {'type': ['string', 'null'], 'format': 'date', 'description': 'Inclusive scheduled date, YYYY-MM-DD.'}}}
search-leads
Search Leads Tool
Searches authorized workspace leads with bounded contact, source, status, and service-interest fields; notes and estimated values are excluded.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Maximum number of leads to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Name, email, phone, source, or service interest.'}, 'source': {'type': ['string', 'null'], 'maxLength': 100, 'description': 'Optional exact lead source.'}, 'status': {'type': ['string', 'null'], 'maxLength': 40, 'description': 'Optional lead status.'}, 'urgency': {'type': ['string', 'null'], 'maxLength': 20, 'description': 'Optional urgency: low, medium, or high.'}, 'customer_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Restrict results to a customer ID.'}}}
search-locations
Search Locations Tool
Lists physical locations in the authenticated workspace.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1}, 'query': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Location name to search for.'}, 'status': {'type': ['string', 'null'], 'description': 'active, archived, or all.'}}}
search-pricebook
Search Pricebook Tool
Searches active customer-facing services and materials in the authenticated workspace without exposing internal cost or markup fields.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'type': {'enum': ['service', 'material'], 'type': ['string', 'null'], 'description': 'Service or material.'}, 'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum items to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Pricebook item name or description.'}, 'active': {'type': ['boolean', 'null'], 'description': 'Filter by active state; defaults to true.'}}}
search-quotes
Search Quotes Tool
Searches authorized estimates using bounded customer, status, title, and total fields; notes, terms, and addresses are excluded.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Maximum number of estimates to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Estimate title, customer name, email, or phone.'}, 'status': {'enum': ['draft', 'sent', 'changes_requested', 'approved', 'rejected', 'expired', 'converted'], 'type': ['string', 'null'], 'description': 'Optional estimate status.'}, 'customer_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Restrict results to one customer ID.'}}}
search-reactivation-campaigns
Search Reactivation Campaigns Tool
Searches authorized reactivation campaigns by name, status, channel, and job-type filter.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of campaigns to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Campaign name, message, channel, or job type.'}, 'status': {'enum': ['active', 'paused', 'archived'], 'type': ['string', 'null'], 'description': 'Campaign status.'}}}
search-referral-campaigns
Search Referral Campaigns Tool
Searches authorized referral campaigns by name, status, message channel, and bounded performance fields.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of campaigns to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Campaign name, message, or channel.'}, 'status': {'enum': ['active', 'paused', 'archived'], 'type': ['string', 'null'], 'description': 'Campaign status.'}}}
search-reviews
Search Reviews Tool
Searches authorized reviews by reviewer, customer, job, rating, platform, or reply status using bounded fields.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of reviews to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Reviewer, customer, job title, review body, or platform.'}, 'platform': {'enum': ['google', 'facebook', 'yelp', 'industry', 'bbb', 'angi', 'thumbtack', 'custom'], 'type': ['string', 'null'], 'description': 'Review platform.'}, 'has_reply': {'type': ['boolean', 'null'], 'description': 'Filter by whether an owner reply exists.'}, 'rating_max': {'type': ['integer', 'null'], 'maximum': 5, 'minimum': 1, 'description': 'Maximum rating.'}, 'rating_min': {'type': ['integer', 'null'], 'maximum': 5, 'minimum': 1, 'description': 'Minimum rating.'}, 'reply_status': {'enum': ['none', 'pending', 'sent', 'failed'], 'type': ['string', 'null'], 'description': 'Reply delivery state.'}}}
search-service-requests
Service Request Search Tool
Finds bounded active service-request inbox records for the authenticated business without exposing request descriptions, addresses, contact channels, or outreach controls.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'q': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Client name, service type, or request text.'}, 'view': {'enum': ['inbox', 'pending', 'converted', 'outreach', 'all'], 'type': ['string', 'null'], 'description': 'Inbox view; defaults to active inbox records.'}, 'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of requests to return.'}, 'status': {'enum': ['sent', 'opened', 'submitted', 'reviewing', 'scheduled', 'quoted', 'converted'], 'type': ['string', 'null'], 'description': 'Optional exact active request status.'}, 'urgency': {'enum': ['low', 'medium', 'high'], 'type': ['string', 'null'], 'description': 'Optional urgency filter.'}}}
search-social-drafts
Search Social Drafts Tool
Searches authorized social drafts and returns bounded content, status, platform, source-review, and approval metadata.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of drafts to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 120, 'description': 'Draft content, platform, status, or ID.'}, 'status': {'enum': ['pending_approval', 'approved', 'rejected', 'published'], 'type': ['string', 'null'], 'description': 'Draft approval state.'}, 'platform': {'enum': ['facebook', 'instagram', 'google_business'], 'type': ['string', 'null'], 'description': 'Social platform.'}, 'review_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional source review ID.'}}}
추가됨
reports-customer-revenue-rank
2026년 9월 17일 12:34 PM
추가됨
reports-by-location
2026년 9월 17일 12:34 PM
추가됨
reports-overview
2026년 9월 17일 12:34 PM
추가됨
operations-scorecards
2026년 9월 17일 12:34 PM
추가됨
operations-parts
2026년 9월 17일 12:34 PM
추가됨
routing-driving-risk
2026년 9월 17일 12:34 PM
추가됨
complaint-recall-risk
2026년 9월 17일 12:34 PM
추가됨
search-pricebook
2026년 9월 17일 12:34 PM
추가됨
search-inventory
2026년 9월 17일 12:34 PM
추가됨
list-job-photos
2026년 9월 17일 12:34 PM
추가됨
preview-social-draft
2026년 9월 17일 12:34 PM
추가됨
search-social-drafts
2026년 9월 17일 12:34 PM
추가됨
preview-broadcast-campaign
2026년 9월 17일 12:34 PM
추가됨
search-broadcast-campaigns
2026년 9월 17일 12:34 PM
추가됨
preview-reactivation-campaign
2026년 9월 17일 12:34 PM
추가됨
search-reactivation-campaigns
2026년 9월 17일 12:34 PM
추가됨
preview-referral-campaign
2026년 9월 17일 12:34 PM
추가됨
get-referral-campaign-attribution
2026년 9월 17일 12:34 PM
추가됨
search-referral-campaigns
2026년 9월 17일 12:34 PM
추가됨
draft-review-reply
2026년 9월 17일 12:34 PM
추가됨
search-reviews
2026년 9월 17일 12:34 PM
추가됨
preview-review-requests
2026년 9월 17일 12:34 PM
추가됨
get-invoice-payment-status
2026년 9월 17일 12:34 PM
추가됨
get-service-request
2026년 9월 17일 12:34 PM
추가됨
search-service-requests
2026년 9월 17일 12:34 PM
추가됨
customer-service-requests
2026년 9월 17일 12:34 PM
추가됨
pipeline-recommendations
2026년 9월 17일 12:34 PM
추가됨
pipeline-next-actions
2026년 9월 17일 12:34 PM
추가됨
schedule-availability
2026년 9월 17일 12:34 PM
추가됨
preview-invoice
2026년 9월 17일 12:34 PM