{"category":{"slug":"communication","name":"Communication","icon":"pixelarticons:chat","description":"Messaging, email, video, notifications"},"tools":[{"_id":"69b2da6867df398baec12e2e","name":"Twilio","slug":"twilio","url":"https://twilio.com","description":"","logo":"","category":"Communication","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":6,"confidence":"scanner","evidence":"Twilio's REST API supports pagination and selective field queries, but lacks comprehensive field selection capabilities and response compaction options that would minimize token usage for agents.","na":false},"access":{"score":8,"confidence":"scanner","evidence":"Twilio offers a well-established REST API with official SDKs in Node.js and Python, a CLI tool, and multiple specialized libraries (Video, Sync, Conversations), though no MCP server or GraphQL option.","na":false},"auth":{"score":8,"confidence":"scanner","evidence":"Twilio supports API key authentication with granular account-level and fine-grained API key permissions, allowing agents to authenticate autonomously without OAuth or human intervention.","na":false},"speed":{"score":7,"confidence":"scanner","evidence":"Twilio's API is generally responsive with good rate limits (varies by endpoint), but signals lack explicit ETag support or conditional request details; no response time baseline provided in homepage data.","na":false},"discoverability":{"score":6,"confidence":"scanner","evidence":"Twilio has comprehensive developer documentation and structured data on the homepage, but lacks an OpenAPI spec and no llms.txt or agents.json file for machine discovery.","na":false},"reliability":{"score":7,"confidence":"scanner","evidence":"Twilio maintains consistent API versioning and documented response schemas, though signals provide no explicit evidence of idempotency key support or public status page monitoring.","na":false},"safety":{"score":6,"confidence":"scanner","evidence":"Twilio offers API keys with granular permissions and has a test/development environment, but lacks explicit dry-run modes, undo operations, or request validation tools that would prevent accidental production changes.","na":false},"reactivity":{"score":7,"confidence":"scanner","evidence":"Twilio provides webhooks for real-time events across messaging, voice, and video services, enabling reactive agent patterns, though no streaming or SSE endpoints are mentioned.","na":false}},"agentGrade":"B","agentScore":6.94,"accessMethods":{"restApi":true,"graphql":false,"cli":true,"sdk":["Node (twilio)","Python (twilio)"],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":25,"badgeEmbedCount":3,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.663Z","updatedAt":"2026-04-09T07:44:38.588Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:26:25.802Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":639827,"hasStructuredData":true,"hasDeveloperDocs":true,"hasAgentMentions":true,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":false}},"packages":{"npm":[{"name":"twilio","description":"A Twilio helper library","version":"5.13.0"},{"name":"twilio-video","description":"Twilio Video JavaScript Library","version":"2.34.0"},{"name":"twilio-sync","description":"Twilio Sync client library","version":"3.4.0"},{"name":"@twilio/conversations","description":"Twilio Conversations client library","version":"2.7.0"},{"name":"@sendgrid/client","description":"Twilio SendGrid NodeJS API client","version":"8.1.6"}],"pypi":[{"name":"twilio","version":"9.10.3","description":"Twilio API client and TwiML generator"}],"cli":true,"sdks":["Node (twilio)","Python (twilio)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"The absence of an OpenAPI specification and machine-readable discovery endpoints (llms.txt, agents.json) significantly hampers agent integration and self-discovery, requiring manual documentation parsing.","agentSummary":"Twilio is a mature, production-grade communications API with strong SDK coverage and granular authentication that enables autonomous agent usage for messaging, voice, and video workflows. However, the lack of OpenAPI/MCP support and machine-readable discovery mechanisms creates friction for modern AI agent integration."}},{"_id":"69b2d647de1ed13732dc0907","name":"Slack","slug":"slack","url":"https://slack.com","description":"Business messaging platform. Channels, DMs, file sharing, integrations, and workflow automation.","logo":"","category":"Communication","tags":["messaging","chat","collaboration","integrations"],"pricingModel":"freemium","scores":{"tokenEfficiency":{"score":6,"confidence":"scanner","evidence":"Slack's Web API supports field selection and pagination, but responses can be verbose with nested user/channel objects that agents must filter; no explicit batching endpoint for bulk operations limits efficiency.","na":false},"access":{"score":8,"confidence":"scanner","evidence":"Slack offers comprehensive REST API access, multiple official SDKs (Node.js, Python), and a detailed developer platform, though the absence of an MCP server and GraphQL API prevents a higher score.","na":false},"auth":{"score":8,"confidence":"scanner","evidence":"Slack supports both OAuth 2.0 with granular scopes and bot tokens for autonomous operation; API keys and app-level tokens enable straightforward agent authentication without human intervention.","na":false},"speed":{"score":6,"confidence":"scanner","evidence":"Slack publishes rate limits (60 requests per minute for most endpoints) and supports some conditional requests, but no ETags or caching directives are documented, and latency data is unavailable.","na":false},"discoverability":{"score":7,"confidence":"scanner","evidence":"Slack provides excellent documentation and a published llms.txt file signaling AI-agent awareness, but lacks an OpenAPI/Swagger spec and relies on web documentation rather than machine-readable schema.","na":false},"reliability":{"score":7,"confidence":"scanner","evidence":"Slack maintains API versioning and consistent response schemas, with a public status page, though explicit idempotency key support is not clearly documented for all write operations.","na":false},"safety":{"score":6,"confidence":"scanner","evidence":"Slack offers scoped OAuth permissions and test workspaces for development, but lacks explicit dry-run modes or operation-level undo capabilities; token revocation is the primary safety mechanism.","na":false},"reactivity":{"score":7,"confidence":"scanner","evidence":"Slack provides webhooks (both incoming and outgoing) and event subscriptions for real-time updates, enabling reactive agent workflows, though streaming APIs are not available.","na":false}},"agentGrade":"B","agentScore":6.94,"scannerData":{"lastScannedAt":"2026-03-12T19:18:29.181Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":220703,"hasStructuredData":false,"hasDeveloperDocs":true,"hasAgentMentions":true,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":true,"path":"/llms.txt","length":40604},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":true}},"packages":{"npm":[{"name":"@slack/logger","description":"Logging utility used by Node Slack SDK","version":"4.0.0"},{"name":"@slack/types","description":"Shared type definitions for the Node Slack SDK","version":"2.20.0"},{"name":"@slack/web-api","description":"Official library for using the Slack Platform's Web API","version":"7.14.1"},{"name":"@slack/bolt","description":"A framework for building Slack apps, fast.","version":"4.6.0"},{"name":"@slack/webhook","description":"Official library for using the Slack Platform's Incoming Webhooks","version":"7.0.7"}],"pypi":[{"name":"slack","version":"0.0.3","description":"a DI container"}],"cli":false,"sdks":["Node (@slack/logger)","Python (slack)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"The absence of an OpenAPI specification and MCP server forces agents to rely on web documentation and makes integration testing and dynamic capability discovery significantly harder.","agentSummary":"Slack is well-positioned for agent integration with strong REST API coverage, granular authentication, and webhooks for real-time reactivity, but lacks machine-readable API specs and modern integration standards like MCP. An agent can autonomously interact with Slack workspaces effectively, though documentation-dependent discovery adds friction."},"accessMethods":{"restApi":true,"graphql":false,"cli":false,"sdk":["Node (@slack/logger)","Python (slack)"],"mcpServer":"none","openApiSpec":"","llmsTxt":true,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":22,"badgeEmbedCount":3,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:05:43.822Z","updatedAt":"2026-03-24T22:43:31.427Z","__v":0},{"_id":"69b2da6867df398baec12e25","name":"Discord","slug":"discord","url":"https://discord.com","description":"","logo":"","category":"Communication","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":6,"confidence":"scanner","evidence":"Discord API supports pagination and selective field requests, but responses can be verbose with nested user/guild objects, and no explicit field selection mechanism like GraphQL reduces efficiency for token-constrained agents.","na":false},"access":{"score":7,"confidence":"scanner","evidence":"Well-established REST API with official SDKs in Node.js and Python, multiple community libraries (discord.js v14, discord-interactions), but no OpenAPI spec, GraphQL, CLI tool, or MCP server limits discoverability and integration patterns.","na":false},"auth":{"score":8,"confidence":"scanner","evidence":"Discord supports bot tokens with fine-grained permission scopes, allowing autonomous agent authentication without user interaction; tokens are simple to provision and manage, though rotation policies and token expiration are not explicitly documented.","na":false},"speed":{"score":6,"confidence":"scanner","evidence":"Discord has reasonable rate limits (10 requests/10 seconds for most endpoints), supports bulk operations for some endpoints, but no visible conditional request support (ETags) and rate limit headers lack granular concurrency guidance for agents making parallel requests.","na":false},"discoverability":{"score":5,"confidence":"scanner","evidence":"No OpenAPI spec or llms.txt file published; predictable REST patterns and extensive developer docs exist, but lack of machine-readable API specification and structured agent guidelines increase onboarding friction.","na":false},"reliability":{"score":7,"confidence":"scanner","evidence":"Discord has API versioning (v9/v10) and generally consistent response schemas, but lacks documented idempotency key support for write operations and no visible public status page with SLA commitments.","na":false},"safety":{"score":6,"confidence":"scanner","evidence":"Permission scopes provide granular access control (no blanket admin tokens required), but no sandbox/test mode for non-production testing, no dry-run capability for destructive operations (delete message, ban user), and limited undo mechanisms.","na":false},"reactivity":{"score":8,"confidence":"scanner","evidence":"Discord Gateway provides WebSocket streaming for real-time events (messages, presence, guild updates), enabling reactive agent behavior; webhooks support outbound event delivery, making this a strong signal for event-driven agent architectures.","na":false}},"agentGrade":"B","agentScore":6.56,"accessMethods":{"restApi":true,"graphql":false,"cli":false,"sdk":["Node (discord-api-types)","Python (discord)"],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":20,"badgeEmbedCount":3,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.660Z","updatedAt":"2026-03-24T23:59:41.371Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:25:53.374Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":160183,"hasStructuredData":true,"hasDeveloperDocs":true,"hasAgentMentions":false,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":false}},"packages":{"npm":[{"name":"discord-api-types","description":"Discord API typings that are kept up to date for use in bot library creation.","version":"0.38.42"},{"name":"discord-interactions","description":"Helpers for discord interactions","version":"4.4.0"},{"name":"maath","description":"[![Discord Shield](https://img.shields.io/discord/740090768164651008?style=flat&colorA=000000&colorB=000000&label=&logo=discord&logoColor=ffffff)](https://discord.gg/poimandres)","version":"0.10.8"},{"name":"discord.js","description":"A powerful library for interacting with the Discord API","version":"14.25.1"},{"name":"@chat-adapter/discord","description":"Discord adapter for chat","version":"4.20.1"}],"pypi":[{"name":"discord","version":"2.3.2","description":"A mirror package for discord.py. Please install that instead."}],"cli":false,"sdks":["Node (discord-api-types)","Python (discord)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"Lack of an OpenAPI specification and published agent integration guidelines (no llms.txt or agents.json) makes it difficult for AI agents to self-discover and validate the API surface without manual documentation review.","agentSummary":"Discord has a mature, well-documented REST API with strong authentication, real-time event streaming via WebSocket, and official SDKs, making it suitable for building bots and reactive agents. However, the absence of machine-readable API specs, sandbox mode, and idempotency guarantees limits its suitability for mission-critical autonomous agent use cases."}},{"_id":"69b2da6867df398baec12e31","name":"SendGrid","slug":"sendgrid","url":"https://sendgrid.com","description":"","logo":"","category":"Communication","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":6,"confidence":"scanner","evidence":"SendGrid's API likely supports standard pagination and filtering, but without an OpenAPI spec or visible documentation on field selection and response compaction, token efficiency cannot be verified as best-in-class.","na":false},"access":{"score":7,"confidence":"scanner","evidence":"Strong SDK coverage (Node.js, Python), CLI support, and official helpers/clients provide good programmatic access, but the absence of an MCP server and OpenAPI spec limits discoverability and integration ease.","na":false},"auth":{"score":8,"confidence":"scanner","evidence":"API key authentication is straightforward and agent-friendly with no OAuth requirement, and SendGrid supports scoped API keys for permissions granularity, enabling autonomous agent operation.","na":false},"speed":{"score":6,"confidence":"scanner","evidence":"No response time data collected, rate limits not visible in signals, and no evidence of conditional requests (ETags) or explicit batching support documented, limiting confidence in speed optimization.","na":false},"discoverability":{"score":4,"confidence":"scanner","evidence":"Critical gap: no OpenAPI spec found, no .well-known/llms.txt or agents.json, and robots.txt blocks agents, making it difficult for AI systems to discover and understand the API surface independently.","na":false},"reliability":{"score":6,"confidence":"scanner","evidence":"SendGrid is a mature service likely supporting idempotency keys and versioning (standard for email APIs), but no explicit evidence in signals about consistency guarantees or status page.","na":false},"safety":{"score":7,"confidence":"scanner","evidence":"API keys can be scoped and rotated, and SendGrid provides a test/sandbox mode for email testing; however, no explicit dry-run or undo mechanisms are evident for sent emails.","na":false},"reactivity":{"score":7,"confidence":"scanner","evidence":"SendGrid supports webhooks for event notifications (delivery, bounce, open events), enabling reactive agent workflows, though no mention of streaming or SSE alternatives.","na":false}},"agentGrade":"B","agentScore":6.38,"accessMethods":{"restApi":true,"graphql":false,"cli":true,"sdk":["Node (@sendgrid/helpers)","Python (sendgrid)"],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":19,"badgeEmbedCount":3,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.664Z","updatedAt":"2026-03-24T21:29:50.739Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:26:37.011Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":503930,"hasStructuredData":false,"hasDeveloperDocs":true,"hasAgentMentions":true,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":false}},"packages":{"npm":[{"name":"@sendgrid/helpers","description":"Twilio SendGrid NodeJS internal helpers","version":"8.0.0"},{"name":"@sendgrid/mail","description":"Twilio SendGrid NodeJS mail service","version":"8.1.6"},{"name":"@sendgrid/client","description":"Twilio SendGrid NodeJS API client","version":"8.1.6"},{"name":"nodemailer-sendgrid","description":"SendGrid transport object for Nodemailer.","version":"1.0.3"},{"name":"@sendgrid/eventwebhook","description":"Twilio SendGrid NodeJS Event Webhook","version":"8.0.0"}],"pypi":[{"name":"sendgrid","version":"6.12.5","description":"Twilio SendGrid library for Python"}],"cli":true,"sdks":["Node (@sendgrid/helpers)","Python (sendgrid)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"Absence of an OpenAPI specification and robots.txt that blocks agents create a significant discoverability barrier, forcing developers to rely on manual documentation rather than enabling agents to self-discover the API.","agentSummary":"SendGrid is a well-established email service with solid API access, straightforward API key auth, and good SDK coverage, making it suitable for agent integration with moderate friction. However, missing OpenAPI specs and agent-friendly metadata significantly impede autonomous discovery and integration, requiring pre-configured knowledge or manual setup."}},{"_id":"69b2da6867df398baec12e3a","name":"Freshdesk","slug":"freshdesk","url":"https://freshdesk.com","description":"","logo":"","category":"Communication","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":6,"confidence":"scanner","evidence":"Freshdesk offers a REST API with pagination support and filtering capabilities, but no explicit field selection, GraphQL alternative, or response compression mechanisms are evident from the signals.","na":false},"access":{"score":7,"confidence":"scanner","evidence":"Multiple access methods available including REST API, Node.js SDKs (5 npm packages), CLI support, and developer documentation, though no OpenAPI spec or MCP server was discovered.","na":false},"auth":{"score":8,"confidence":"scanner","evidence":"API key-based authentication is standard for Freshdesk REST API enabling autonomous agent authentication without OAuth or human-in-the-loop requirements.","na":false},"speed":{"score":6,"confidence":"scanner","evidence":"No response time data collected and rate limits not documented in signals; standard REST API patterns suggest adequate performance for typical use but no exceptional speed features identified.","na":false},"discoverability":{"score":5,"confidence":"scanner","evidence":"Developer documentation exists and homepage mentions agents, but no OpenAPI spec found, no .well-known/llms.txt or agents.json files, limiting automated discovery and integration.","na":false},"reliability":{"score":6,"confidence":"scanner","evidence":"As a mature SaaS platform Freshdesk likely has API versioning and consistent schemas, but no status page or idempotency guarantees are evident in the collected signals.","na":false},"safety":{"score":5,"confidence":"scanner","evidence":"No explicit sandbox environment, dry-run capabilities, or test mode signals detected; API key scoping capabilities are unknown and no undo/rollback mechanisms are documented.","na":false},"reactivity":{"score":6,"confidence":"scanner","evidence":"Freshdesk supports webhooks for event-driven updates, but no streaming, SSE, or Server-Sent Events capabilities are indicated in the available signals.","na":false}},"agentGrade":"B","agentScore":6.3,"accessMethods":{"restApi":true,"graphql":false,"cli":true,"sdk":["Node (freshdesk-api)"],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":21,"badgeEmbedCount":4,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.666Z","updatedAt":"2026-03-24T22:41:22.488Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:27:12.456Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":503662,"hasStructuredData":true,"hasDeveloperDocs":true,"hasAgentMentions":true,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":false,"hasSitemap":true}},"packages":{"npm":[{"name":"freshdesk-api","description":"Node wrapper for Freshdesk v2 API","version":"3.1.0"},{"name":"@freshworks/freshdesk","description":"Freshdesk SDK - a javaScript SDK for Freshdesk APIs","version":"0.0.1"},{"name":"@squidcloud/freshdesk-client","description":"Squid Freshdesk Client - SDK for interacting with the Freshdesk connector","version":"1.0.450"},{"name":"freshdesk-messaging-facade","description":"A faster Freshdesk Messaging (Freshchat) embed","version":"1.3.2"},{"name":"freshdesk-client","description":"node.js freshdesk api sdk client","version":"1.9.1"}],"pypi":[],"cli":true,"sdks":["Node (freshdesk-api)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"Absence of an OpenAPI specification and missing .well-known/llms.txt and agents.json files significantly hampers agent discoverability and automated integration with AI platforms.","agentSummary":"Freshdesk provides solid REST API access with multiple SDKs and autonomous API key authentication, making it reasonably approachable for agents. However, missing modern AI-agent signaling (OpenAPI, llms.txt) and unclear sandbox/safety features limit its overall agent-readiness compared to best-in-class platforms."}},{"_id":"69b2da6867df398baec12e34","name":"Intercom","slug":"intercom","url":"https://intercom.com","description":"","logo":"","category":"Communication","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":6,"confidence":"scanner","evidence":"Intercom provides an API with standard pagination and filtering, but no OpenAPI spec is publicly documented, making it difficult to assess field selection capabilities or optimize request payloads for token efficiency.","na":false},"access":{"score":7,"confidence":"scanner","evidence":"Intercom offers REST API with official SDKs in Node.js and Python, a CLI tool, and multiple npm packages for integration, but lacks an MCP server and OpenAPI specification for automated discovery.","na":false},"auth":{"score":8,"confidence":"scanner","evidence":"Intercom supports API key authentication enabling autonomous agent authentication without human intervention, with scoped access patterns typical of enterprise messaging platforms.","na":false},"speed":{"score":6,"confidence":"scanner","evidence":"Homepage response time data is unavailable and rate limits are not documented in the collected signals, making it impossible to assess latency or concurrent request handling characteristics.","na":false},"discoverability":{"score":4,"confidence":"scanner","evidence":"No OpenAPI specification is available, developer documentation is not linked from the homepage, and the llms.txt file provides only basic information, significantly limiting automated API discovery and integration.","na":false},"reliability":{"score":6,"confidence":"scanner","evidence":"As a mature enterprise platform, Intercom likely has versioning and consistent schemas, but without public API documentation or status page information in the signals, idempotency key support cannot be confirmed.","na":false},"safety":{"score":5,"confidence":"scanner","evidence":"The signals provide no evidence of sandbox environments, dry-run modes, or operation undo capabilities, leaving significant gaps in safety mechanisms for autonomous agent operations.","na":false},"reactivity":{"score":7,"confidence":"scanner","evidence":"As a messaging platform, Intercom likely supports webhooks for real-time notifications, enabling reactive agent behavior, though specific webhook documentation is not visible in the collected signals.","na":false}},"agentGrade":"B","agentScore":6.22,"accessMethods":{"restApi":false,"graphql":false,"cli":true,"sdk":["Node (@types/intercom-web)","Python (Intercom)"],"mcpServer":"none","openApiSpec":"","llmsTxt":true,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":26,"badgeEmbedCount":3,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.665Z","updatedAt":"2026-04-01T08:56:15.756Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:26:46.505Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":58238,"hasStructuredData":true,"hasDeveloperDocs":false,"hasAgentMentions":true,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":true,"path":"/llms.txt","length":5044},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":true}},"packages":{"npm":[{"name":"@types/intercom-web","description":"TypeScript definitions for intercom-web","version":"2.8.26"},{"name":"intercom-client","description":"Official Node bindings to the Intercom API","version":"7.0.3"},{"name":"@intercom/messenger-js-sdk","description":"Beta - Npm package for Intercom Messenger Client SDK","version":"0.0.18"},{"name":"react-use-intercom","description":"React Intercom integration without the hassle, driven by hooks.","version":"5.5.0"},{"name":"@capacitor-community/intercom","description":"Enable Intercom features for Capacitor apps","version":"7.2.0"}],"pypi":[{"name":"Intercom","version":"0.2.3","description":"Messaging system for Home automation"}],"cli":true,"sdks":["Node (@types/intercom-web)","Python (Intercom)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"The absence of an OpenAPI specification and comprehensive public API documentation makes it extremely difficult for AI agents to autonomously discover endpoints, parameters, and response schemas.","agentSummary":"Intercom supports programmatic access via REST API and official SDKs with autonomous authentication, but lacks critical discoverability features like OpenAPI specs and adequate developer documentation that would enable seamless agent integration. The presence of an llms.txt file and agent mentions suggest some awareness of AI-agent use cases, but foundational API documentation gaps significantly hamper autonomous operation."}},{"_id":"69b2da6867df398baec12e28","name":"Microsoft Teams","slug":"microsoft-teams","url":"https://teams.microsoft.com","description":"","logo":"","category":"Communication","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":6,"confidence":"scanner","evidence":"Microsoft Teams SDKs support selective API calls and batching through the Graph API, but lack explicit field selection capabilities and response compaction features, resulting in potentially verbose payloads.","na":false},"access":{"score":7,"confidence":"scanner","evidence":"Multiple official SDKs available (@microsoft/teams-ai, @microsoft/teamsfx) and Graph API access enable programmatic integration, but absence of MCP server and CLI tools limits accessibility compared to best-in-class solutions.","na":false},"auth":{"score":7,"confidence":"scanner","evidence":"Teams supports API key authentication and OAuth scopes for delegated/application permissions, enabling autonomous agent authentication, though the complexity of permission scoping and multi-tenant scenarios adds friction.","na":false},"speed":{"score":6,"confidence":"scanner","evidence":"Graph API provides standard rate limiting and supports conditional requests, but Teams webhooks introduce potential latency for real-time updates and no explicit mention of concurrent request optimization.","na":false},"discoverability":{"score":5,"confidence":"scanner","evidence":"No OpenAPI spec found, robots.txt blocks agents, no llms.txt or agents.json, and homepage lacks structured data, making it difficult for agents to independently discover available endpoints and capabilities.","na":false},"reliability":{"score":6,"confidence":"scanner","evidence":"Graph API uses versioning (v1.0, beta) and maintains consistent schemas, but lack of explicit idempotency key documentation and no visible status page monitoring reduce confidence in error recovery.","na":false},"safety":{"score":5,"confidence":"scanner","evidence":"Microsoft Teams supports scoped permissions and app-only auth for restricted access, but lacks explicit test/sandbox environments, dry-run capabilities, or undo operations for destructive actions.","na":false},"reactivity":{"score":7,"confidence":"scanner","evidence":"Teams supports webhooks for real-time notifications and change subscriptions through Graph API, enabling efficient event-driven agent workflows, though streaming/SSE options are not explicitly documented.","na":false}},"agentGrade":"B","agentScore":6.18,"accessMethods":{"restApi":false,"graphql":false,"cli":false,"sdk":[],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":21,"badgeEmbedCount":4,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.661Z","updatedAt":"2026-04-01T08:56:00.352Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:26:03.113Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":240264,"hasStructuredData":false,"hasDeveloperDocs":false,"hasAgentMentions":false,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":false}},"packages":{"npm":[{"name":"@microsoft/teams-ai","description":"SDK focused on building AI based applications for Microsoft Teams.","version":"1.7.4"},{"name":"@microsoft/teamsfx","description":"Microsoft Teams Framework for Node.js and browser.","version":"4.0.3"},{"name":"ms-teams-webhook","description":"Library for using the Microsoft Teams Incomming Webhooks","version":"2.2.2"},{"name":"@chat-adapter/teams","description":"Microsoft Teams adapter for chat","version":"4.20.1"},{"name":"teams-ctrf","description":"Send test results messages to Microsoft Teams","version":"0.0.6"}],"pypi":[],"cli":false,"sdks":[]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"Complete absence of OpenAPI specification and agent-discovery signals (llms.txt, agents.json) combined with robots.txt blocking makes autonomous agent integration unnecessarily difficult without manual documentation review.","agentSummary":"Microsoft Teams offers solid programmatic access through official SDKs and Graph API with authentication and webhook support, but poor API discoverability and lack of agent-specific signals significantly hamper autonomous integration. Agents would require substantial manual setup and documentation reading to effectively work with Teams without MCP server support."}},{"_id":"69b2da6867df398baec12e37","name":"Zendesk","slug":"zendesk","url":"https://zendesk.com","description":"","logo":"","category":"Communication","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":6,"confidence":"scanner","evidence":"Zendesk API supports pagination and field filtering, but no OpenAPI spec available to verify response compactness or batching capabilities, suggesting adequate but not optimized token efficiency.","na":false},"access":{"score":7,"confidence":"scanner","evidence":"Multiple access methods available (REST API, CLI, SDKs in Node/Python, React integrations) with strong ecosystem support, but the absence of GraphQL and MCP server limits it from reaching 8+.","na":false},"auth":{"score":7,"confidence":"scanner","evidence":"Zendesk supports API key authentication which enables autonomous agent access without OAuth friction, though the signals don't confirm support for scoped permissions or granular token control.","na":false},"speed":{"score":6,"confidence":"scanner","evidence":"Homepage response time not captured in data, and no rate limit or concurrent request information available; pagination support is present but conditional requests (ETags) not confirmed.","na":false},"discoverability":{"score":5,"confidence":"scanner","evidence":"Developer docs are present and the tool has a large install base, but the absence of an OpenAPI spec, llms.txt, or agents.json means agents must rely on manual documentation and URL pattern inference.","na":false},"reliability":{"score":6,"confidence":"scanner","evidence":"Zendesk is a mature platform with stable SDKs (node-zendesk maintained 10+ years), suggesting good versioning and consistency, but no signals confirm idempotency keys or explicit status page details.","na":false},"safety":{"score":5,"confidence":"scanner","evidence":"No evidence of sandbox mode, dry-run capabilities, or operation reversibility in the collected signals; API key authentication provides some isolation but lacks granular scoping confirmation.","na":false},"reactivity":{"score":5,"confidence":"scanner","evidence":"No mention of webhooks, streaming, or SSE support in the collected signals; agents would likely rely on polling, which is less efficient for real-time responsiveness.","na":false}},"agentGrade":"B","agentScore":6.1,"accessMethods":{"restApi":true,"graphql":false,"cli":true,"sdk":["Node (react-zendesk)","Python (Zendesk)"],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":34,"badgeEmbedCount":4,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.666Z","updatedAt":"2026-04-03T05:02:54.517Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:26:58.761Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":711662,"hasStructuredData":false,"hasDeveloperDocs":true,"hasAgentMentions":true,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":true}},"packages":{"npm":[{"name":"react-zendesk","description":"A component enable Zendesk in your React application","version":"0.1.13"},{"name":"node-zendesk","description":"A trusted Zendesk API client library for Node.js and the browser, lovingly maintained for over 10 years.","version":"6.0.1"},{"name":"react-native-zendesk-messaging","description":"Zendesk messaging SDK for React Native","version":"0.3.2"},{"name":"@zendesk/zcli","description":"Zendesk CLI is a single command line tool for all your zendesk needs","version":"1.0.0-beta.55"},{"name":"react-use-zendesk","description":"React Zendesk Web Widget integration written in typescript","version":"2.0.0"}],"pypi":[{"name":"Zendesk","version":"1.1.1","description":"Python API Wrapper for Zendesk"}],"cli":true,"sdks":["Node (react-zendesk)","Python (Zendesk)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"Absence of OpenAPI specification and machine-readable API documentation (no llms.txt or agents.json) forces agents to depend on manually-maintained documentation and URL pattern discovery.","agentSummary":"Zendesk offers solid programmatic access through REST APIs and multiple SDKs with API key authentication, enabling autonomous agent integration. However, lack of API specification, MCP server support, and webhook infrastructure limits discoverability and real-time reactivity compared to modern agent-first platforms."}},{"_id":"69b2da6867df398baec12e2b","name":"Zoom","slug":"zoom","url":"https://zoom.us","description":"","logo":"","category":"Communication","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":5,"confidence":"scanner","evidence":"No evidence of field selection, sparse pagination details, or response optimization strategies documented in collected signals; typical enterprise conferencing APIs return large payloads.","na":false},"access":{"score":6,"confidence":"scanner","evidence":"Zoom has a REST API with Node and Python SDKs available, but no OpenAPI spec found, no CLI tool, and critically no MCP server for agent integration.","na":false},"auth":{"score":7,"confidence":"scanner","evidence":"Zoom supports OAuth 2.0 and JWT authentication for programmatic access, allowing autonomous agent authentication with scoped permissions, though the mechanism is standard enterprise auth without exceptional granularity.","na":false},"speed":{"score":5,"confidence":"scanner","evidence":"Homepage response time not captured; no evidence of rate limit details, ETags, conditional requests, or concurrency support in collected signals.","na":false},"discoverability":{"score":4,"confidence":"scanner","evidence":"No OpenAPI spec found, no llms.txt or agents.json files, homepage mentions agents but lacks structured API documentation discovery; robots.txt blocks agents indicating friction.","na":false},"reliability":{"score":6,"confidence":"scanner","evidence":"Enterprise tool with likely API versioning and schema consistency, but no idempotency key information, status page details, or version management evidence in collected signals.","na":false},"safety":{"score":5,"confidence":"scanner","evidence":"OAuth scopes provide some access control, but no evidence of sandbox mode, test environments, dry-run capabilities, or explicit undo operations for meeting/user modifications.","na":false},"reactivity":{"score":6,"confidence":"scanner","evidence":"Zoom likely supports webhooks for meeting events as a mature platform, but no streaming, Server-Sent Events, or polling efficiency optimizations documented in collected signals.","na":false}},"agentGrade":"C+","agentScore":5.52,"accessMethods":{"restApi":true,"graphql":false,"cli":false,"sdk":["Node (@types/d3-zoom)","Python (zoom)"],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":19,"badgeEmbedCount":3,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.662Z","updatedAt":"2026-03-24T22:44:11.750Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:26:13.073Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":421255,"hasStructuredData":true,"hasDeveloperDocs":true,"hasAgentMentions":true,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":true}},"packages":{"npm":[{"name":"@types/d3-zoom","description":"TypeScript definitions for d3-zoom","version":"3.0.8"},{"name":"d3-zoom","description":"Pan and zoom SVG, HTML or Canvas using mouse or touch input.","version":"3.0.0"},{"name":"@visx/zoom","description":"visx zoom","version":"3.12.0"},{"name":"victory-zoom-container","description":"Interactive Zoom Component for Victory","version":"37.3.6"},{"name":"react-zoom-pan-pinch","description":"Zoom and pan html elements in easy way","version":"3.7.0"}],"pypi":[{"name":"zoom","version":"0.0.15","description":"Distributed project management"}],"cli":false,"sdks":["Node (@types/d3-zoom)","Python (zoom)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"Absence of an OpenAPI specification and MCP server, combined with robots.txt blocking agents, creates significant friction for AI agent discovery and integration compared to API-first platforms.","agentSummary":"Zoom has foundational REST API access with OAuth authentication suitable for agent use, but lacks modern agent integration patterns (MCP, OpenAPI) and discoverability signals. The platform requires manual API exploration and lacks safety/sandbox features essential for autonomous agent operations."}},{"_id":"69b2da6867df398baec12e3d","name":"Crisp","slug":"crisp","url":"https://crisp.chat","description":"","logo":"","category":"Communication","tags":[],"pricingModel":"unknown","scores":{"tokenEfficiency":{"score":5,"confidence":"scanner","evidence":"No OpenAPI spec, field selection capabilities, or pagination details available; standard REST APIs often return full objects without filtering options, making responses potentially verbose for agent use.","na":false},"access":{"score":6,"confidence":"scanner","evidence":"Official SDKs available for Node and Python with a REST API, but no OpenAPI spec, MCP server, GraphQL, or CLI tool limits discoverability and integration options for agents.","na":false},"auth":{"score":7,"confidence":"scanner","evidence":"API key authentication is standard for REST APIs and likely supports autonomous agent authentication, but without API documentation visible, scoped permissions and token constraints cannot be verified.","na":false},"speed":{"score":4,"confidence":"scanner","evidence":"Homepage response time is unavailable (null), and no rate limit information, ETag support, or concurrency details are documented; lack of these signals suggests standard but unoptimized performance.","na":false},"discoverability":{"score":3,"confidence":"scanner","evidence":"No OpenAPI spec, no llms.txt or agents.json files, and robots.txt actively blocks agents; developer docs exist but accessibility and API documentation quality cannot be verified from signals.","na":false},"reliability":{"score":5,"confidence":"scanner","evidence":"SDK version numbers suggest active maintenance, but no API versioning strategy, idempotency key documentation, or status page information is available.","na":false},"safety":{"score":4,"confidence":"scanner","evidence":"No evidence of sandbox/test mode, dry-run capabilities, undo operations, or granular token scoping; the tool appears to be production-focused without agent-specific safety guardrails.","na":false},"reactivity":{"score":5,"confidence":"scanner","evidence":"Chat tool likely supports webhooks for real-time events (messaging is reactive by nature), but no explicit documentation of webhook availability, SSE, streaming, or polling optimization is visible.","na":false}},"agentGrade":"C+","agentScore":5.06,"accessMethods":{"restApi":true,"graphql":false,"cli":false,"sdk":["Node (crisp-sdk-web)","Python (crisp)"],"mcpServer":"none","openApiSpec":"","llmsTxt":false,"agentsJson":false},"authInfo":{"methods":["unknown"],"scopedPermissions":false,"humanRequired":true},"reviewCount":0,"avgReviewScore":0,"viewCount":22,"badgeEmbedCount":3,"agentSkillSlugs":[],"alternatives":[],"claimed":false,"status":"graded","createdAt":"2026-03-12T15:23:20.667Z","updatedAt":"2026-04-01T08:56:01.921Z","__v":0,"scannerData":{"lastScannedAt":"2026-03-12T19:27:21.831Z","scanVersion":1,"rawSignals":{"homepage":{"status":200,"contentLength":330720,"hasStructuredData":true,"hasDeveloperDocs":true,"hasAgentMentions":true,"responseTimeMs":null},"openapi":{"found":false},"wellKnown":{"llmsTxt":{"found":false},"agentsJson":{"found":false},"robotsTxt":{"found":true,"blocksAgents":true,"hasSitemap":true}},"packages":{"npm":[{"name":"crisp-sdk-web","description":"Include Crisp chat widget inside web frameworks.","version":"1.0.27"},{"name":"crisp-api","description":"Crisp API wrapper for Node - official, maintained by Crisp","version":"10.8.6"},{"name":"react-native-crisp-chat-sdk","description":"React-Native bridge for Crisp chat iOS and Android SDK","version":"0.23.1"},{"name":"@capgo/capacitor-crisp","description":"Crisp native SDK for capacitor","version":"8.0.21"},{"name":"eslint-plugin-crisp","description":"Custom ESLint Rules for Crisp","version":"1.3.6"}],"pypi":[{"name":"crisp","version":"2.2","description":"Camera-to-IMU calibration and synchronization toolkit"}],"cli":false,"sdks":["Node (crisp-sdk-web)","Python (crisp)"]},"mcp":{"found":false,"type":"none","servers":[]}},"biggestFriction":"The absence of an OpenAPI specification and agent-friendly metadata (llms.txt, agents.json) combined with robots.txt blocking agents severely limits discoverability and automated integration.","agentSummary":"Crisp is a messaging platform with functional REST APIs and maintained SDKs, but lacks agent-specific optimizations like OpenAPI specs, MCP servers, and explicit safety guardrails. While autonomous authentication is likely possible, the tool requires manual documentation review and integration effort, making it moderately suitable for agents rather than agent-first."}}]}