Claude meets youwhere you work
Claude meets youwhere you work
Build on, grow with, or buy from the Claude ecosystem. Connect your favorite services or find partner solutions built on Claude.
Customize Claude for the best results
Connectors bring your apps and data into Claude to complete tasks. Plugins combine connectors and skills to complete workflows.
Bring your tools to Claude
Connect Slack, Google Workspace, Microsoft Office, and more.
Connect across products
Your tools can be connected to Claude Code, Cowork, and Claude on web, desktop, and mobile.
Built for enterprise
Admins control which tools each team can use, and what those tools can do.












Claude works with your stack
No retrofitting required. Connect the tools you use everyday.
How teams use connectors
Turn designs into coded websites
Handing off designs to engineering takes time and leaves room for things to get lost in translation. Connect Figma to Claude and go from frame to responsive, production-ready code in one step.
$ claude "Fix the latest Sentry error and open a PR"
Claude claude-sonnet-4-6 · ~/projects/acme-web
● Fetching latest Sentry issues…
✔ sentry issues list --project acme-web --limit 1 --status unresolved
ISSUE-4821 TypeError: Cannot read properties of undefined (reading 'data')
Project: acme-web · Environment: production
First seen: 2026-06-15 22:14 UTC · Last seen: 2026-06-16 07:03 UTC
Events: 1,847 · Users affected: 312
Culprit: src/components/Dashboard/MetricsPanel.tsx line 94
● Fetching full stacktrace for ISSUE-4821…
TypeError: Cannot read properties of undefined (reading 'data')
at MetricsPanel.tsx:94:28 — processChartData(response)
at MetricsPanel.tsx:61:12 — useEffect(callback)
at react-dom/cjs/react-dom.development.js:22794
Most recent breadcrumb:
→ GET /api/v2/metrics?range=7d → 200 OK (response.metrics was null)
● Reading src/components/Dashboard/MetricsPanel.tsx…
Line 90–98:
90 │ const processChartData = (response: ApiResponse) => {
91 │ const { metrics } = response
92 │ // metrics can be null when no data for the selected range
93 │ return metrics.data.map((m: Metric) => ({
94 │ label: m.label,
95 │ value: m.value ?? 0,
96 │ }))
97 │ }
● Root cause identified.
API returns { metrics: null } when the selected range has no data. Line 93
dereferences metrics.data without a null guard, throwing at runtime.
● Checking git status…
On branch main · nothing to commit, working tree clean
● Creating fix branch…
$ git checkout -b fix/metrics-panel-null-data-sentry-4821
Switched to a new branch 'fix/metrics-panel-null-data-sentry-4821'
● Applying fix to src/components/Dashboard/MetricsPanel.tsx…
@@ -90,8 +90,8 @@
const processChartData = (response: ApiResponse) => {
const { metrics } = response
- return metrics.data.map((m: Metric) => ({
+ if (!metrics?.data) return []
+ return metrics.data.map((m: Metric) => ({
label: m.label,
value: m.value ?? 0,
}))
● Also updating src/components/Dashboard/MetricsPanel.tsx render guard…
@@ -61,6 +61,7 @@
useEffect(() => {
fetchMetrics(range).then((response) => {
+ if (!response?.metrics) { setChartData([]); return }
setChartData(processChartData(response))
})
}, [range])
● Running tests…
$ pnpm test --testPathPattern=MetricsPanel
PASS src/components/Dashboard/__tests__/MetricsPanel.test.tsx
✓ renders loading state (12ms)
✓ renders chart when data present (34ms)
✓ renders empty state when metrics is null (8ms)
✓ renders empty state when metrics.data is empty array (6ms)
Test Suites: 1 passed, 1 total
Tests: 4 passed, 4 total
● Committing…
$ git add src/components/Dashboard/MetricsPanel.tsx
$ git commit -m "fix(dashboard): guard against null metrics.data in MetricsPanel
Fixes Sentry ISSUE-4821 (1,847 events, 312 users).
The /api/v2/metrics endpoint returns { metrics: null } when no data
exists for the requested range. processChartData() dereferenced
metrics.data without a null check, causing a TypeError at runtime.
- Add early return guard in processChartData(): if !metrics?.data return []
- Add response guard in useEffect to short-circuit setChartData call
- Affected users would see a blank panel crash; now renders empty state
Sentry: ISSUE-4821"
[fix/metrics-panel-null-data-sentry-4821 a3f9c12] fix(dashboard): guard against null metrics.data...
1 file changed, 2 insertions(+), 1 deletion(-)
● Pushing branch and opening PR…
$ git push -u origin fix/metrics-panel-null-data-sentry-4821
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Writing objects: 100% (5/5), 1.02 KiB | 1.02 MiB/s, done.
Branch 'fix/metrics-panel-null-data-sentry-4821' set up to track remote.
$ gh pr create \
--title "fix(dashboard): guard against null metrics.data in MetricsPanel" \
--body "..." \
--base main \
--label "bug,sentry"
✓ Pull request created:
https://github.com/acme-org/acme-web/pull/1138
──────────────────────────────────────────────────
Done. PR #1138 opened · 2 lines changed · 4 tests passing
Sentry ISSUE-4821 will auto-resolve once the deploy goes out.
$
Turn a production error into a ready-to-review PR
Triaging a production error means jumping between your error monitor, your codebase, and your version control before you can write a single line of fix. Connect Sentry and GitHub to Claude and go straight from error to pull request.
Turn threads into action items
Important decisions and next steps get buried in Slack threads. Connect Slack and Asana to Claude and turn any conversation into a structured task list without leaving the thread.
Turn threads into action items
After every call, reps spend time manually logging notes and drafting follow-ups instead of focusing on the deal. Connect Granola, HubSpot, and Gmail to Claude and close out the call in minutes.
Find expiring contracts and set renewal reminders
Contracts expire quietly. By the time someone catches it, the window to renegotiate has often closed. Connect Ironclad and Google Calendar to Claude and stay ahead of every renewal date.
Reconcile card spend against the books and flag mismatches
Month-end reconciliation means manually comparing card transactions against your accounting system, line by line. Connect Brex and NetSuite to Claude and surface mismatches in one pass.
Purchase from Claude-powered partners
Apply your existing Anthropic commitment across the tools your team already uses.
Consolidated AI spend
Use your existing Anthropic commitment across multiple Claude-powered partner tools.
Enterprise-ready partners
Browse Claude-powered tools built for enterprise teams. Spend less time evaluating, more time building.
Built to scale with you
Add partners as your needs evolve. Your commitment flexes with your organization.
FAQ
The directory brings your tools into Claude. The marketplace brings Claude to you inside partner solutions, using your committed spend. Many teams use both.
Connectors give Claude direct access to a single app. Plugins combine connectors with instructions, so Claude can handle complete workflows across multiple tools without you having to set it up each time.





