agentleFS
apideck-librariesapideck-libraries/api-skills/skills/apideck-connector-coverage/SKILL.md

apideck-connector-coverage

Skill4 starsChanged 3 months agoApache-2.0View on GitHub

Check Apideck connector API coverage before building integrations. Use when determining which operations a connector supports, comparing connector capabilities, or diagnosing why an API call fails with a specific connector. Teaches agents to query the Connector API for real-time coverage data.

  • Reads credentials
  • Sends data out

The file

We split this skill into the rules it gives an agent

10 rules. About 0 are common, 9 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Not all Apideck connectors support all operations.

    line 15
  2. Distinctive:

    ALWAYS check connector coverage before recommending an integration approach.

    line 19
  3. Distinctive:

    If an operation is not supported, suggest alternatives: a different connector, pass-through to the raw API, or a workaround using supported …

    line 20
  4. Distinctive:

    USE the Connector API to verify coverage programmatically.

    line 21
  5. Very specific:

    When a user reports a 501 Not Implemented or UnsupportedOperationError, check coverage first.

    line 22
  6. Distinctive:

    Check which connections a consumer has and their state:

    line 72
  7. Distinctive:

    When an operation isn't supported for a connector:

    line 132
  8. Distinctive:

    If the user's chosen connector doesn't support an operation, suggest alternatives that do.

    line 160
  9. Distinctive:

    If a critical operation is missing, users can request it at https://github.com/apideck-libraries or through the Apideck dashboard.

    line 164
  10. Distinctive:

    When an API call fails:

    line 179

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Apideck Connector Coverage Skill

Overview

Not all Apideck connectors support all operations. Before building an integration, always check connector coverage to avoid runtime errors. The Connector API provides real-time metadata about which operations each connector supports.

IMPORTANT RULES

  • ALWAYS check connector coverage before recommending an integration approach. Never assume a connector supports an operation.
  • If an operation is not supported, suggest alternatives: a different connector, pass-through to the raw API, or a workaround using supported operations.
  • USE the Connector API to verify coverage programmatically. Do not rely on hardcoded lists.
  • When a user reports a 501 Not Implemented or UnsupportedOperationError, check coverage first.

Checking Coverage

Using the SDK (TypeScript)

import { Apideck } from "@apideck/unify";

const apideck = new Apideck({
  apiKey: process.env["APIDECK_API_KEY"] ?? "",
  appId: "your-app-id",
  consumerId: "your-consumer-id",
});

// List all connectors for an API
const { data } = await apideck.connector.connectorResources.get({
  id: "crm",
  resourceId: "contacts",
});
// Returns coverage per connector: which operations are supported

// Get specific connector details
const { data: connector } = await apideck.connector.connectors.get({
  id: "salesforce",
});
// Returns: name, status, auth_type, supported_resources, supported_events

Using the REST API

# List connectors for a unified API
curl 'https://unify.apideck.com/connector/connectors?filter[unified_api]=crm' \
  -H 'Authorization: Bearer {API_KEY}' \
  -H 'x-apideck-app-id: {APP_ID}'

# Get connector details including supported resources
curl 'https://unify.apideck.com/connector/connectors/salesforce' \
  -H 'Authorization: Bearer {API_KEY}' \
  -H 'x-apideck-app-id: {APP_ID}'

# Get API resource coverage (which connectors support what)
curl 'https://unify.apideck.com/connector/apis/crm/resources/contacts' \
  -H 'Authorization: Bearer {API_KEY}' \
  -H 'x-apideck-app-id: {APP_ID}'

Using the Vault API

Check which connections a consumer has and their state:

const { data } = await apideck.vault.connections.list({
  api: "crm",
});

for (const conn of data) {
  console.log(`${conn.serviceId}: ${conn.state} (enabled: ${conn.enabled})`);
  // state: available | callable | added | authorized | invalid
}

Coverage States

Each operation on a connector has a coverage status:

StatusMeaning
supportedFully implemented and tested
betaImplemented but may have edge cases
not_supportedNot available for this connector

Common Coverage Patterns

Accounting API

OperationQuickBooksXeroNetSuiteSage IntacctFreshBooks
Invoices CRUDFullFullFullFullFull
Bills CRUDFullFullFullFullPartial
PaymentsFullFullFullFullFull
Journal EntriesFullFullFullFullLimited
Balance SheetFullFullFullFullNo
Tax Rates (read)FullFullFullFullFull

CRM API

OperationSalesforceHubSpotPipedriveZoho CRMClose
Contacts CRUDFullFullFullFullFull
Companies CRUDFullFullFullFullFull
Leads CRUDFullFullFullFullFull
OpportunitiesFullFullFullFullFull
ActivitiesFullFullFullFullPartial
Pipelines (read)FullFullFullFullFull

HRIS API

OperationBambooHRWorkdayPersonioGustoRippling
Employees CRUDFullFullFullFullFull
DepartmentsFullFullFullFullFull
Payrolls (read)FullPartialPartialFullFull
Time-OffFullFullFullFullFull

These tables are approximate. Always verify with the Connector API for real-time accuracy.

Handling Unsupported Operations

When an operation isn't supported for a connector:

1. Use Pass-Through (Proxy API)

Make direct calls to the downstream API through Apideck's proxy:

// Direct pass-through to the downstream API
const response = await fetch("https://unify.apideck.com/proxy", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${apiKey}`,
    "x-apideck-app-id": appId,
    "x-apideck-consumer-id": consumerId,
    "x-apideck-service-id": "salesforce",
    "x-apideck-downstream-url": "https://api.salesforce.com/services/data/v59.0/sobjects/CustomObject__c",
    "x-apideck-downstream-method": "GET",
    "Content-Type": "application/json",
  },
});

2. Check for Alternative Resources

Some connectors map the same data to different unified resources. For example, a "deal" in Pipedrive maps to "opportunities" in the unified CRM API.

3. Suggest a Different Connector

If the user's chosen connector doesn't support an operation, suggest alternatives that do. Use the Connector API to find connectors that support the specific operation.

4. Feature Request

If a critical operation is missing, users can request it at https://github.com/apideck-libraries or through the Apideck dashboard.

Connector Authentication Types

Auth TypeDescriptionConnectors
oauth2OAuth 2.0 flow (managed by Vault)Most cloud SaaS (Salesforce, HubSpot, QuickBooks Online, etc.)
apiKeyAPI key authenticationSome self-hosted or simpler services
basicUsername/passwordLegacy systems, on-premise
customConnector-specific authVaries

Vault handles all OAuth flows. Users authorize via the Vault modal — you never need to implement OAuth yourself.

Debugging Coverage Issues

When an API call fails:

  1. Check the error type — UnsupportedOperationError or 501 means the operation isn't implemented
  2. Verify connection state — Use vault.connections.list() to check the connection is authorized
  3. Check connector coverage — Use the Connector API to verify the operation is supported
  4. Check field support — Some connectors support an operation but not all fields. Missing fields return null
  5. Use raw mode — Add raw=true to see the downstream response for debugging

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.