Receber por email
← Voltar para o catálogo

IT Glue Organizations

Use this skill when working with IT Glue organizations (companies/clients) - creating, searching, updating, and managing client documentation. Covers organization types, statuses, parent/child relationships, PSA sync, quick notes, and related resources like configurations, contacts, and passwords.

31estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: Apache-2.0

Como adicionar

/plugin marketplace add wyre-technology/msp-claude-plugins

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/it-glue-organizations/svg)](https://www.skillteca.com.br/skills/it-glue-organizations)

Skills relacionadas

Ver todas de Documentos →

Alerta por categoria

Receba novas skills de Documentos toda segunda

1 email curto, só com as skills novas de Documentos. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

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.

Key Concepts

Organization Types

Organizations are classified by type for categorization:

| Type | Description | Use Case | |------|-------------|----------| | Customer | Active client organizations | Primary service clients | | Vendor | Product/service suppliers | Software vendors, hardware suppliers | | Partner | Business partners | MSP partnerships, referral partners | | Internal | Your own organization | Internal documentation | | Prospect | Potential clients | Pre-sales documentation |

Organization Statuses

| Status | Description | Business Logic | |--------|-------------|----------------| | Active | Currently serviced | Standard operational state | | Inactive | Not currently active | Suspended or paused accounts | | Archived | Historical only | No 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

| Field | Type | Required | Description | |-------|------|----------|-------------| | id | integer | System | Auto-generated unique identifier | | name | string | Yes | Organization name (unique) | | description | string | No | Detailed description | | quick-notes | string | No | Quick reference notes | | organization-type-id | integer | No | Type classification | | organization-status-id | integer | No | Status classification |

Relationship Fields

| Field | Type | Description | |-------|------|-------------| | parent-id | integer | Parent organization ID | | primary-contact-id | integer | Primary contact for org | | primary-location-id | integer | Primary location ID |

PSA Integration Fields

| Field | Type | Description | |-------|------|-------------| | psa-id | string | PSA system company ID | | psa-integration-type | string | PSA type (autotask, connectwise, etc.) |

Metadata Fields

| Field | Type | Description | |-------|------|-------------| | created-at | datetime | Creation timestamp | | updated-at | datetime | Last update timestamp | | short-name | string | Abbreviated name | | alert | string | Alert/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

| Code | Message | Resolution | |------|---------|------------| | 400 | Name can't be blank | Provide organization name | | 400 | Name has already been taken | Use unique name | | 401 | Invalid API key | Check IT_GLUE_API_KEY | | 404 | Organization not found | Verify organization ID | | 422 | Invalid organization type | Query valid type IDs first |

Validation Errors

| Error | Cause | Fix | |-------|-------|-----| | Name required | Missing name field | Add name to request | | Name not unique | Duplicate name | Use different name | | Invalid

Compartilhar X LinkedIn