Source profileQuality 91/100

WYRE-AI/msp-claude-plugins/msp-claude-plugins/kaseya/it-glue/skills/organizations/SKILL.md

IT Glue Organizations

IT Glue organizations (companies/clients): the foundational entity all documentation, configurations, contacts, passwords, and flexible assets attach to. Covers organization types, statuses, parent/child relationships, PSA sync fields, and quick notes.

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

Decision brief

What it does: where it fits

IT Glue organizations (companies/clients): the foundational entity all documentation, configurations, contacts, passwords, and flexible assets attach to. Covers organization types, statuses, parent/child relationships, PSA sync fields, and quick notes.

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-AI/msp-claude-plugins --skill "msp-claude-plugins/kaseya/it-glue/skills/organizations"
    Safe inspection promptEditorial

    Inspect the Agent Skill "IT Glue Organizations" from https://github.com/WYRE-AI/msp-claude-plugins/blob/5005f73ba2f52cd299f58aa6bb79f4e70ae87103/msp-claude-plugins/kaseya/it-glue/skills/organizations/SKILL.md at commit 5005f73ba2f52cd299f58aa6bb79f4e70ae87103. 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

      PSA Sync Verification

      Review the “PSA Sync Verification” section in the pinned source before continuing.

      Review and apply the “PSA Sync Verification” source section.
    2. 02

      Anti-triggers

      The client as a billing entity — the PSA company record drives

      The client as a billing entity — the PSA company record drivesThe client's grouping in monitoring or SOC tooling — useThe people at the organization — use itglue-contacts.
    3. 03

      Key Concepts

      Organizations are classified by type for categorization:

      Centralized management documentationShared configurations across divisionsHierarchical reporting
    4. 04

      Organization Types

      Organizations are classified by type for categorization:

      Organizations are classified by type for categorization:
    5. 05

      Organization Statuses

      Review the “Organization Statuses” section in the pinned source before continuing.

      Review and apply the “Organization Statuses” 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 score91/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars42SourceRepository 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-AI/msp-claude-plugins
    Skill path
    msp-claude-plugins/kaseya/it-glue/skills/organizations/SKILL.md
    Commit
    5005f73ba2f52cd299f58aa6bb79f4e70ae87103
    License
    Apache-2.0
    Collected
    2026-08-28
    Default branch
    main
    View the original SKILL.md

    IT Glue Organizations Management

    Overview

    Organizations are the foundational entity in IT Glue, representing companies, clients, vendors, or internal entities. All documentation, configurations, contacts, passwords, and flexible assets are associated with an organization. Proper organization management enables comprehensive client documentation and cross-platform integration with PSA tools.

    Anti-triggers

    • The client as a billing entity — the PSA company record drives tickets, contracts, and invoices; use autotask-crm.
    • The client's grouping in monitoring or SOC tooling — use datto-rmm-sites or rocketcyber-accounts; neither shares IDs with an IT Glue organization.
    • The people at the organization — use itglue-contacts.

    Key Concepts

    Organization Types

    Organizations are classified by type for categorization:

    TypeDescriptionUse Case
    CustomerActive client organizationsPrimary service clients
    VendorProduct/service suppliersSoftware vendors, hardware suppliers
    PartnerBusiness partnersMSP partnerships, referral partners
    InternalYour own organizationInternal documentation
    ProspectPotential clientsPre-sales documentation

    Organization Statuses

    StatusDescriptionBusiness Logic
    ActiveCurrently servicedStandard operational state
    InactiveNot currently activeSuspended or paused accounts
    ArchivedHistorical onlyNo longer serviced, read-only

    Parent/Child Relationships

    Organizations can have hierarchical relationships:

    Parent Organization (Acme Holdings)
    ├── Child: Acme East Division
    ├── Child: Acme West Division
    └── Child: Acme International
    

    This enables:

    • Centralized management documentation
    • Shared configurations across divisions
    • Hierarchical reporting
    • Inherited security settings

    Field Reference

    Core Fields

    FieldTypeRequiredDescription
    idintegerSystemAuto-generated unique identifier
    namestringYesOrganization name (unique)
    descriptionstringNoDetailed description
    quick-notesstringNoQuick reference notes
    organization-type-idintegerNoType classification
    organization-status-idintegerNoStatus classification

    Relationship Fields

    FieldTypeDescription
    parent-idintegerParent organization ID
    primary-contact-idintegerPrimary contact for org
    primary-location-idintegerPrimary location ID

    PSA Integration Fields

    FieldTypeDescription
    psa-idstringPSA system company ID
    psa-integration-typestringPSA type (autotask, connectwise, etc.)

    Metadata Fields

    FieldTypeDescription
    created-atdatetimeCreation timestamp
    updated-atdatetimeLast update timestamp
    short-namestringAbbreviated name
    alertstringAlert/warning message

    API Patterns

    List Organizations

    GET /organizations
    x-api-key: YOUR_API_KEY
    Content-Type: application/vnd.api+json
    

    With Filters:

    GET /organizations?filter[name]=Acme&filter[organization-status-id]=1
    

    With Pagination:

    GET /organizations?page[size]=100&page[number]=1&sort=name
    

    Get Single Organization

    GET /organizations/123456
    x-api-key: YOUR_API_KEY
    

    With Includes:

    GET /organizations/123456?include=configurations,contacts,passwords
    

    Create Organization

    POST /organizations
    Content-Type: application/vnd.api+json
    x-api-key: YOUR_API_KEY
    
    {
      "data": {
        "type": "organizations",
        "attributes": {
          "name": "New Client Corporation",
          "description": "IT services client since 2024",
          "quick-notes": "Primary contact: John Smith (555-123-4567)",
          "organization-type-id": 37,
          "organization-status-id": 1
        }
      }
    }
    

    Update Organization

    PATCH /organizations/123456
    Content-Type: application/vnd.api+json
    x-api-key: YOUR_API_KEY
    
    {
      "data": {
        "type": "organizations",
        "attributes": {
          "quick-notes": "Updated: New primary contact is Jane Doe",
          "alert": "Contract renewal due March 2024"
        }
      }
    }
    

    Delete Organization

    DELETE /organizations/123456
    x-api-key: YOUR_API_KEY
    

    Warning: Deleting an organization removes all associated resources (configurations, passwords, documents, etc.)

    Search by PSA ID

    GET /organizations?filter[psa-id]=12345
    

    Common Workflows

    New Client Onboarding

    1. Create organization with basic info
    2. Set organization type (Customer)
    3. Add quick notes for reference
    4. Link to PSA with psa-id
    5. Create primary contact
    6. Add initial configurations
    7. Document passwords
    async function onboardClient(clientData) {
      // Step 1: Create organization
      const org = await createOrganization({
        name: clientData.companyName,
        description: clientData.description,
        'quick-notes': clientData.notes,
        'organization-type-id': CUSTOMER_TYPE_ID,
        'organization-status-id': ACTIVE_STATUS_ID
      });
    
      // Step 2: Create primary contact
      await createContact(org.id, {
        name: clientData.primaryContact.name,
        email: clientData.primaryContact.email,
        phone: clientData.primaryContact.phone,
        'contact-type-id': PRIMARY_CONTACT_TYPE
      });
    
      // Step 3: Create initial documentation
      await createDocument(org.id, {
        name: 'Client Overview',
        content: generateOverviewContent(clientData)
      });
    
      return org;
    }
    

    Client Offboarding

    1. Archive passwords (don't delete for audit)
    2. Export documentation if needed
    3. Update organization status to Archived
    4. Add offboarding notes with date and reason
    async function offboardClient(orgId, reason) {
      // Update status to archived
      await updateOrganization(orgId, {
        'organization-status-id': ARCHIVED_STATUS_ID,
        alert: `ARCHIVED: ${new Date().toISOString().split('T')[0]} - ${reason}`
      });
    
      // Add final note
      await addQuickNote(orgId, `
        Client offboarded on ${new Date().toLocaleDateString()}
        Reason: ${reason}
        Final contact: [Record contact name and handoff details]
      `);
    }
    

    PSA Sync Verification

    async function verifyPsaSync() {
      // Get all active organizations
      const orgs = await fetchOrganizations({
        filter: { 'organization-status-id': ACTIVE_STATUS_ID }
      });
    
      const syncStatus = {
        synced: [],
        unsynced: [],
        mismatched: []
      };
    
      for (const org of orgs) {
        if (!org.attributes['psa-id']) {
          syncStatus.unsynced.push(org);
        } else {
          // Verify PSA record exists
          const psaCompany = await lookupPsaCompany(org.attributes['psa-id']);
          if (psaCompany) {
            syncStatus.synced.push(org);
          } else {
            syncStatus.mismatched.push(org);
          }
        }
      }
    
      return syncStatus;
    }
    

    Bulk Organization Report

    async function generateOrgReport() {
      const orgs = await fetchAllOrganizations();
    
      return orgs.map(org => ({
        name: org.attributes.name,
        type: org.relationships['organization-type']?.data?.id,
        status: org.relationships['organization-status']?.data?.id,
        hasConfigurations: org.relationships.configurations?.data?.length > 0,
        hasPasswords: org.relationships.passwords?.data?.length > 0,
        psaSynced: !!org.attributes['psa-id'],
        createdAt: org.attributes['created-at'],
        updatedAt: org.attributes['updated-at']
      }));
    }
    

    Error Handling

    Common API Errors

    CodeMessageResolution
    400Name can't be blankProvide organization name
    400Name has already been takenUse unique name
    401Invalid API keyCheck IT_GLUE_API_KEY
    404Organization not foundVerify organization ID
    422Invalid organization typeQuery valid type IDs first

    Validation Errors

    ErrorCauseFix
    Name requiredMissing name fieldAdd name to request
    Name not uniqueDuplicate nameUse different name
    Invalid type IDNon-existent typeQuery /organization-types first
    Invalid status IDNon-existent statusQuery /organization-statuses first

    Error Recovery Pattern

    async function safeCreateOrganization(data) {
      try {
        return await createOrganization(data);
      } catch (error) {
        if (error.status === 422 && error.detail?.includes('already been taken')) {
          // Organization exists - find and return it
          const existing = await findOrganizationByName(data.name);
          return existing;
        }
    
        if (error.status === 401) {
          throw new Error('API key invalid or expired. Check IT_GLUE_API_KEY.');
        }
    
        throw error;
      }
    }
    

    Best Practices

    1. Use descriptive names - Include location or identifier if needed for uniqueness
    2. Maintain quick notes - Keep emergency contact info readily available
    3. Set organization types - Enable meaningful filtering and reporting
    4. Link to PSA - Always set psa-id for cross-platform lookups
    5. Use parent/child - Organize multi-location or division clients
    6. Archive, don't delete - Preserve historical documentation
    7. Document alerts - Use alert field for critical client notices
    8. Primary contact - Always set a primary contact for each org
    9. Standardize naming - Use consistent naming conventions

    Related Skills

    Frequently asked questions

    What to verify before installation and use

    What does the IT Glue Organizations source document cover?

    IT Glue organizations (companies/clients): the foundational entity all documentation, configurations, contacts, passwords, and flexible assets attach to. Covers organization types, statuses, parent/child relationships, PSA sync fields, and quick notes.

    How do I install IT Glue Organizations?

    The source record exposes this install command: npx skills add https://github.com/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/kaseya/it-glue/skills/organizations". Inspect the command and pinned source before running it.

    Alternatives

    Compare before choosing

    Computed 99241

    enuno/unifi-mcp-server

    unifi-mcp-tool-builder

    Specialized guide for adding new MCP tools to the UniFi MCP Server following project standards, UniFi API patterns, and test-driven development practices. Use when implementing new UniFi Network Controller features as MCP tools.

    Computed 9916

    NintendaDev/unikit-ai

    unikit-docs

    Generate and maintain the project's TECHNICAL documentation from its codebase — scans the project structure, tech stack, and module boundaries, then writes a lean README landing page plus detailed topic pages (architecture, modules, setup, build, APIs), only the docs that are relevant. Use whenever the user wants to create, update, or validate documentation of the CODE or the project itself, e.g. "generate documentation", "create docs", "write the README", "update the project docs", "document th

    Computed 9882

    vasilyu1983/AI-Agents-public

    research-git

    Scans public GitHub repos for agent skills, dev practices, and code patterns. Use when enriching skills, setting team policy, or researching a build domain.

    Computed 9867

    SerendipityOneInc/ZooData-Skills

    zoodata

    API endpoint reference for the ZooData data platform: the 12 commerce endpoints plus 10 keyword-intelligence endpoints (categories, markets, products, competitors, realtime ASIN, AI review analysis, raw reviews, price band, brand, history, and the keyword detail/trend/extends/search/ market-profile/product-traffic/competitor-keywords/traffic-profile/ traffic-timeline family) — their inputs/outputs, parameter quirks, Quick Start (auth, base URL), how credits are tracked (meta.creditsConsumed), an