Source profileQuality 88/100

wyre-technology/msp-claude-plugins/msp-claude-plugins/kaseya/autotask/skills/contracts/SKILL.md

Autotask Contracts

Autotask contract and service agreement management - contract types (recurring services, block hours, time & materials, fixed price, retainer), service/service bundle associations, SLAs, and how contracts drive billing for MSP account managers.

Source repository stars
39
Declared platforms
0
Static risk flags
0
Last source update
2026-08-06
Source checked
2026-08-06

Decision brief

What it does—and where it fits

Autotask contract and service agreement management - contract types (recurring services, block hours, time & materials, fixed price, retainer), service/service bundle associations, SLAs, and how contracts drive billing for MSP account managers.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/wyre-technology/msp-claude-plugins --skill "msp-claude-plugins/kaseya/autotask/skills/contracts"
    Safe inspection promptEditorial

    Inspect the Agent Skill "Autotask Contracts" from https://github.com/wyre-technology/msp-claude-plugins/blob/c1011303bfd2a65abc9b260884d9858d1a482a6f/msp-claude-plugins/kaseya/autotask/skills/contracts/SKILL.md at commit c1011303bfd2a65abc9b260884d9858d1a482a6f. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Contract Setup

      1. Create contract - Set type, dates, status - Assign SLA

      Create contractSet type, dates, statusAssign SLA
    2. 02

      Anti-triggers

      The invoice or billing item a contract produced — use

      The invoice or billing item a contract produced — useThe catalog definition behind a contract service — services andKaseya BMS agreements — BMS is a separate Kaseya PSA with its own
    3. 03

      Key Concepts

      Services define what's included in a contract:

      Services define what's included in a contract:
    4. 04

      Contract Types

      Review the “Contract Types” section in the pinned source before continuing.

      Review and apply the “Contract Types” source section.
    5. 05

      Contract Fields

      Review the “Contract Fields” section in the pinned source before continuing.

      Review and apply the “Contract Fields” source section.

    Permission review

    Static risk signals and limitations

    No configured static risk pattern was detected

    This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score88/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars39SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    wyre-technology/msp-claude-plugins
    Skill path
    msp-claude-plugins/kaseya/autotask/skills/contracts/SKILL.md
    Commit
    c1011303bfd2a65abc9b260884d9858d1a482a6f
    License
    Apache-2.0
    Collected
    2026-08-06
    Default branch
    main
    View the original SKILL.md

    Autotask Contracts Management

    Overview

    Contracts in Autotask define the service relationship with clients - what services you provide, how you bill for them, and what service levels apply. Contracts control how time and expenses flow to invoices and are critical for MSP financial management.

    Anti-triggers

    • The invoice or billing item a contract produced — use autotask-billing.
    • The catalog definition behind a contract service — services and bundles exist in the catalog independently of any contract; use autotask-product-catalog.
    • Kaseya BMS agreements — BMS is a separate Kaseya PSA with its own contract objects that do not sync with Autotask; use kaseya-bms-api-patterns.
    • A HaloPSA agreement — Halo models coverage, prepaid hours, and SLA on its own contract object, which does not sync with Autotask; use halopsa-contracts.

    Key Concepts

    Contract Types

    TypeDescriptionBilling Method
    Recurring ServicesMonthly/annual managed servicesFixed recurring fee
    Block HoursPrepaid hour bankDeduct from balance
    Time & MaterialsPay as you goBill actual time
    Fixed PriceProject-based fixed feeMilestone billing
    RetainerPrepaid monthly hoursUse or lose

    Contract Fields

    FieldDescriptionRequired
    idUnique identifierSystem
    contractNameContract nameYes
    companyIDClient companyYes
    contractTypeType of contractYes
    statusContract statusYes
    startDateContract startYes
    endDateContract endYes
    setupFeeOne-time setup feeNo
    timeReportingRequiresStartStopTimesRequire start/stopNo
    serviceLevelAgreementIDSLA assignmentNo

    Contract Status

    IDStatusDescription
    1ActiveCurrent, billable
    2InactiveSuspended
    3CancelledTerminated

    Service/Service Bundle

    Services define what's included in a contract:

    FieldDescription
    serviceNameName of service
    unitPricePrice per unit
    unitCostCost per unit
    periodTypeMonthly, Quarterly, Annual
    isOptionalRequired vs optional

    API Patterns

    Creating a Contract

    POST /v1.0/Contracts
    Content-Type: application/json
    
    {
      "contractName": "Acme Corp - Managed Services",
      "companyID": 12345,
      "contractType": 1,
      "status": 1,
      "startDate": "2024-01-01",
      "endDate": "2024-12-31",
      "setupFee": 500.00,
      "timeReportingRequiresStartStopTimes": true,
      "serviceLevelAgreementID": 1
    }
    

    Adding Services to Contract

    POST /v1.0/ContractServices
    Content-Type: application/json
    
    {
      "contractID": 54321,
      "serviceID": 111,
      "unitPrice": 150.00,
      "adjustedPrice": 150.00,
      "quantity": 50,
      "effectiveDate": "2024-01-01"
    }
    

    Creating Block Hours Contract

    POST /v1.0/Contracts
    Content-Type: application/json
    
    {
      "contractName": "Acme Corp - Block Hours",
      "companyID": 12345,
      "contractType": 4,
      "status": 1,
      "startDate": "2024-01-01",
      "endDate": "2024-06-30"
    }
    

    Then add block hours:

    POST /v1.0/ContractBlocks
    Content-Type: application/json
    
    {
      "contractID": 54322,
      "datePurchased": "2024-01-01",
      "hoursPurchased": 40,
      "hourlyRate": 150.00,
      "isPaid": true
    }
    

    Searching Contracts

    Active contracts for a company:

    {
      "filter": [
        {"field": "companyID", "op": "eq", "value": 12345},
        {"field": "status", "op": "eq", "value": 1}
      ]
    }
    

    Contracts expiring soon:

    {
      "filter": [
        {"field": "status", "op": "eq", "value": 1},
        {"field": "endDate", "op": "lte", "value": "2024-03-31"},
        {"field": "endDate", "op": "gte", "value": "2024-01-01"}
      ]
    }
    

    Checking Block Hour Balance

    GET /v1.0/ContractBlocks/query?search={"filter":[{"field":"contractID","op":"eq","value":54322}]}
    

    Calculate remaining hours:

    • Sum hoursPurchased - Sum of time entries against contract

    Renewing a Contract

    1. Create new contract with updated dates
    2. Copy services from old contract
    3. Update old contract status to Inactive
    4. Link any ongoing tickets to new contract

    Common Workflows

    Contract Setup

    1. Create contract

      • Set type, dates, status
      • Assign SLA
    2. Add services

      • Define included services
      • Set pricing and quantities
    3. Configure billing

      • Invoice frequency
      • Payment terms
    4. Assign to tickets

      • Set as default for company
      • Route work appropriately

    Contract Renewal

    1. Identify expiring contracts

      • Query contracts by endDate
      • Generate renewal report
    2. Review contract performance

      • Compare budgeted vs actual hours
      • Analyze profitability
    3. Negotiate renewal

      • Adjust pricing if needed
      • Update service scope
    4. Create renewal

      • New contract with new dates
      • Update company default contract

    Block Hours Management

    1. Monitor balance

      • Track hours remaining
      • Alert at threshold (e.g., 10 hours)
    2. Replenish as needed

      • Add new block purchase
      • Invoice for new hours
    3. Handle overages

      • Bill at T&M rate
      • Or convert to new block

    Service Level Agreements (SLAs)

    Contracts can be linked to SLAs:

    SLA MetricDescription
    Response TimeTime to first response
    Resolution TimeTime to resolve
    UptimeSystem availability %
    Business HoursWhen SLA applies

    SLA violations trigger alerts and can affect contract terms.

    Error Handling

    Common API Errors

    CodeMessageResolution
    400Invalid contract typeUse valid contract type ID
    400EndDate before StartDateFix date sequence
    409Cannot modify - has billingAdjust dates only
    404ServiceID not foundVerify service exists

    Validation Errors

    "CompanyID is required" - Must associate with a company

    "StartDate is required" - All contracts need start date

    "Invalid service for contract type" - Service must match contract type

    Best Practices

    1. Name consistently - "Company - Contract Type" format
    2. Set end dates - Never leave end date empty
    3. Review renewals - Quarterly expiration review
    4. Track profitability - Compare budgeted vs actual
    5. Document terms - Note special conditions
    6. Alert on block hours - Proactive replenishment
    7. Assign SLAs - Define service expectations
    8. Audit regularly - Ensure tickets use correct contracts

    Related Skills

    Alternatives

    Compare before choosing

    Computed 10043,183

    coreyhaines31/marketingskills

    ab-testing

    When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

    Computed 10023,881

    alirezarezvani/claude-skills

    app-store-optimization

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

    Computed 1004,969

    dotnet/skills

    migrate-vstest-to-mtp

    Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing

    Computed 100148

    JasonColapietro/suede-creator-skills

    suede-ab-testing

    Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).