← Files Deltek CostpointARCHIVED FILE

plugin.json

7.4 KB · Nov 3, 2026 · 19:08 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "deltek-costpoint",
  "version": "1.0.0",
  "description": "Answer questions and execute authorized commands in Deltek Costpoint ERP through Dela.",
  "author": {
    "name": "Deltek, Inc."
  },
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Deltek Costpoint",
        "shortDescription": "Project health and financials",
        "longDescription": "Connect Costpoint, the ERP built for government contractors, to your AI assistant and work with your data in plain English. Ask about projects, contracts, opportunities, invoices, budgets and EACs, purchasing, and month-end close. Then take action: create timesheets, expense reports, contracts, and AP vouchers, and process approvals. Your existing Costpoint security roles and permissions apply to every request. Requires access to an active Costpoint system and administrator setup.",
        "developerName": "Deltek, Inc.",
        "category": "Business & Operations",
        "defaultPrompt": [
          "Show me the top 10 unposted AP vouchers by amount for 2026",
          "Show me the project status for project XYZ",
          "Add 2 hours for project ABC for yesterday"
        ],
        "websiteURL": "https://www.deltek.com/",
        "supportURL": "https://www.deltek.com/",
        "privacyPolicyURL": "https://www.deltek.com/company/security-and-trust/",
        "termsOfServiceURL": "https://www.deltek.com/deltek-contracts/",
        "logo": "./assets/cp-mcp-logo.png",
        "composerIcon": "./assets/cp-mcp-logo.png",
        "logoDark": "./assets/cp-mcp-logo.png",
        "composerIconDark": "./assets/cp-mcp-logo.png"
      },
      "review": {
        "commerce": false,
        "demo_recording_url": "https://ashv1997.deltek.com/ServletMCP/AppPublish/DelaGptReview.mp4",
        "test_cases": {
          "positive": [
            {
              "description": "Retrieve project details from live Costpoint data using the review tenant's project 1003.",
              "prompt": "Show me details for project 1003",
              "tools_triggered": "GetSessionId only if no valid session exists, followed by Costpoint_ERP_Dela_Inquiry",
              "expected_behavior": "The plugin reuses an existing valid sessionId when present; otherwise it creates one session. It sends a self-contained project 1003 inquiry and returns only fields supported by the live tool response and the review user's permissions, including every returned link in Markdown."
            },
            {
              "description": "Retrieve the authenticated review user's timesheet entries for a specific date.",
              "prompt": "Get me the entries from my time sheet dated Sep 21, 2026",
              "tools_triggered": "GetSessionId only if no valid session exists, followed by Costpoint_ERP_Dela_Inquiry",
              "expected_behavior": "The plugin queries the authenticated user's timesheet for September 21, 2026, reports only entries returned by Costpoint, respects permission boundaries, and renders every returned link in Markdown."
            },
            {
              "description": "Set an existing test timesheet line to a specific total using the required revision reason.",
              "prompt": "Update Line 1 on timesheet dated Sep 21, 2026. Change hours worked to 2 hours. Use 'Correction' as the revision reason.",
              "tools_triggered": "GetSessionId only if no valid session exists, followed by Costpoint_ERP_Dela_Execute",
              "expected_behavior": "The plugin reuses an existing valid sessionId when present; otherwise it creates one session. It sends a self-contained command that sets Line 1 on the September 21, 2026 test timesheet to exactly 2 total hours, using 'Correction' as the revision reason. It must set the total to 2 rather than add 2 to the existing value. It reports the actual Costpoint result without fabricating success and renders every returned link in Markdown. Host confirmation may occur because this action changes ERP data."
            },
            {
              "description": "Add one fully specified Uber expense to a designated test expense report.",
              "prompt": "Add one $20 USD Uber expense dated Oct 22, 2026 to expense report ER00000565 using expense type 'CAR/Quick Entry Car rental'.",
              "tools_triggered": "GetSessionId only if no valid session exists, followed by Costpoint_ERP_Dela_Execute",
              "expected_behavior": "The plugin reuses an existing valid sessionId when present; otherwise it creates one session. It sends a self-contained command to add exactly one Uber expense for 20.00 USD, dated October 22, 2026, to expense report ER00000565 using expense type 'CAR/Quick Entry Car rental'. Costpoint displays a confirmation form prefilled with expense type 'CAR/Quick Entry Car rental' and expense date 10/22/2026. After the reviewer selects Continue without changing those values, the plugin adds exactly one Uber expense. It must not create a Starbucks or any additional expense. It performs only actions allowed by the authenticated review user, reports the actual Costpoint result without fabricating success, and renders every returned link in Markdown."
            },
            {
              "description": "Retrieve the three highest-value unposted AP vouchers for 2026 from live Costpoint data.",
              "prompt": "Show me top 3 unposted AP vouchers by amount for 2026",
              "tools_triggered": "GetSessionId only if no valid session exists, followed by Costpoint_ERP_Dela_Inquiry",
              "expected_behavior": "The plugin reuses an existing valid sessionId when present; otherwise it creates one session. It queries Costpoint for AP vouchers that are unposted and fall within 2026, orders the authorized results by voucher amount from highest to lowest, and returns no more than the top three. It reports only values returned by Costpoint, does not infer missing voucher data, respects the authenticated review user's permissions, and renders every returned link in Markdown."
            }
          ],
          "negative": [
            {
              "description": "Expected behavior: explain that the plugin cannot send external email or messages. Prohibited behavior: do not call GetSessionId, Costpoint_ERP_Dela_Inquiry, or Costpoint_ERP_Dela_Execute.",
              "prompt": "Send Alice an email reminding her to submit her timesheet"
            },
            {
              "description": "Expected behavior: explain that the plugin cannot book transportation or make an external purchase. Prohibited behavior: do not call GetSessionId, Costpoint_ERP_Dela_Inquiry, or Costpoint_ERP_Dela_Execute.",
              "prompt": "Book an Uber for my business trip"
            },
            {
              "description": "Expected behavior: explain that this request requires a public-web or market-data capability outside Costpoint. Prohibited behavior: do not call GetSessionId, Costpoint_ERP_Dela_Inquiry, or Costpoint_ERP_Dela_Execute.",
              "prompt": "Search the public web for the latest market news about Deltek's parent company"
            }
          ]
        }
      },
      "publication": {
        "release_notes": "Updated the public listing description and starter prompts to highlight Costpoint project health, financial insights, AP voucher analysis, workforce reporting, and expense entry workflows.",
        "countries": []
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: af3f6ae2be09e7630ddb9e61bda582204ec705481980c8db4873105c4db06857