Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Connector Configuration

ASecurity

Connector-specific configuration patterns for ELT pipelines — QuickBooks OAuth + rate-limit handling, Stripe webhook + batch hybrid, Salesforce Bulk API 2.0, HubSpot API v3, GA4 BigQuery export, Shopify GraphQL Admin API. Used by `etl-pipeline-engineer` when configuring an Airbyte / Fivetran / n8n connector against a real source.

7 stars
0 votes
0 copies
0 views
Added 9/23/2026
ai-agentsgospringawsapidatabasedocumentation

Works with

cliapi

Security Analysis

A100/100

Scanned 9/23/2026

$npx -y skills add mcorbett51090/RavenClaude --skill connector-configuration --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Connector Configuration?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Connector Configuration
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mcorbett51090-connector-configuration/badge)](https://www.skillsdirectory.com/skills/mcorbett51090-connector-configuration)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: connector-configuration
description: Connector-specific configuration patterns for ELT pipelines — QuickBooks OAuth + rate-limit handling, Stripe webhook + batch hybrid, Salesforce Bulk API 2.0, HubSpot API v3, GA4 BigQuery export, Shopify GraphQL Admin API. Used by `etl-pipeline-engineer` when configuring an Airbyte / Fivetran / n8n connector against a real source.
---

# Skill: connector-configuration

> **Invoked by:** `etl-pipeline-engineer` (primary), `connector-developer` (custom-connector path).
>
> **When to invoke:** configuring any pre-built ELT connector (QBO, Stripe, Salesforce, HubSpot, GA4, Shopify, HRIS); diagnosing a rate-limit-related failure; deciding on sync frequency / state-management posture.
>
> **Output:** a working connector config + rate-limit-aware retry plan + state-management strategy + handoff documentation for engagement end.

## The 6-source toolkit (per the consulting practice's most common ingestion targets)

### QuickBooks Online
- **Auth:** OAuth 2.0 Authorization Code; 1-hour access tokens; refresh tokens 100-day rolling with notifications at 30 and 7 days
- **Register the app:** [developer.intuit.com](https://developer.intuit.com) → My Apps → create an app, enable the **Accounting** scope, copy the client ID/secret, set the redirect URI to your ELT vendor's callback. **Who can do it:** any Intuit developer account creates the app; connecting *production* to a company needs that company's admin to authorize. Walkthrough: [`../../knowledge/quickbooks-online-integration.md`](../../knowledge/quickbooks-online-integration.md). `[verify-at-build]`
- **Rate limits:** 10 req/s per realm-ID + app; batch endpoint 120/min; concurrent ~10. HTTP 429 / 403 → honor `Retry-After`
- **Connector availability:** Fivetran ✅, Airbyte ✅, Hevo ✅, Stitch ✅ (in maintenance)
- **QBO vs QB Desktop:** Desktop is materially different — usually requires QB Web Connector + CData / Transaction Pro. **QB Desktop is v0.2.0+ scope for this plugin.**
- **2026 watch:** "Reconnect URL" mandatory field in Intuit developer portal (single-source claim; verify before implementing)

### Stripe
- **Auth:** API key (restricted keys for production) — **not an OAuth app.** No developer-portal app registration: create a **restricted key** in the Stripe Dashboard → Developers → API keys (scoped read-only for ELT). **Who can do it:** a Stripe account member with Developer/Administrator access. `[verify-at-build]`
- **Connector availability:** Fivetran ✅, Airbyte ✅, Hevo ✅, Estuary ✅
- **Pattern:** **batch for history + webhooks for real-time** — don't try to ELT a webhook-driven event source as if it's a CRUD database
- **Common error:** ELT vendors are batch-only; client expects real-time fraud signals — webhook handlers run separately

### Salesforce
- **Auth:** Connected App + OAuth 2.0 JWT-bearer flow (server-side) or Web Server flow (interactive)
- **Register the app:** Setup → **App Manager → New Connected App** → enable OAuth, add the ELT vendor's callback URL, select scopes (`api`, `refresh_token`), then copy the **Consumer Key/Secret**. **Who can do it:** a **System Administrator** (or "Customize Application" + "Manage Connected Apps" perms). Walkthrough: [`../../knowledge/salesforce-integration.md`](../../knowledge/salesforce-integration.md). `[verify-at-build]`
- **Bulk API 2.0 ceilings:** 150M records/day; 15k batch submissions/24hr; 10k records/batch; 10MB payload (per [developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/bulk_common_limits.htm](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/bulk_common_limits.htm))
- **Connector availability:** Universal — all major ELT vendors. Bulk API 2.0 is the standard backbone.
- **Common error:** custom SObject field selection — limit query result columns to avoid 10MB payload pings

### HubSpot
- **Register the app:** single-org ELT → **Settings → Integrations → Private Apps → Create** (copy the access token, select CRM read scopes); distributed/marketplace → an app in [developers.hubspot.com](https://developers.hubspot.com) (OAuth client ID/secret + redirect URI). **Who can do it:** a HubSpot **super admin** for a private app; a developer account for a marketplace app (install still needs the target portal's super admin). Walkthrough: [`../../knowledge/hubspot-integration.md`](../../knowledge/hubspot-integration.md). `[verify-at-build]`
- **Rate limits:** OAuth marketplace apps 110/10s per installed account; private apps 100/10s (Free/Starter) → 190/10s (Pro/Enterprise); **CRM Search API capped at 4/sec**; OAuth via developer accounts up to 1M/day (per [developers.hubspot.com/docs/developer-tooling/platform/usage-guidelines](https://developers.hubspot.com/docs/developer-tooling/platform/usage-guidelines))
- **Connector availability:** Fivetran ✅, Airbyte ✅, Hevo ✅
- **Common error:** sync designed against private-app rate limits then deployed via OAuth marketplace (or vice versa) — different ceilings

### Google Analytics 4
- **Native BigQuery export:** FREE, daily + streaming/intraday — **this is the recommended path** when destination is BigQuery. No app registration — configure in **GA4 → Admin → Product Links → BigQuery Links** (needs GA4 property **Editor** + the BigQuery project owner).
- **Register the app (Data API path only):** when the destination isn't BigQuery, the ELT vendor authenticates via a **Google Cloud service-account JSON key** (Google Cloud Console → IAM & Admin → Service Accounts), or an OAuth client (same flow as Google SSO). **Who can do it:** Google Cloud project **Owner/Editor**; grant the service account GA4 property access. Walkthroughs: [`../../knowledge/ga4-integration.md`](../../knowledge/ga4-integration.md) + [`../../../auth-identity/skills/google-sso-setup/SKILL.md`](../../../auth-identity/skills/google-sso-setup/SKILL.md). `[verify-at-build]`
- **UA is gone.** GA4 only. Historical UA windows have closed for most properties.
- **ELT vendor connectors:** useful when destination is *not* BigQuery, or when blending with other sources

### Shopify
- **Auth:** OAuth 2.0
- **Register the app:** single-store ELT → **Shopify admin → Settings → Apps and sales channels → Develop apps → Create an app** (Admin API access token + scopes like `read_orders`, `read_products`); distribution → an app in the **Shopify Partner Dashboard** (OAuth client ID/secret + redirect URI). **Who can do it:** the **store owner** (or staff with the *Apps and channels → Develop apps* permission) for a custom app; **Partner-account** access for a Partner app. Walkthrough: [`../../knowledge/shopify-integration.md`](../../knowledge/shopify-integration.md). `[verify-at-build]`
- **API contract:** REST Admin API is legacy as of Oct 1, 2024. **GraphQL Admin API required for new apps since April 1, 2025.** All new connector work uses GraphQL.
- **Webhooks:** via GraphQL `webhookSubscriptionCreate`; HTTPS / Google Pub/Sub / AWS EventBridge destinations
- **Pattern:** ELT for orders / customers / products (historical) + webhooks for inventory + order events (real-time)

### HRIS (Workday, BambooHR, ADP)
- **Workday HCM / Adaptive / Financial / Strategic Sourcing / RaaS:** Fivetran ✅; setup requires Workday Integration System User with appropriate domain permissions
- **BambooHR:** Airbyte ✅ (both source and destination)
- **ADP:** thinner native ELT coverage; usually via **Flexspring** (API-to-API connector) or **Merge.dev** unified HRIS API

## Sync-frequency decision

| Frequency | When to pick | Cost implication |
|---|---|---|
| Real-time (webhooks) | Operational dashboards, fraud, inventory | Webhook handler runs separately from ELT |
| Hourly | Recent-activity reporting | Mid-tier per-MAR; high credit usage |
| Daily | Most analytics dashboards | Industry-standard; cheapest defensible cadence |
| Weekly | Trend / retention / cohort | Cheapest; rare for SMB dashboards |

**Heuristic:** the dashboard's refresh expectation is the cadence ceiling. Daily ELT for a quarterly QBR is wasted MAR.

## The Fivetran 2026 cost-predictability warning

**As of Jan 1, 2026, Fivetran counts deletes toward paid MAR** (previously only inserts/updates). For change-heavy sources (Salesforce, HubSpot deal updates, ticketing systems), this is a material cost increase per [fivetran.com/docs/usage-based-pricing/pricing-updates/2026-pricing-updates](https://fivetran.com/docs/usage-based-pricing/pricing-updates/2026-pricing-updates). **Flag this when proposing Fivetran for fixed-fee consulting engagements** — invoice surprises break the fixed-fee model.

## Workflow vs ELT decision (when n8n / Zapier vs Airbyte)

- **Workflow (n8n / Zapier / Make / Activepieces):** SaaS-to-SaaS, event-driven, low-volume (thousands of events/day), destination is another SaaS app
- **ELT (Fivetran / Airbyte):** destination is a warehouse, schema-managed, hundreds-of-thousands to millions of rows

## Anti-patterns this skill flags

- Rate-limit-naive code that doesn't honor `Retry-After`
- ELT pipeline scheduled more frequently than the dashboard needs
- Salesforce / HubSpot pipeline without naming the daily-API-cap math
- Fivetran proposed for change-heavy source without flagging the 2026 deletes-count change
- Stripe batch-only when client expects real-time signals (need webhooks)
- GA4 connector spend when native BigQuery export is free
- Workflow tool (n8n / Zapier) proposed for warehouse-bound ELT at million-row volume
- Custom integration when Airbyte ships a connector (re-inventing maintenance burden)
- ELT pipeline with no documented data-handoff plan
- Storing OAuth refresh tokens in plain text in a config repo (use a secret store)

## References

- Knowledge: [`../../knowledge/ipaas-connector-landscape-2026.md`](../../knowledge/ipaas-connector-landscape-2026.md)
- Knowledge: [`../../knowledge/quickbooks-online-integration.md`](../../knowledge/quickbooks-online-integration.md)
- Template: [`../../templates/airbyte-source-config.yaml`](../../templates/airbyte-source-config.yaml)
- LMS-specific: [`../../knowledge/edtech-lms-connector-gap.md`](../../knowledge/edtech-lms-connector-gap.md)

Attribution

mcorbett51090mcorbett51090
View sourceSee grades on GitHubMore from mcorbett51090 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →