{"slug":"slack-2rr7bw","companyName":"Slack","domain":"slack.com","url":"https://slack.com","headline":"A browser-blocking policy that contradicts published AI crawler permissions stops assistant shopping, while pricing remains sales-gated and API integration requires hand-written clients.","compositeScore":51,"humanScore":68,"agentScore":34,"doorGap":34,"humanMeasured":4,"agentMeasured":6,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":false,"depth":"free","siteClass":"b2b_saas","scannerVersion":12,"scannedAt":"2026-09-08T13:46:51.245Z","unlocked":false,"mission":{"steps":[{"url":"https://slack.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://slack.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://slack.com","outcome":"missing","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://slack.com/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://slack.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://slack.com/.well-known/security.txt","outcome":"ok","purpose":"find a contact route for machines"},{"url":"https://slack.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://slack.com/.well-known/ai-plugin.json","outcome":"ok","purpose":"find an agent plugin manifest"},{"url":"https://slack.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://slack.com","outcome":"missing","purpose":"read the homepage as data rather than as a page"},{"url":"https://slack.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://slack.com","outcome":"ok","purpose":"read the developer documentation"},{"url":"https://slack.com/intl/en-gb/pricing","outcome":"missing","purpose":"read the prices without running JavaScript"},{"url":"https://slack.com","outcome":"ok","purpose":"find a comparison page worth citing"},{"url":"https://slack.com/intl/en-gb/get-started?entry_point=page_home#/createnew","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 9 of 15 requests, but could not ask whether the door opens for requests carrying the AI crawlers' names. It came up empty on 5 other checks too. That is enough missing for a machine to give up before it reaches a purchase."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":35,"summary":"Slack publishes a sitemap with 3112 URLs, llms.txt, and an ai-plugin.json manifest, and welcomes 14 named AI crawlers in robots.txt. However, a real browser is refused or served a stripped page with only 79 characters rendered, which is.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":24,"summary":"API documentation at api.slack.com/ includes authentication details and code samples, but no machine-readable specification exists at any of the 6 standard OpenAPI paths checked. Clients must be written by hand from prose documentation.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":12,"summary":"The pricing page at /intl/en-gb/pricing publishes no prices in raw HTML or after rendering. The page is entirely quote-gated, routing evaluators to a sales contact form.","evidence":{"locked":true,"count":1}},{"key":"agent_aware_instrumentation","audience":"agent","score":23,"summary":"Slack publishes an ai-plugin.json manifest at /.well-known/ai-plugin.json, signalling awareness of agent integration. However, no MCP manifest exists at any of the 3 standard paths checked (/.well-known/mcp.json, /.well-known/mcp.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":85,"summary":"Security.txt is published at /.well-known/security.txt with a contact route for machines. The homepage responds to automated HTTP requests with a 200 status in 705ms.","evidence":{"locked":true,"count":2}},{"key":"commercial_rails","audience":"agent","score":25,"summary":"A self-serve signup form is reachable 2 steps from the homepage with only 1 required field (email address), allowing trial access without a sales call.","evidence":{"locked":true,"count":2}},{"key":"steps_to_first_value","audience":"human","score":80,"summary":"The primary call to action, 'Get started', reaches a signup form in 2 steps from the homepage. The form contains 1 field and requires only the email address, allowing rapid trial access.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":85,"summary":"The signup form walk counted 1 total field and 1 required field. The single required input is email address. This minimal requirement reduces friction for human and agent signup.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":65,"summary":"No verification requirement appears on the signup page itself. The walk did not observe email confirmation, phone verification, or CAPTCHA at the form stage. Verification may occur after submission, but the observed form presents no wall.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":41,"summary":"Of 8 inputs on the signup page, only 1 carries validation rules. The form includes 4 live regions and no inline error containers, limiting the ability to recover from input mistakes before submission.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"The pricing page publishes no prices and routes all evaluators to a sales contact form, preventing agents and humans from computing total cost before engagement.","dimensionKey":"pricing_legibility","evidence":{"locked":true,"count":3},"fix":null},{"rank":2,"title":"The network edge refuses 1 declared AI crawler that robots.txt welcomes, so the published policy and the actual behaviour disagree.","dimensionKey":"machine_discoverability","evidence":{"locked":true,"count":2},"fix":null},{"rank":3,"title":"No OpenAPI specification is published at any standard path, forcing developers and agents to write API clients by hand from prose documentation.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":3},"fix":null}],"fixArtifacts":{"locked":true,"count":5,"summaries":[{"id":"pricing_publish:pricing-md","kind":"pricing_publish","title":"A pricing page that states a price","path":"/pricing.md","effort":{"minutes":60,"role":"owner"},"outcome":{"dimension":"pricing_legibility","external":["Assistants can quote a starting price instead of routing the buyer to a call."]}},{"id":"bot_wall_guidance:notes","kind":"bot_wall_guidance","title":"Let verified assistants through","path":"notes","effort":{"minutes":60,"role":"developer"},"outcome":{"dimension":"machine_discoverability","external":["Assistant shopping and search crawlers reach the product, pricing and policy pages a buyer asks about."]}},{"id":"robots_search_bots:robots-txt","kind":"robots_search_bots","title":"robots.txt rules for AI crawlers","path":"/robots.txt","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["The assistants' search crawlers read and cite the site to buyers; training stays the owner's decision."]}},{"id":"interfaces_note:notes","kind":"interfaces_note","title":"Machine interfaces: where you stand","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"agent_aware_instrumentation","external":["The developer surface is built in an order where every published pointer answers."]}},{"id":"organization_jsonld:homepage","kind":"organization_jsonld","title":"Organization structured data","path":"homepage","effort":{"minutes":15,"role":"developer"},"outcome":{"dimension":"machine_discoverability","external":["Search and assistant crawlers read the company entity from the homepage rather than inferring it."]}}]},"feedback":{"endpoint":"/api/feedback","mcpTool":"rate_fix","targets":[{"type":"report","key":"report"},{"type":"dimension","dimensionKey":"machine_discoverability","key":"dimension:machine_discoverability"},{"type":"dimension","dimensionKey":"programmatic_onboarding","key":"dimension:programmatic_onboarding"},{"type":"dimension","dimensionKey":"pricing_legibility","key":"dimension:pricing_legibility"},{"type":"dimension","dimensionKey":"agent_aware_instrumentation","key":"dimension:agent_aware_instrumentation"},{"type":"dimension","dimensionKey":"machine_fetchable_trust","key":"dimension:machine_fetchable_trust"},{"type":"dimension","dimensionKey":"commercial_rails","key":"dimension:commercial_rails"},{"type":"dimension","dimensionKey":"steps_to_first_value","key":"dimension:steps_to_first_value"},{"type":"dimension","dimensionKey":"required_fields","key":"dimension:required_fields"},{"type":"dimension","dimensionKey":"verification_walls","key":"dimension:verification_walls"},{"type":"dimension","dimensionKey":"error_recovery","key":"dimension:error_recovery"},{"type":"issue","dimensionKey":"pricing_legibility","checkId":"pricing_nojs","key":"issue:pricing_legibility:pricing_nojs"},{"type":"issue","dimensionKey":"machine_discoverability","checkId":"agent_ua_access","key":"issue:machine_discoverability:agent_ua_access"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":null,"key":"issue:programmatic_onboarding:-"}]}}