← Files WorksOrder AIARCHIVED FILE
plugin.json
5.77 KB · Nov 4, 2026 · 00:13 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "worksorder",
"version": "1.0.0",
"description": "Find WorksOrder customers, jobs and schedules; create work orders, change job status and add timeline notes. Sign in and choose your company.",
"author": {
"name": "Agent Integration Ltd",
"email": "support@agentintegration.co.uk",
"url": "https://app.worksorder.ai"
},
"homepage": "https://app.worksorder.ai/support",
"keywords": [
"work orders",
"field service",
"customers",
"scheduling"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "WorksOrder AI",
"shortDescription": "Manage jobs and schedules",
"longDescription": "Connect your WorksOrder company to find customers and properties, review jobs and timelines, and check engineers and scheduled visits. Create jobs, change status and add notes after confirming the intended change. Requires an active WorksOrder owner or administrator account. Sign in securely and choose one company. This connection does not send emails, book appointments, issue invoices or take payments.",
"developerName": "Agent Integration Ltd",
"category": "Productivity",
"websiteURL": "https://app.worksorder.ai",
"supportURL": "https://app.worksorder.ai/support",
"privacyPolicyURL": "https://app.worksorder.ai/privacy",
"termsOfServiceURL": "https://app.worksorder.ai/terms",
"defaultPrompt": [
"Find my work orders awaiting booking.",
"Show scheduled visits for next week.",
"Help me create a new work order."
],
"brandColor": "#0f172a",
"brandColorDark": "#94a3b8",
"composerIcon": "./assets/icon.png",
"composerIconDark": "./assets/icon.png",
"logo": "./assets/icon.png",
"logoDark": "./assets/icon.png",
"capabilities": [
"Find customers and jobs",
"Review schedules",
"Create and update work orders"
]
},
"publication": {
"release_notes": "Initial directory release with company-scoped OAuth sign-in, customer and job lookups, schedule lookups, job creation, status changes and timeline notes."
},
"review": {
"test_cases": {
"positive": [
{
"description": "Find the demo customer and property",
"prompt": "Find the customer whose name contains MCP Test Customer, then show their details and properties.",
"tools_triggered": "list_customers, get_customer",
"expected_behavior": "Return DEMO \u2014 MCP Test Customer and 20 MCP Demo Lane, Demo Town, ZZ1 1ZZ using returned IDs. Do not invent contacts or read another company."
},
{
"description": "Read a demo job and its timeline",
"prompt": "Find jobs with ChatGPT OAuth in the title and show the matching demo job details and timeline.",
"tools_triggered": "list_jobs, get_job",
"expected_behavior": "Return the fictional ChatGPT OAuth connection test job and report its actual current status and timeline. No changes."
},
{
"description": "Review engineers and scheduled visits",
"prompt": "List active engineers and scheduled visits from 2026-10-01 to 2026-11-30 in the demo company.",
"tools_triggered": "list_engineers, list_visits",
"expected_behavior": "Call both tools. The demo company currently has no engineers or visits; report empty results honestly. Do not invent appointments."
},
{
"description": "Create a confirmed fictional work order",
"prompt": "Find MCP Test Customer and their property. Create a routine EICR job titled DEMO \u2014 Directory review test at 20 MCP Demo Lane with a unique external_ref for this run. Ask me to confirm the customer and property first.",
"tools_triggered": "list_customers, get_customer, create_job, get_job",
"expected_behavior": "Resolve customer/property IDs and ask for confirmation. On confirmation create one routine eicr job, return its actual reference and read it back. Reuse external_ref if retrying. No visit, email or invoice is created."
},
{
"description": "Update the confirmed demo job and add a note",
"prompt": "For the job from test 4, add the note Directory review: fictional job only and change status to triaged, reason Directory review test. Read it first and ask me to confirm before writing.",
"tools_triggered": "get_job, add_job_note, change_job_status",
"expected_behavior": "Read and confirm the intended job, append the exact note once and change status to triaged. Read back to verify; inspect timeline instead of blindly retrying after uncertain results."
}
],
"negative": [
{
"description": "Unsupported email sending",
"prompt": "Send an email to my customer confirming their appointment."
},
{
"description": "Unsupported invoice issuance and payments",
"prompt": "Issue an invoice and charge the customer\u2019s payment card now."
},
{
"description": "General advice needs no private data",
"prompt": "Explain what a work order is without looking at any of my records."
}
]
},
"commerce": false,
"commerce_description": "The connector does not process payments or issue invoices. It reads job records and creates or updates work orders.",
"demo_recording_url": "https://youtu.be/Kl6A93eTOys"
},
"apps": "./.app.json"
}
}
}
SHA-256: add83830dca1228b4e56c01dab8a2f622ff34217c517e877235f266fe75a8b2a