[{"data":1,"prerenderedAt":3567},["ShallowReactive",2],{"navigation":3,"integrations-catalog":195,"\u002Fcoding-agents\u002Fplatform-mcp":2729,"\u002Fcoding-agents\u002Fplatform-mcp-surround":3562},[4,16,43,65,83,119,156,178],{"title":5,"path":6,"stem":7,"children":8,"icon":15},"Getting started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,11],{"title":10,"path":6,"stem":7},"Quickstart",{"title":12,"path":13,"stem":14},"Core concepts","\u002Fgetting-started\u002Fconcepts","1.getting-started\u002F2.concepts",false,{"title":17,"path":18,"stem":19,"children":20,"icon":15},"Context","\u002Fcontext","2.context\u002F1.index",[21,23,27,31,35,39],{"title":22,"path":18,"stem":19},"Overview",{"title":24,"path":25,"stem":26},"Integrations","\u002Fcontext\u002Fintegrations","2.context\u002F2.integrations",{"title":28,"path":29,"stem":30},"Clouds","\u002Fcontext\u002Fclouds","2.context\u002F3.clouds",{"title":32,"path":33,"stem":34},"Topology","\u002Fcontext\u002Ftopology","2.context\u002F4.topology",{"title":36,"path":37,"stem":38},"Repositories","\u002Fcontext\u002Frepositories","2.context\u002F5.repositories",{"title":40,"path":41,"stem":42},"Memories","\u002Fcontext\u002Fmemories","2.context\u002F6.memories",{"title":44,"path":45,"stem":46,"children":47,"icon":15},"Detection","\u002Fdetection","3.detection\u002F1.index",[48,49,53,57,61],{"title":22,"path":45,"stem":46},{"title":50,"path":51,"stem":52},"Issues","\u002Fdetection\u002Fissues","3.detection\u002F2.issues",{"title":54,"path":55,"stem":56},"Change intelligence","\u002Fdetection\u002Fchange-intelligence","3.detection\u002F3.change-intelligence",{"title":58,"path":59,"stem":60},"Advisories","\u002Fdetection\u002Fadvisories","3.detection\u002F4.advisories",{"title":62,"path":63,"stem":64},"Scans","\u002Fdetection\u002Fscans","3.detection\u002F5.scans",{"title":66,"path":67,"stem":68,"children":69,"icon":15},"Investigation","\u002Finvestigation","4.investigation\u002F1.index",[70,71,75,79],{"title":22,"path":67,"stem":68},{"title":72,"path":73,"stem":74},"Threads","\u002Finvestigation\u002Fthreads","4.investigation\u002F2.threads",{"title":76,"path":77,"stem":78},"Investigations","\u002Finvestigation\u002Finvestigations","4.investigation\u002F3.investigations",{"title":80,"path":81,"stem":82},"Escalations","\u002Finvestigation\u002Fescalations","4.investigation\u002F5.escalations",{"title":84,"path":85,"stem":86,"children":87,"icon":15},"Remediation","\u002Fremediation","5.remediation\u002F1.index",[88,89,93,115],{"title":84,"path":85,"stem":86},{"title":90,"path":91,"stem":92},"Autofix","\u002Fremediation\u002Fautofix","5.remediation\u002F2.autofix",{"title":94,"path":95,"stem":96,"children":97,"icon":15},"Automations","\u002Fremediation\u002Fautomations","5.remediation\u002F3.automations\u002F1.index",[98,99,103,107,111],{"title":22,"path":95,"stem":96},{"title":100,"path":101,"stem":102},"Triggers","\u002Fremediation\u002Fautomations\u002Ftriggers","5.remediation\u002F3.automations\u002F2.triggers",{"title":104,"path":105,"stem":106},"Actions","\u002Fremediation\u002Fautomations\u002Factions","5.remediation\u002F3.automations\u002F3.actions",{"title":108,"path":109,"stem":110},"Destinations","\u002Fremediation\u002Fautomations\u002Fdestinations","5.remediation\u002F3.automations\u002F4.destinations",{"title":112,"path":113,"stem":114},"Templates","\u002Fremediation\u002Fautomations\u002Ftemplates","5.remediation\u002F3.automations\u002F5.templates",{"title":116,"path":117,"stem":118},"Skills","\u002Fremediation\u002Fskills","5.remediation\u002F4.skills",{"title":120,"path":121,"stem":122,"children":123,"icon":15},"Coding agents","\u002Fcoding-agents","6.coding-agents\u002F1.index",[124,125,129,148,152],{"title":120,"path":121,"stem":122},{"title":126,"path":127,"stem":128},"Platform MCP server","\u002Fcoding-agents\u002Fplatform-mcp","6.coding-agents\u002F2.platform-mcp",{"title":130,"path":131,"stem":132,"children":133,"icon":15},"CLI","\u002Fcoding-agents\u002Fcli","6.coding-agents\u002F3.cli\u002F1.index",[134,136,140,144],{"title":135,"path":131,"stem":132},"CLI overview",{"title":137,"path":138,"stem":139},"Authentication","\u002Fcoding-agents\u002Fcli\u002Fauthentication","6.coding-agents\u002F3.cli\u002F2.authentication",{"title":141,"path":142,"stem":143},"Scripting","\u002Fcoding-agents\u002Fcli\u002Fscripting","6.coding-agents\u002F3.cli\u002F3.scripting",{"title":145,"path":146,"stem":147},"Configuration","\u002Fcoding-agents\u002Fcli\u002Fconfiguration","6.coding-agents\u002F3.cli\u002F4.configuration",{"title":149,"path":150,"stem":151},"Browser extension","\u002Fcoding-agents\u002Fbrowser-extension","6.coding-agents\u002F4.browser-extension",{"title":153,"path":154,"stem":155},"Map","\u002Fcoding-agents\u002Fmap","6.coding-agents\u002F5.map",{"title":157,"path":158,"stem":159,"children":160,"icon":15},"Administration","\u002Fadministration","7.administration\u002F1.index",[161,162,166,170,174],{"title":157,"path":158,"stem":159},{"title":163,"path":164,"stem":165},"Notifications","\u002Fadministration\u002Fnotifications","7.administration\u002F2.notifications",{"title":167,"path":168,"stem":169},"AI models","\u002Fadministration\u002Fai-models","7.administration\u002F3.ai-models",{"title":171,"path":172,"stem":173},"API keys and OAuth clients","\u002Fadministration\u002Fapi-keys-and-oauth","7.administration\u002F4.api-keys-and-oauth",{"title":175,"path":176,"stem":177},"Billing and usage","\u002Fadministration\u002Fbilling-and-usage","7.administration\u002F5.billing-and-usage",{"title":179,"icon":15,"path":180,"stem":181,"children":182,"page":15},"Docs","\u002Fdocs","8.docs",[183,187,191],{"title":184,"path":185,"stem":186},"MCP server","\u002Fdocs\u002Fmcp","8.docs\u002F1.mcp",{"title":188,"path":189,"stem":190},"llms.txt","\u002Fdocs\u002Fllms","8.docs\u002F2.llms",{"title":192,"path":193,"stem":194},"API reference","\u002Fdocs\u002Fapi-reference","8.docs\u002F3.api-reference",[196,384,519,601,686,754,817,855,869,882,1241,1521,1653,1761,1816,1899,2013,2101,2113,2125,2190,2202,2214,2226,2238,2250,2262,2274,2286,2298,2310,2322,2334,2346,2358,2370,2382,2394,2406,2418,2430,2442,2454,2467,2479,2491,2502,2514,2527,2540,2552,2564,2602,2629,2657,2684,2696],{"type":197,"category":198,"subcategory":199,"name":200,"description":201,"longDescription":202,"icon":203,"comingSoon":15,"tools":204,"supportedResources":247,"triggers":248,"automationTemplates":289,"automationActions":311,"recommendedTemplateSlug":307,"marketing":357,"_object":381,"_links":382},"github","tool","git","GitHub","Connect GitHub for enhanced codebase context","Give agents access to your GitHub repositories for code search, pull request context, and codebase understanding. Agents can browse files, understand your architecture, and provide more accurate answers grounded in your actual code.","i-octicon-mark-github-16",[205,208,211,214,217,220,223,226,229,232,235,238,241,244],{"name":206,"summary":207},"githubApi","Read any GitHub REST endpoint that lacks a dedicated tool",{"name":209,"summary":210},"githubFetchFiles","Fetch file contents from a GitHub repository",{"name":212,"summary":213},"githubSearchGithub","Search across GitHub repositories, code, issues, pull requests, users, commits, and topics",{"name":215,"summary":216},"githubCommits","Read commits in a GitHub repository (list\u002FgetDiff)",{"name":218,"summary":219},"githubPullRequests","Read pull requests in a GitHub repository (list\u002Fget)",{"name":221,"summary":222},"githubCreatePullRequest","Create or update a GitHub pull request",{"name":224,"summary":225},"githubMergePullRequest","Merge a pull request",{"name":227,"summary":228},"githubClosePullRequest","Close a pull request Polylane opened",{"name":230,"summary":231},"githubCreateIssue","Create or update a GitHub issue",{"name":233,"summary":234},"githubWorkflowRuns","Read GitHub Actions workflow runs (list\u002Fget)",{"name":236,"summary":237},"githubCreateBranch","Create a new branch in a repository",{"name":239,"summary":240},"githubGetPullRequestDiff","Get the diff for a pull request",{"name":242,"summary":243},"githubCreateReviewComment","Create or update a pull request review comment",{"name":245,"summary":246},"githubSubmitReview","Submit a review for a pull request",[],[249,254,259,264,269,274,279,284],{"type":250,"name":251,"description":252,"icon":253},"github.push","GitHub Push","Fires when one or more commits are pushed to a branch on a connected GitHub repository.","i-lucide-git-commit",{"type":255,"name":256,"description":257,"icon":258},"github.pull_request","GitHub PR","Fires when a pull request is opened, edited, synchronized, reopened, marked ready, closed, merged, labeled, or assigned.","i-lucide-git-pull-request",{"type":260,"name":261,"description":262,"icon":263},"github.deployment","GitHub Deploy","Fires when a GitHub Deployment is created or transitions to success, failure, pending, or in_progress.","i-lucide-rocket",{"type":265,"name":266,"description":267,"icon":268},"github.workflow_run","GitHub Actions","Fires when a GitHub Actions workflow run starts or completes (with conclusion success, failure, cancelled, or timed_out).","i-simple-icons-githubactions",{"type":270,"name":271,"description":272,"icon":273},"github.release","GitHub Release","Fires when a GitHub Release is published, created, edited, or deleted on a connected repository.","i-lucide-tag",{"type":275,"name":276,"description":277,"icon":278},"github.issues","GitHub Issue","Fires when an issue is opened, edited, closed, reopened, labeled, unlabeled, or assigned.","i-lucide-circle-dot",{"type":280,"name":281,"description":282,"icon":283},"github.issue_comment","GitHub Comment","Fires when a comment is added, edited, or deleted on an issue or PR conversation thread.","i-lucide-message-square",{"type":285,"name":286,"description":287,"icon":288},"github.review_comment","GitHub Review Comment","Fires when an inline review comment on a PR diff line is created, edited, or deleted.","i-lucide-message-square-code",[290,296,301,306],{"slug":291,"name":292,"description":293,"triggerTypes":294},"track-deployment-frequency","Track deployment frequency","Generate weekly reports on deployment frequency, lead time, and failure rates",[295],"cron",{"slug":297,"name":298,"description":299,"triggerTypes":300},"generate-weekly-report","Generate weekly report","Compile a weekly engineering report covering incidents and deployments",[295],{"slug":302,"name":303,"description":304,"triggerTypes":305},"weekly-github-security-digest","Weekly GitHub security digest","Compile a weekly GitHub report on security events, vulnerabilities, and access changes",[295],{"slug":307,"name":308,"description":309,"triggerTypes":310},"babysit-github-deployment","Babysit GitHub deployment","On every GitHub deployment, run pre-flight checks and post-deploy health monitoring, opening an incident with a rollback recommendation when degraded.",[260],[312,316,320,324,329,333,337,342,347,352],{"actionType":313,"name":314,"description":315,"icon":258},"submitPr","Submit Pull Request","Opens a pull request on the target GitHub repo from a branch the agent has already pushed during the run.",{"actionType":317,"name":318,"description":319,"icon":283},"commentPr","Comment on Pull Request","Posts a plain markdown comment on a pull request's conversation tab (not a review, not inline).",{"actionType":321,"name":322,"description":323,"icon":283},"commentGithubIssue","Comment on Issue","Posts a plain markdown comment on a GitHub issue.",{"actionType":325,"name":326,"description":327,"icon":328},"mergePr","Merge Pull Request","Merges the triggering pull request using one of the configured `allowedMethods` (merge, squash, or rebase).","i-lucide-git-merge",{"actionType":330,"name":331,"description":332,"icon":278},"createGithubIssue","Create Issue","Opens a new GitHub issue on the target repo with title, markdown body, labels, and assignees.",{"actionType":334,"name":90,"description":335,"icon":336},"autofix","Queues an autofix run that implements the agent's plan and opens a pull request, using the workspace's default autofix executor.","i-lucide-wrench",{"actionType":338,"name":339,"description":340,"icon":341},"handoffToDevin","Hand off to Devin","Delegates implementation to Devin: the agent writes the plan and Devin opens the pull request itself.","DevinLogo",{"actionType":343,"name":344,"description":345,"icon":346},"handoffToCursor","Hand off to Cursor","Delegates implementation to Cursor: the agent writes the plan and a Cursor cloud agent opens the pull request itself.","CursorLogo",{"actionType":348,"name":349,"description":350,"icon":351},"handoffToFactory","Hand off to Factory","Delegates implementation to Factory: the agent writes the plan and a Factory droid opens the pull request itself.","FactoryLogo",{"actionType":353,"name":354,"description":355,"icon":356},"handoffToConductor","Hand off to Conductor","Delegates implementation to Conductor: the agent writes the plan and a Conductor cloud agent opens the pull request itself.","ConductorLogo",{"whatPolylaneDoes":358,"howItWorks":371},[359,362,365,368],{"title":360,"body":361},"Your code in the graph","Repositories are indexed for agents to grep and linked to the resources they deploy, so an investigation moves from a failing service to the code behind it without leaving the thread.",{"title":363,"body":364},"Changes become suspects","Pushes, merges, and deployments land on the timeline. When production breaks minutes after a merge, the investigation starts from that merge.",{"title":366,"body":367},"Automations on repo events","Pushes, pull requests, releases, and workflow runs can all trigger agent runs, with results delivered wherever your team reads them.",{"title":369,"body":370},"Fixes land where code lives","Investigations that end at a line of code end as a pull request on the repo behind the service, with the evidence trail attached. Your review and CI gate the merge.",[372,375,378],{"title":373,"body":374},"Install","Install the Polylane GitHub App on your organisation and pick the repositories it can see.",{"title":376,"body":377},"Index","Repositories are indexed and matched to the services they deploy, and repo events start landing on the timeline.",{"title":379,"body":380},"Agents work with the code","Mid-investigation they grep it, cite it, and when the root cause is a line of code, open the pull request.","integration_catalog_item",{"catalog":383},"https:\u002F\u002Fapi.polylane.com\u002Fv1\u002Fpublic\u002Fintegrations\u002Fcatalog",{"type":385,"category":198,"subcategory":386,"name":387,"description":388,"longDescription":389,"icon":390,"comingSoon":15,"tools":391,"supportedResources":428,"triggers":429,"automationTemplates":435,"automationActions":493,"recommendedTemplateSlug":489,"marketing":494,"_object":381,"_links":518},"datadog","observability","Datadog","Query metrics, logs, traces, and investigate alerts from Datadog","Connect your Datadog account to let agents query metrics, search logs, trace requests, and investigate alerts. Agents can correlate observability data with your infrastructure to diagnose issues faster.","i-vscode-icons-file-type-datadog",[392,395,398,401,404,407,410,413,416,419,422,425],{"name":393,"summary":394},"datadogApi","Call any Datadog REST endpoint that lacks a dedicated tool",{"name":396,"summary":397},"datadogQueryMetrics","Query time-series metrics from Datadog",{"name":399,"summary":400},"datadogSearchLogs","Search and filter log entries in Datadog",{"name":402,"summary":403},"datadogDashboards","Read or create Datadog dashboards",{"name":405,"summary":406},"datadogMonitors","Read, create, or mute Datadog monitors",{"name":408,"summary":409},"datadogIncidents","Read Datadog incidents",{"name":411,"summary":412},"datadogSLOs","Read or create Datadog Service Level Objectives (SLOs)",{"name":414,"summary":415},"datadogSpans","Query and aggregate Datadog APM spans and traces",{"name":417,"summary":418},"datadogListHosts","List hosts reporting to Datadog",{"name":420,"summary":421},"datadogListEvents","List events from Datadog",{"name":423,"summary":424},"datadogGetServiceDependencies","Get service dependency map from Datadog APM",{"name":426,"summary":427},"datadogCreateDowntime","Schedule a maintenance downtime in Datadog",[],[430],{"type":431,"name":432,"description":433,"icon":434},"alert","Alert","Fires every time a connected observability provider sends an alert webhook to Polylane.","i-lucide-bell",[436,441,446,451,453,458,463,468,473,478,483,488],{"slug":437,"name":438,"description":439,"triggerTypes":440},"detect-anomalous-traffic","Detect anomalous traffic","Identify unusual traffic patterns and potential security incidents from alerts",[431],{"slug":442,"name":443,"description":444,"triggerTypes":445},"daily-datadog-infrastructure-audit","Daily Datadog infrastructure audit","Run a daily audit of your Datadog observability setup and flag gaps in monitoring",[295],{"slug":447,"name":448,"description":449,"triggerTypes":450},"on-call-handoff-brief","On-call handoff brief","Monday morning briefing summarizing all incidents, alerts, deployments, and infrastructure changes since the last handoff",[295],{"slug":297,"name":298,"description":299,"triggerTypes":452},[295],{"slug":454,"name":455,"description":456,"triggerTypes":457},"monitor-sla-compliance","Monitor SLA compliance","Track service level objectives and alert when SLOs are at risk of being breached",[295],{"slug":459,"name":460,"description":461,"triggerTypes":462},"datadog-alert-noise-reduction","Datadog alert noise reduction report","Identify noisy Datadog alerts that fire frequently without actionable outcomes",[295],{"slug":464,"name":465,"description":466,"triggerTypes":467},"capacity-planning-report","Capacity planning report","Forecast resource usage trends and flag services approaching capacity limits",[295],{"slug":469,"name":470,"description":471,"triggerTypes":472},"weekly-datadog-security-digest","Weekly Datadog security digest","Compile a weekly Datadog report on security events, vulnerabilities, and access changes",[295],{"slug":474,"name":475,"description":476,"triggerTypes":477},"incident-trends-report","Monthly incident trends","Monthly analysis of incident patterns, root causes, and team response effectiveness",[295],{"slug":479,"name":480,"description":481,"triggerTypes":482},"team-on-call-load-report","On-call load report","Analyze on-call burden per team including pages, interruptions, and off-hours alerts",[295],{"slug":484,"name":485,"description":486,"triggerTypes":487},"platform-health-dashboard","Daily platform health summary","Morning briefing on overall platform health for engineering leadership",[295],{"slug":489,"name":490,"description":491,"triggerTypes":492},"daily-datadog-error-review","Daily Datadog error review","Proactive daily scan of Datadog errors, surfacing new patterns and regressions",[295],[],{"whatPolylaneDoes":495,"howItWorks":508},[496,499,502,505],{"title":497,"body":498},"Alerts triaged on arrival","Every monitor that fires lands in Polylane as an issue, and an agent triages it the moment it does: real signal or noise, what it touches, and what changed right before.",{"title":500,"body":501},"Your dashboards become checks","Every query and chart your team saved in Datadog becomes a check: agents run it on a cadence and flag what doesn't look like normal. The curation you already did becomes detection.",{"title":503,"body":504},"Queried mid-investigation","Agents run Datadog metric, log, and trace queries while they work an incident, and every number is cited back to the query behind it.",{"title":506,"body":507},"First-class in the graph","Datadog joins the context graph as a source, so a spike lands next to the deploy, the config change, and the resources behind it.",[509,512,515],{"title":510,"body":511},"Connect","Pick your Datadog region and paste an API key and an application key. Credentials are encrypted before they're stored.",{"title":513,"body":514},"Sync","Monitors, dashboards, and saved queries join the context graph next to the services that emit the telemetry.",{"title":516,"body":517},"Agents take the watch","Alerts get triaged as they fire, your charts run as checks on a cadence, and investigations query Datadog directly.",{"catalog":383},{"type":520,"category":198,"subcategory":386,"name":521,"description":522,"longDescription":523,"icon":524,"comingSoon":15,"tools":525,"supportedResources":547,"triggers":548,"automationTemplates":550,"automationActions":580,"recommendedTemplateSlug":576,"marketing":581,"_object":381,"_links":600},"honeycomb","Honeycomb","Query datasets, monitor triggers, and investigate incidents from Honeycomb","Connect your Honeycomb environment to let agents query datasets, check trigger statuses, and investigate production incidents. Agents use your observability data to understand system behavior and identify root causes.","HoneycombLogo",[526,529,532,535,538,541,544],{"name":527,"summary":528},"honeycombApi","Call any Honeycomb REST endpoint that lacks a dedicated tool",{"name":530,"summary":531},"honeycombRunQuery","Run a query against a Honeycomb dataset",{"name":533,"summary":534},"honeycombDatasets","Read Honeycomb datasets and their columns",{"name":536,"summary":537},"honeycombTriggers","Read or create Honeycomb triggers (alerts)",{"name":539,"summary":540},"honeycombBoards","Read or create Honeycomb boards (dashboards)",{"name":542,"summary":543},"honeycombSLOs","Read or create Honeycomb Service Level Objectives (SLOs)",{"name":545,"summary":546},"honeycombMarkers","List or create markers in a Honeycomb dataset",[],[549],{"type":431,"name":432,"description":433,"icon":434},[551,556,558,560,562,567,569,571,573,575],{"slug":552,"name":553,"description":554,"triggerTypes":555},"daily-honeycomb-infrastructure-audit","Daily Honeycomb infrastructure audit","Run a daily audit of your Honeycomb observability setup and flag gaps in monitoring",[295],{"slug":447,"name":448,"description":449,"triggerTypes":557},[295],{"slug":297,"name":298,"description":299,"triggerTypes":559},[295],{"slug":454,"name":455,"description":456,"triggerTypes":561},[295],{"slug":563,"name":564,"description":565,"triggerTypes":566},"honeycomb-alert-noise-reduction","Honeycomb alert noise reduction report","Identify noisy Honeycomb alerts that fire frequently without actionable outcomes",[295],{"slug":464,"name":465,"description":466,"triggerTypes":568},[295],{"slug":474,"name":475,"description":476,"triggerTypes":570},[295],{"slug":479,"name":480,"description":481,"triggerTypes":572},[295],{"slug":484,"name":485,"description":486,"triggerTypes":574},[295],{"slug":576,"name":577,"description":578,"triggerTypes":579},"daily-honeycomb-error-review","Daily Honeycomb error review","Proactive daily scan of Honeycomb errors, surfacing new patterns and regressions",[295],[],{"whatPolylaneDoes":582,"howItWorks":593},[583,586,589,591],{"title":584,"body":585},"Triggers triaged on arrival","Every Honeycomb trigger that fires lands in Polylane as an issue, and an agent triages it the moment it does, correlated with recent changes across the graph.",{"title":587,"body":588},"Your queries become checks","Every saved query and board becomes a check: agents run it on a cadence and flag what doesn't look like normal for the service behind it.",{"title":503,"body":590},"Agents query your datasets while they work an incident: high-cardinality questions, answered and cited in the thread.",{"title":506,"body":592},"Honeycomb joins the context graph as a source, so a regression in a dataset lands next to the deploy and the resources behind it.",[594,596,598],{"title":510,"body":595},"Pick your Honeycomb region and paste a configuration API key. Credentials are encrypted before they're stored.",{"title":513,"body":597},"Datasets, triggers, and boards join the context graph next to the services that emit the telemetry.",{"title":516,"body":599},"Triggers get triaged as they fire, saved queries run as checks, and investigations query Honeycomb directly.",{"catalog":383},{"type":602,"category":198,"subcategory":386,"name":603,"description":604,"longDescription":605,"icon":606,"comingSoon":15,"tools":607,"supportedResources":635,"triggers":636,"automationTemplates":638,"automationActions":666,"recommendedTemplateSlug":662,"marketing":667,"_object":381,"_links":685},"axiom","Axiom","Run APL queries, monitor alerts, and explore datasets from Axiom","Connect your Axiom organization to let agents run APL queries, monitor alert statuses, and explore your datasets. Agents can analyze your telemetry data to help troubleshoot issues and understand system performance.","AxiomLogo",[608,611,614,617,620,623,626,629,632],{"name":609,"summary":610},"axiomApi","Call any Axiom REST endpoint that lacks a dedicated tool",{"name":612,"summary":613},"axiomQueries","Run an Axiom query (APL for logs\u002Ftraces\u002Fevents, MPL for metrics)",{"name":615,"summary":616},"axiomDatasets","Read Axiom datasets and their fields",{"name":618,"summary":619},"axiomDashboards","Read or create Axiom dashboards",{"name":621,"summary":622},"axiomMonitors","Read or create Axiom monitors",{"name":624,"summary":625},"axiomViews","Read or create Axiom saved views",{"name":627,"summary":628},"axiomAnnotations","List or create Axiom annotations",{"name":630,"summary":631},"axiomVirtualFields","List or create Axiom virtual fields",{"name":633,"summary":634},"axiomListNotifiers","List alert notifiers in Axiom",[],[637],{"type":431,"name":432,"description":433,"icon":434},[639,644,646,648,650,655,657,659,661],{"slug":640,"name":641,"description":642,"triggerTypes":643},"daily-axiom-infrastructure-audit","Daily Axiom infrastructure audit","Run a daily audit of your Axiom observability setup and flag gaps in monitoring",[295],{"slug":447,"name":448,"description":449,"triggerTypes":645},[295],{"slug":297,"name":298,"description":299,"triggerTypes":647},[295],{"slug":454,"name":455,"description":456,"triggerTypes":649},[295],{"slug":651,"name":652,"description":653,"triggerTypes":654},"axiom-alert-noise-reduction","Axiom alert noise reduction report","Identify noisy Axiom alerts that fire frequently without actionable outcomes",[295],{"slug":464,"name":465,"description":466,"triggerTypes":656},[295],{"slug":474,"name":475,"description":476,"triggerTypes":658},[295],{"slug":484,"name":485,"description":486,"triggerTypes":660},[295],{"slug":662,"name":663,"description":664,"triggerTypes":665},"daily-axiom-error-review","Daily Axiom error review","Proactive daily scan of Axiom errors, surfacing new patterns and regressions",[295],[],{"whatPolylaneDoes":668,"howItWorks":678},[669,671,674,676],{"title":497,"body":670},"Every Axiom monitor that fires lands in Polylane as an issue, and an agent triages it the moment it does, correlated with recent changes across the graph.",{"title":672,"body":673},"APL mid-investigation","Agents run APL queries against your datasets while they work an incident, and every result is cited back to the query behind it.",{"title":587,"body":675},"Every saved query and dashboard becomes a check: agents run it on a cadence and flag results that stray from the service's normal.",{"title":506,"body":677},"Axiom joins the context graph as a source, so a spike in a dataset lands next to the deploy and the resources behind it.",[679,681,683],{"title":510,"body":680},"Paste an Axiom API token. Credentials are encrypted before they're stored.",{"title":513,"body":682},"Datasets, monitors, and dashboards join the context graph next to the services that emit the telemetry.",{"title":516,"body":684},"Alerts get triaged as they fire, saved queries run as checks, and investigations query Axiom directly.",{"catalog":383},{"type":687,"category":198,"subcategory":386,"name":688,"description":689,"longDescription":690,"icon":691,"comingSoon":15,"tools":692,"supportedResources":723,"triggers":724,"automationTemplates":726,"automationActions":732,"recommendedTemplateSlug":728,"marketing":733,"_object":381,"_links":753},"sentry","Sentry","Query errors, monitor alerts, and investigate incidents from Sentry","Connect your Sentry organization to let agents query issues, search error events, check alert statuses, and investigate production incidents. Agents can analyze your error data to help troubleshoot issues, understand error patterns, and identify root causes.","i-simple-icons-sentry",[693,696,699,702,705,708,711,714,717,720],{"name":694,"summary":695},"sentryApi","Call any Sentry REST endpoint that lacks a dedicated tool",{"name":697,"summary":698},"sentryProjects","Read Sentry projects (list, get, stats)",{"name":700,"summary":701},"sentryIssues","Read or update Sentry issues, events, tags, and hashes",{"name":703,"summary":704},"sentryAlertRules","Read or create Sentry issue alert rules",{"name":706,"summary":707},"sentryMetricAlerts","Read or create Sentry metric alert rules",{"name":709,"summary":710},"sentryIncidents","Read Sentry incidents",{"name":712,"summary":713},"sentryReplays","Read Sentry session replays",{"name":715,"summary":716},"sentryDashboards","Read, create, or edit Sentry dashboards",{"name":718,"summary":719},"sentryQueryDiscover","Run a Discover query in Sentry",{"name":721,"summary":722},"sentryQueryTimeseries","Run a Sentry events timeseries query",[],[725],{"type":431,"name":432,"description":433,"icon":434},[727],{"slug":728,"name":729,"description":730,"triggerTypes":731},"daily-sentry-error-review","Daily Sentry error review","Proactive daily scan of Sentry errors, surfacing new patterns and regressions",[295],[],{"whatPolylaneDoes":734,"howItWorks":746},[735,738,740,743],{"title":736,"body":737},"Errors arrive with the exception attached","Sentry issues land in Polylane with the actual exception before triage starts: type, message, top stack frames, and tags.",{"title":497,"body":739},"Every Sentry alert lands as an issue and an agent triages it the moment it fires: real signal or noise, and what changed right before.",{"title":741,"body":742},"Error data mid-investigation","Agents search issues and events while they work an incident, correlating error patterns with deploys and the resources in the blast radius.",{"title":744,"body":745},"From stack trace to fix","When the investigation reaches a line of code, the fix arrives as a pull request on the repo behind the service, with the evidence trail attached.",[747,749,751],{"title":373,"body":748},"Install the Polylane integration on your Sentry organisation and approve it. No keys to create or paste.",{"title":513,"body":750},"Projects and alert rules join the context graph next to the services that raise the errors.",{"title":516,"body":752},"Alerts get triaged as they fire, and investigations pull the exceptions, events, and tags they need directly.",{"catalog":383},{"type":755,"category":198,"subcategory":386,"name":756,"description":757,"longDescription":758,"icon":759,"comingSoon":15,"tools":760,"supportedResources":779,"triggers":780,"automationTemplates":782,"automationActions":795,"recommendedTemplateSlug":454,"marketing":796,"_object":381,"_links":816},"betterstack","Better Stack","Monitor uptime, investigate incidents, and track telemetry from Better Stack","Connect your Better Stack account to let agents check uptime monitors, availability, and heartbeats, investigate incidents, and inspect telemetry sources. Incidents flow into Polylane as alerts for automated triage.","BetterstackLogo",[761,764,767,770,773,776],{"name":762,"summary":763},"betterstackApi","Call any Better Stack REST endpoint that lacks a dedicated tool",{"name":765,"summary":766},"betterstackMonitors","Read or create Better Stack uptime monitors",{"name":768,"summary":769},"betterstackIncidents","Read Better Stack incidents and their timelines",{"name":771,"summary":772},"betterstackHeartbeats","List Better Stack heartbeats (cron\u002Fjob check-ins)",{"name":774,"summary":775},"betterstackStatusPages","List Better Stack status pages",{"name":777,"summary":778},"betterstackSources","List Better Stack telemetry sources",[],[781],{"type":431,"name":432,"description":433,"icon":434},[783,785,787,789,791,793],{"slug":447,"name":448,"description":449,"triggerTypes":784},[295],{"slug":297,"name":298,"description":299,"triggerTypes":786},[295],{"slug":454,"name":455,"description":456,"triggerTypes":788},[295],{"slug":464,"name":465,"description":466,"triggerTypes":790},[295],{"slug":474,"name":475,"description":476,"triggerTypes":792},[295],{"slug":484,"name":485,"description":486,"triggerTypes":794},[295],[],{"whatPolylaneDoes":797,"howItWorks":809},[798,801,804,807],{"title":799,"body":800},"Incidents triaged on arrival","Every Better Stack incident lands in Polylane as an alert, and an agent triages it the moment it does, correlated with recent changes across the graph.",{"title":802,"body":803},"Uptime mid-investigation","Agents check monitor status, availability, response times, and heartbeats while they work an incident, and every finding is cited back to the monitor behind it.",{"title":805,"body":806},"Availability becomes checks","Monitors, incident volume, and probe latency run as checks on a cadence; agents flag results that stray from the service's normal.",{"title":506,"body":808},"Better Stack joins the context graph as a source, so a failing monitor lands next to the deploy and the resources behind it.",[810,812,814],{"title":510,"body":811},"Paste your Better Stack API tokens. Credentials are encrypted before they're stored.",{"title":513,"body":813},"Monitors, heartbeats, and telemetry sources join the context graph next to the services they watch.",{"title":516,"body":815},"Incidents get triaged as they fire, availability runs as checks, and investigations query Better Stack directly.",{"catalog":383},{"type":818,"category":198,"subcategory":819,"name":820,"description":821,"longDescription":822,"icon":823,"comingSoon":15,"tools":824,"supportedResources":825,"triggers":826,"automationTemplates":832,"automationActions":833,"marketing":834,"_object":381,"_links":854},"slack","communication","Slack","Work with Polylane directly in Slack","Install Polylane in your Slack workspace. Mention @nominal in any channel or DM to chat with the agent, receive automation summaries, triage alerts, and collaborate with your team through the same agent you use in the console.","i-logos-slack-icon",[],[],[827],{"type":828,"name":829,"description":830,"icon":831},"slack.message","Slack Message","Fires when a Slack message is posted in a channel or DM the Polylane Slack bot can see (the bot must be invited to the channel).","i-simple-icons-slack",[],[],{"whatPolylaneDoes":835,"howItWorks":845},[836,839,842],{"title":837,"body":838},"The agent in your channels","Mention Polylane in any channel or DM to ask about production, and spin an investigation off any message.",{"title":840,"body":841},"Notifications where the team lives","Issues, automation results, and digests land in the channels you choose, with links back to the full thread and its evidence.",{"title":843,"body":844},"Incidents worked in the open","Investigation updates post as they happen, so the channel follows the same transcript the console shows.",[846,848,851],{"title":373,"body":847},"Add Polylane to your Slack workspace from the console. One approval, no keys to manage.",{"title":849,"body":850},"Choose channels","Pick where issues, automation results, and digests should land.",{"title":852,"body":853},"Work with it","Mention the agent to ask questions or start investigations without leaving Slack.",{"catalog":383},{"type":856,"category":198,"subcategory":857,"name":858,"description":859,"longDescription":860,"icon":861,"comingSoon":862,"tools":863,"supportedResources":864,"triggers":865,"automationTemplates":866,"automationActions":867,"_object":381,"_links":868},"jira","issue-tracking","Jira","Create and manage Jira issues from Polylane","Connect Jira to let agents create issues, update tickets, and track project progress. Agents can automatically file bugs from investigations and keep your project management tools in sync with your infrastructure.","i-logos-jira",true,[],[],[],[],[],{"catalog":383},{"type":870,"category":198,"subcategory":871,"name":872,"description":873,"longDescription":874,"icon":875,"comingSoon":862,"tools":876,"supportedResources":877,"triggers":878,"automationTemplates":879,"automationActions":880,"_object":381,"_links":881},"pagerduty","incident-management","PagerDuty","Manage incidents and on-call from Polylane","Connect PagerDuty to let agents manage incidents, check on-call schedules, and escalate issues. Agents can correlate infrastructure problems with active incidents to speed up resolution.","i-logos-pagerduty-icon",[],[],[],[],[],{"catalog":383},{"type":883,"category":884,"subcategory":884,"name":885,"description":886,"longDescription":887,"icon":888,"comingSoon":15,"tools":889,"supportedResources":923,"triggers":1181,"automationTemplates":1198,"automationActions":1218,"recommendedTemplateSlug":1202,"marketing":1219,"_object":381,"_links":1240},"aws","cloud","AWS","EC2, Lambda, ECS, RDS, S3, and more","Connect your AWS account to give agents full visibility into your infrastructure. Agents can discover resources, monitor CloudWatch metrics, analyze costs, and help you understand your architecture across EC2, Lambda, ECS, RDS, and more.","i-skill-icons:aws-dark",[890,893,896,899,902,905,908,911,914,917,920],{"name":891,"summary":892},"awsApi","Read any AWS API via a SigV4-signed request (read-only escape hatch)",{"name":894,"summary":895},"awsCloudWatchAlarms","Read or manage CloudWatch alarms (list, get, getHistory, create, acknowledge, enableActions)",{"name":897,"summary":898},"awsCloudWatchDashboards","Read or manage CloudWatch dashboards (list, get, create)",{"name":900,"summary":901},"awsCloudWatchLogs","Read CloudWatch logs (listGroups, describeStreams, getEvents, filter, query)",{"name":903,"summary":904},"awsGetCloudWatchQueryResults","Get results of a CloudWatch Insights query",{"name":906,"summary":907},"awsCloudWatchMetrics","Read CloudWatch metrics (list available metrics, get data points)",{"name":909,"summary":910},"awsXRayTraces","Read X-Ray traces (list summaries, get full trace)",{"name":912,"summary":913},"awsXRayInsights","Read X-Ray insights (list, get, getEvents)",{"name":915,"summary":916},"awsXRayServices","Read X-Ray service topology and time-series statistics (graph, timeseries)",{"name":918,"summary":919},"awsGetXRayGroups","List X-Ray groups",{"name":921,"summary":922},"awsEksKubectl","Read and operate on Kubernetes resources on an EKS cluster (get\u002Flist\u002Fdescribe\u002Flogs\u002Fevents\u002Ftop\u002Frollout, plus scale, restart, patch, delete, apply)",[924,928,931,935,939,942,945,948,951,954,957,960,963,967,971,975,979,983,986,990,994,998,1001,1004,1008,1012,1015,1019,1023,1027,1030,1033,1037,1041,1045,1048,1052,1056,1060,1064,1068,1071,1075,1079,1082,1085,1089,1092,1096,1100,1104,1107,1111,1114,1118,1122,1126,1129,1132,1135,1138,1141,1144,1145,1149,1152,1155,1159,1163,1166,1169,1172,1175,1178],{"type":925,"name":926,"icon":927},"aws.lambda.function","Lambda Function","AwsLambdaLogo",{"type":929,"name":930,"icon":927},"aws.lambda.layer","Lambda Layer",{"type":932,"name":933,"icon":934},"aws.ec2.instance","EC2 Instance","AwsEc2Logo",{"type":936,"name":937,"icon":938},"aws.ec2.vpc","VPC","AwsVpcLogo",{"type":940,"name":941,"icon":938},"aws.ec2.subnet","Subnet",{"type":943,"name":944,"icon":938},"aws.ec2.security_group","Security Group",{"type":946,"name":947,"icon":938},"aws.ec2.internet_gateway","Internet Gateway",{"type":949,"name":950,"icon":938},"aws.ec2.nat_gateway","NAT Gateway",{"type":952,"name":953,"icon":938},"aws.ec2.route_table","Route Table",{"type":955,"name":956,"icon":938},"aws.ec2.network_acl","Network ACL",{"type":958,"name":959,"icon":934},"aws.ec2.volume","EBS Volume",{"type":961,"name":962,"icon":938},"aws.ec2.eip","Elastic IP",{"type":964,"name":965,"icon":966},"aws.s3.bucket","S3 Bucket","AwsS3Logo",{"type":968,"name":969,"icon":970},"aws.dynamodb.table","DynamoDB Table","AwsDynamodbLogo",{"type":972,"name":973,"icon":974},"aws.rds.instance","RDS Instance","AwsAuroraLogo",{"type":976,"name":977,"icon":978},"aws.cloudfront.distribution","CloudFront Distribution","AwsCloudfrontLogo",{"type":980,"name":981,"icon":982},"aws.apigateway.restapi","API Gateway REST API","AwsApigatewayLogo",{"type":984,"name":985,"icon":982},"aws.apigatewayv2.api","API Gateway v2 API",{"type":987,"name":988,"icon":989},"aws.sqs.queue","SQS Queue","AwsSqsLogo",{"type":991,"name":992,"icon":993},"aws.sns.topic","SNS Topic","AwsSnsLogo",{"type":995,"name":996,"icon":997},"aws.ecs.cluster","ECS Cluster","AwsEcsLogo",{"type":999,"name":1000,"icon":997},"aws.ecs.service","ECS Service",{"type":1002,"name":1003,"icon":997},"aws.ecs.task_definition","ECS Task Definition",{"type":1005,"name":1006,"icon":1007},"aws.elasticache.cluster","ElastiCache Cluster","AwsElasticacheLogo",{"type":1009,"name":1010,"icon":1011},"aws.apprunner.service","App Runner Service","AwsApprunnerLogo",{"type":1013,"name":1014,"icon":1011},"aws.apprunner.connection","App Runner Connection",{"type":1016,"name":1017,"icon":1018},"aws.iam.role","IAM Role","AwsIamLogo",{"type":1020,"name":1021,"icon":1022},"aws.kms.key","KMS Key","AwsKmsLogo",{"type":1024,"name":1025,"icon":1026},"aws.kinesis.stream","Kinesis Stream","AwsKinesisLogo",{"type":1028,"name":1029,"icon":1007},"aws.elasticache.replication_group","ElastiCache Replication Group",{"type":1031,"name":1032,"icon":974},"aws.rds.cluster","RDS Cluster",{"type":1034,"name":1035,"icon":1036},"aws.servicediscovery.service","Service Discovery Service","AwsLogo",{"type":1038,"name":1039,"icon":1040},"aws.secretsmanager.secret","Secrets Manager Secret","AwsSecretsManagerLogo",{"type":1042,"name":1043,"icon":1044},"aws.eventbridge.rule","EventBridge Rule","AwsEventbridgeLogo",{"type":1046,"name":1047,"icon":1044},"aws.eventbridge.bus","EventBridge Bus",{"type":1049,"name":1050,"icon":1051},"aws.states.state_machine","Step Functions State Machine","AwsStepfunctionsLogo",{"type":1053,"name":1054,"icon":1055},"aws.redshift.cluster","Redshift Cluster","AwsRedshiftLogo",{"type":1057,"name":1058,"icon":1059},"aws.kinesis.firehose","Kinesis Firehose","AwsFirehoseLogo",{"type":1061,"name":1062,"icon":1063},"aws.neptune.cluster","Neptune Cluster","AwsNeptuneLogo",{"type":1065,"name":1066,"icon":1067},"aws.cognito.user_pool","Cognito User Pool","AwsCognitoLogo",{"type":1069,"name":1070,"icon":1067},"aws.cognito.identity_pool","Cognito Identity Pool",{"type":1072,"name":1073,"icon":1074},"aws.athena.workgroup","Athena Workgroup","AwsAthenaLogo",{"type":1076,"name":1077,"icon":1078},"aws.glue.database","Glue Database","AwsGlueLogo",{"type":1080,"name":1081,"icon":1078},"aws.glue.crawler","Glue Crawler",{"type":1083,"name":1084,"icon":1078},"aws.glue.job","Glue Job",{"type":1086,"name":1087,"icon":1088},"aws.batch.job_queue","Batch Job Queue","AwsBatchLogo",{"type":1090,"name":1091,"icon":1088},"aws.batch.compute_environment","Batch Compute Environment",{"type":1093,"name":1094,"icon":1095},"aws.mq.broker","Amazon MQ Broker","AwsMqLogo",{"type":1097,"name":1098,"icon":1099},"aws.msk.cluster","MSK Cluster","AwsMskLogo",{"type":1101,"name":1102,"icon":1103},"aws.documentdb.cluster","DocumentDB Cluster","AwsDocumentdbLogo",{"type":1105,"name":1106,"icon":1007},"aws.memorydb.cluster","MemoryDB Cluster",{"type":1108,"name":1109,"icon":1110},"aws.cloudtrail.trail","CloudTrail Trail","AwsCloudtrailLogo",{"type":1112,"name":1113,"icon":1036},"aws.guardduty.detector","GuardDuty Detector",{"type":1115,"name":1116,"icon":1117},"aws.waf.web_acl","WAF Web ACL","AwsWafLogo",{"type":1119,"name":1120,"icon":1121},"aws.acm.certificate","ACM Certificate","AwsCertificateManagerLogo",{"type":1123,"name":1124,"icon":1125},"aws.eks.cluster","EKS Cluster","KubernetesLogo",{"type":1127,"name":1128,"icon":1125},"aws.eks.nodegroup","EKS Node Group",{"type":1130,"name":1131,"icon":1125},"aws.eks.fargate_profile","EKS Fargate Profile",{"type":1133,"name":1134,"icon":1125},"aws.eks.addon","EKS Addon",{"type":1136,"name":1137,"icon":1125},"aws.eks.access_entry","EKS Access Entry",{"type":1139,"name":1140,"icon":1125},"aws.eks.identity_provider_config","EKS Identity Provider",{"type":1142,"name":1143,"icon":1125},"aws.eks.oidc_provider","EKS OIDC Provider",{"type":961,"name":962,"icon":938},{"type":1146,"name":1147,"icon":1148},"aws.elasticsearch.domain","Elasticsearch Domain","AwsOpenSearchLogo",{"type":1150,"name":1151,"icon":1148},"aws.opensearch.domain","OpenSearch Domain",{"type":1153,"name":1154,"icon":1044},"aws.eventbridge.pipe","EventBridge Pipe",{"type":1156,"name":1157,"icon":1158},"aws.amplify.app","Amplify App","AwsAmplifyLogo",{"type":1160,"name":1161,"icon":1162},"aws.elbv2.alb","Application Load Balancer","AwsElbLogo",{"type":1164,"name":1165,"icon":1162},"aws.elbv2.nlb","Network Load Balancer",{"type":1167,"name":1168,"icon":1162},"aws.elbv2.gwlb","Gateway Load Balancer",{"type":1170,"name":1171,"icon":1162},"aws.elbv2.target_group","Target Group",{"type":1173,"name":1174,"icon":1162},"aws.elbv2.listener","Load Balancer Listener",{"type":1176,"name":1177,"icon":1162},"aws.elbv2.listener_rule","Listener Rule",{"type":1179,"name":1180,"icon":1078},"aws.glue.table","Glue Table",[1182,1183,1188,1193],{"type":431,"name":432,"description":433,"icon":434},{"type":1184,"name":1185,"description":1186,"icon":1187},"polylane.cloud_account.connected","Cloud Account Connected","Fires once when a user connects a new cloud account to the workspace.","i-lucide-cloud",{"type":1189,"name":1190,"description":1191,"icon":1192},"polylane.cloud_account.synced","Cloud Account Synced","Fires each time a cloud account finishes a full or incremental sync.","i-lucide-cloud-cog",{"type":1194,"name":1195,"description":1196,"icon":1197},"polylane.infra_node.created","Infra Node Created","Fires once per new infrastructure resource discovered during a cloud sync.","i-lucide-server",[1199,1201,1206,1211,1213],{"slug":437,"name":438,"description":439,"triggerTypes":1200},[431],{"slug":1202,"name":1203,"description":1204,"triggerTypes":1205},"daily-aws-infrastructure-audit","Daily AWS infrastructure audit","Run a daily audit of your AWS observability setup and flag gaps in monitoring",[295],{"slug":1207,"name":1208,"description":1209,"triggerTypes":1210},"cloud-compliance-audit","Cloud compliance audit","Weekly audit of IAM policies, resource tagging, and governance compliance across cloud providers",[295],{"slug":464,"name":465,"description":466,"triggerTypes":1212},[295],{"slug":1214,"name":1215,"description":1216,"triggerTypes":1217},"weekly-aws-security-digest","Weekly AWS security digest","Compile a weekly AWS report on security events, vulnerabilities, and access changes",[295],[],{"whatPolylaneDoes":1220,"howItWorks":1232},[1221,1224,1227,1230],{"title":1222,"body":1223},"74 resource types in one graph","Lambda, ECS, RDS, DynamoDB, SQS, EventBridge, EKS, VPCs and everything wired into them, with their edges, config, and history.",{"title":1225,"body":1226},"CloudWatch read for you","Agents comb metrics, logs, and X-Ray traces on a cadence and judge them against how each resource normally behaves. No thresholds to tune.",{"title":1228,"body":1229},"Alarms that investigate themselves","Point your CloudWatch Alarms at Polylane and an agent picks each one up as it fires, so the alarm arrives with an explanation attached.",{"title":54,"body":1231},"Each sync records what appeared, changed, or disappeared across the account. When something breaks minutes after a change, the investigation starts there.",[1233,1236,1238],{"title":1234,"body":1235},"One CloudFormation stack","Review the open template and create the stack. It provisions an IAM role with the AWS-managed ReadOnlyAccess policy, assumable cross-account only.",{"title":513,"body":1237},"Your resources land in the graph within minutes, with edges, config, and history.",{"title":516,"body":1239},"Telemetry is combed on a cadence, alarms get investigated as they fire, and code fixes arrive as pull requests for your review.",{"catalog":383},{"type":1242,"category":884,"subcategory":884,"name":1243,"description":1244,"longDescription":1245,"icon":1246,"comingSoon":15,"tools":1247,"supportedResources":1290,"triggers":1465,"automationTemplates":1473,"automationActions":1498,"recommendedTemplateSlug":1494,"marketing":1499,"_object":381,"_links":1520},"cloudflare","Cloudflare","Workers, Pages, R2, D1, and edge network","Connect your Cloudflare account to let agents monitor your Workers, Pages, and edge infrastructure. Agents can analyze request patterns, check worker performance, and help troubleshoot issues at the edge.","i-logos-cloudflare-icon",[1248,1251,1254,1257,1260,1263,1266,1269,1272,1275,1278,1281,1284,1287],{"name":1249,"summary":1250},"cloudflareListTelemetryKeys","List available Cloudflare telemetry data keys",{"name":1252,"summary":1253},"cloudflareListTelemetryValues","List values for a Cloudflare telemetry key",{"name":1255,"summary":1256},"cloudflareRunTelemetryQuery","Query Cloudflare Workers \u002F container logs and traces",{"name":1258,"summary":1259},"cloudflareTraces","Read Cloudflare traces (list summaries, get full span tree)",{"name":1261,"summary":1262},"cloudflareRunGraphqlQuery","Execute a GraphQL query against the Cloudflare Analytics API",{"name":1264,"summary":1265},"cloudflareGraphqlSchemaSearch","Search the Cloudflare GraphQL schema for matching types, fields, args, and enum values",{"name":1267,"summary":1268},"cloudflareGraphqlSchemaOverview","Fetch a paginated overview of all Cloudflare GraphQL types",{"name":1270,"summary":1271},"cloudflareGraphqlTypeDetails","Fetch fields, args, and enum values for one Cloudflare GraphQL type",{"name":1273,"summary":1274},"cloudflareGraphqlCompleteSchema","Fetch the Cloudflare GraphQL schema with optional root-type details",{"name":1276,"summary":1277},"cloudflareAiGatewayLogs","List Cloudflare AI Gateway logs, or fetch one log's full detail",{"name":1279,"summary":1280},"cloudflareAccessApplicationLogs","List Cloudflare Access authentication events for an Access application",{"name":1282,"summary":1283},"cloudflareWorkflowInstances","List or get Cloudflare Workflows instances",{"name":1285,"summary":1286},"cloudflareApi","Call any Cloudflare REST API endpoint that lacks a dedicated tool",{"name":1288,"summary":1289},"cloudflareDeployments","List Cloudflare Worker\u002FPages deployments or Worker versions",[1291,1295,1299,1303,1307,1311,1315,1319,1323,1326,1329,1333,1337,1341,1344,1348,1352,1356,1360,1364,1368,1372,1375,1378,1381,1385,1388,1392,1396,1400,1404,1408,1412,1416,1420,1424,1427,1430,1434,1437,1441,1445,1449,1453,1457,1461],{"type":1292,"name":1293,"icon":1294},"cf.workers.script","Cloudflare Worker","CloudflareWorkersLogo",{"type":1296,"name":1297,"icon":1298},"cf.ai_gateway.gateway","AI Gateway","CloudflareAiGatewayLogo",{"type":1300,"name":1301,"icon":1302},"cf.containers.application","Cloudflare Container","CloudflareContainerLogo",{"type":1304,"name":1305,"icon":1306},"cf.do.namespace","Durable Object","CloudflareDurableObjectsLogo",{"type":1308,"name":1309,"icon":1310},"cf.d1.database","D1 Database","CloudflareD1Logo",{"type":1312,"name":1313,"icon":1314},"cf.hyperdrive.config","Hyperdrive","CloudflareHyperdriveLogo",{"type":1316,"name":1317,"icon":1318},"cf.kv.namespace","Cloudflare KV","CloudflareKvLogo",{"type":1320,"name":1321,"icon":1322},"cf.pipelines.pipeline","Cloudflare Pipeline","CloudflarePipelinesLogo",{"type":1324,"name":1325,"icon":1322},"cf.pipelines.stream","Pipeline Stream",{"type":1327,"name":1328,"icon":1322},"cf.pipelines.sink","Pipeline Sink",{"type":1330,"name":1331,"icon":1332},"cf.r2.bucket","R2 Bucket","CloudflareR2Logo",{"type":1334,"name":1335,"icon":1336},"cf.queues.queue","Cloudflare Queue","CloudflareQueuesLogo",{"type":1338,"name":1339,"icon":1340},"cf.secrets.store","Secret Store","CloudflareSecretStoreLogo",{"type":1342,"name":1343,"icon":1340},"cf.secrets.secret","Cloudflare Secret",{"type":1345,"name":1346,"icon":1347},"cf.pages.project","Cloudflare Pages","CloudflarePagesLogo",{"type":1349,"name":1350,"icon":1351},"cf.pages.domain","Domain","CloudflareDnsLogo",{"type":1353,"name":1354,"icon":1355},"cf.ai.ai","AI","CloudflareAiLogo",{"type":1357,"name":1358,"icon":1359},"cf.analytics_engine.dataset","Analytics Engine","CloudflareAnalyticsEngineLogo",{"type":1361,"name":1362,"icon":1363},"cf.browsers.browser","Browser Rendering","CloudflareBrowserRenderingLogo",{"type":1365,"name":1366,"icon":1367},"cf.vectorize.index","Vectorize","CloudflareVectorizeLogo",{"type":1369,"name":1370,"icon":1371},"cf.workflows.workflow","Cloudflare Workflow","CloudflareWorkflowsLogo",{"type":1373,"name":1374,"icon":1351},"cf.zone","Cloudflare Zone",{"type":1376,"name":1377,"icon":1294},"cf.workers.route","Worker Route",{"type":1379,"name":1380,"icon":1351},"cf.workers.custom_domain","Worker Domain",{"type":1382,"name":1383,"icon":1384},"cf.workers.dispatch_namespace","Dispatch Namespace","CloudflareForPlatformsLogo",{"type":1386,"name":1387,"icon":1384},"cf.workers.tenant_script","Tenant Worker",{"type":1389,"name":1390,"icon":1391},"cf.snippet","Snippet","i-lucide-scissors",{"type":1393,"name":1394,"icon":1395},"cf.mtls_certificate","mTLS Certificate","CloudflareSslLogo",{"type":1397,"name":1398,"icon":1399},"cf.tunnel","Cloudflare Tunnel","CloudflareTunnelLogo",{"type":1401,"name":1402,"icon":1403},"cf.access.application","Access Application","CloudflareAccessLogo",{"type":1405,"name":1406,"icon":1407},"cf.spectrum.app","Spectrum App","CloudflareSpectrumLogo",{"type":1409,"name":1410,"icon":1411},"cf.turnstile.widget","Turnstile Widget","CloudflareTurnstileLogo",{"type":1413,"name":1414,"icon":1415},"cf.waiting_room","Waiting Room","CloudflareWaitingRoomLogo",{"type":1417,"name":1418,"icon":1419},"cf.healthcheck","Health Check","CloudflareHealthChecksLogo",{"type":1421,"name":1422,"icon":1423},"cf.load_balancing.load_balancer","Load Balancer","CloudflareLoadBalancingLogo",{"type":1425,"name":1426,"icon":1423},"cf.load_balancing.pool","Load Balancer Pool",{"type":1428,"name":1429,"icon":1423},"cf.load_balancing.monitor","Load Balancer Monitor",{"type":1431,"name":1432,"icon":1433},"cf.logpush.job","Logpush Job","CloudflareLogsLogo",{"type":1435,"name":1436,"icon":1395},"cf.ssl.certificate_pack","SSL Certificate",{"type":1438,"name":1439,"icon":1440},"cf.email_routing.address","Email Address","CloudflareEmailRoutingLogo",{"type":1442,"name":1443,"icon":1444},"cf.stream.live_input","Stream Live Input","CloudflareStreamLogo",{"type":1446,"name":1447,"icon":1448},"cf.images.images","Cloudflare Images","CloudflareImagesLogo",{"type":1450,"name":1451,"icon":1452},"cf.calls.app","Calls App","CloudflareCallsLogo",{"type":1454,"name":1455,"icon":1456},"cf.autorag.rag","AutoRAG","CloudflareAutoragLogo",{"type":1458,"name":1459,"icon":1460},"cf.r2.data_catalog","R2 Data Catalog","CloudflareR2DataCatalogLogo",{"type":1462,"name":1463,"icon":1464},"cf.artifacts.namespace","Artifacts Namespace","CloudflareArtifactsLogo",[1466,1470,1471,1472],{"type":1467,"name":1468,"description":1469,"icon":1246},"cloudflare.deployment","Cloudflare Deploy","Fires when a Cloudflare deploy lands (Workers script update, Pages deployment, container rollout, or versioned Worker promotion).",{"type":1184,"name":1185,"description":1186,"icon":1187},{"type":1189,"name":1190,"description":1191,"icon":1192},{"type":1194,"name":1195,"description":1196,"icon":1197},[1474,1479,1481,1483,1488,1493],{"slug":1475,"name":1476,"description":1477,"triggerTypes":1478},"daily-cloudflare-infrastructure-audit","Daily Cloudflare infrastructure audit","Run a daily audit of your Cloudflare observability setup and flag gaps in monitoring",[295],{"slug":1207,"name":1208,"description":1209,"triggerTypes":1480},[295],{"slug":464,"name":465,"description":466,"triggerTypes":1482},[295],{"slug":1484,"name":1485,"description":1486,"triggerTypes":1487},"weekly-cloudflare-security-digest","Weekly Cloudflare security digest","Compile a weekly Cloudflare report on security events, vulnerabilities, and access changes",[295],{"slug":1489,"name":1490,"description":1491,"triggerTypes":1492},"auto-rollback-cloudflare-deployment","Auto-rollback unhealthy Cloudflare deploy","On every Cloudflare deploy, check post-deploy health and roll back to the previous version automatically when degraded.",[1467],{"slug":1494,"name":1495,"description":1496,"triggerTypes":1497},"babysit-cloudflare-deployment","Babysit Cloudflare deployment","On every Cloudflare deploy, check post-deploy health and open an incident with a rollback recommendation when degraded.",[1467],[],{"whatPolylaneDoes":1500,"howItWorks":1513},[1501,1504,1507,1510],{"title":1502,"body":1503},"The whole account in one graph","Workers, Durable Objects, D1, R2, KV, Queues, Workflows, zones, and DNS land in one graph with their bindings, config, and history.",{"title":1505,"body":1506},"Analytics read on a cadence","Requests, errors, CPU time, and Durable Object compute, judged against how each resource normally behaves. No thresholds to tune.",{"title":1508,"body":1509},"Rollbacks where you allow them","Off by default. Enabled, agents restore the last known-good Worker version on their own, rate-limited and on the record, and the permanent fix follows.",{"title":1511,"body":1512},"Advisories on every resource","Workers without observability, D1 databases without backups, queues stuck retrying: each one marked fixable in place or with guidance.",[1514,1516,1518],{"title":510,"body":1515},"A guided flow pre-fills the exact API token permissions Polylane needs. You choose read-only or full access when you create it.",{"title":513,"body":1517},"The account lands in the graph with its bindings and history, and every sync after records what changed.",{"title":516,"body":1519},"Analytics are read on a cadence, issues get investigated as they surface, and any write waits for your approval.",{"catalog":383},{"type":1522,"category":884,"subcategory":884,"name":1523,"description":1524,"longDescription":1525,"icon":1526,"comingSoon":15,"tools":1527,"supportedResources":1537,"triggers":1599,"automationTemplates":1608,"automationActions":1629,"recommendedTemplateSlug":1625,"marketing":1630,"_object":381,"_links":1652},"vercel","Vercel","Deployments, serverless functions, and edge config","Connect your Vercel account to give agents visibility into your deployments, serverless functions, and edge network. Agents can monitor build performance, analyze traffic patterns, and troubleshoot deployment issues.","VercelLogo",[1528,1531,1534],{"name":1529,"summary":1530},"vercelApi","Call any Vercel REST API endpoint that lacks a dedicated tool",{"name":1532,"summary":1533},"vercelGetLogs","Get logs from a Vercel deployment",{"name":1535,"summary":1536},"vercelQueryMetrics","Query Vercel observability metrics (requests, errors, function duration)",[1538,1541,1544,1546,1549,1552,1555,1558,1561,1564,1567,1570,1573,1576,1579,1582,1585,1587,1590,1593,1596],{"type":1539,"name":1540,"icon":1526},"vercel.project","Project",{"type":1542,"name":1543,"icon":1526},"vercel.deployment","Deployment",{"type":1545,"name":1350,"icon":1526},"vercel.domain",{"type":1547,"name":1548,"icon":1526},"vercel.edge_config","Edge Config",{"type":1550,"name":1551,"icon":1526},"vercel.postgres","Postgres",{"type":1553,"name":1554,"icon":1526},"vercel.kv","KV Store",{"type":1556,"name":1557,"icon":1526},"vercel.blob","Blob Store",{"type":1559,"name":1560,"icon":1526},"vercel.log_drain","Log Drain",{"type":1562,"name":1563,"icon":1526},"vercel.custom_environment","Custom Environment",{"type":1565,"name":1566,"icon":1526},"vercel.firewall_config","Firewall",{"type":1568,"name":1569,"icon":1526},"vercel.webhook","Webhook",{"type":1571,"name":1572,"icon":1526},"vercel.integration_config","Integration",{"type":1574,"name":1575,"icon":1526},"vercel.sandbox","Sandbox",{"type":1577,"name":1578,"icon":1526},"vercel.workflow","Workflow",{"type":1580,"name":1581,"icon":1526},"vercel.cron_job","Cron Job",{"type":1583,"name":1584,"icon":1526},"vercel.flag","Feature Flag",{"type":1586,"name":1297,"icon":1526},"vercel.ai_gateway",{"type":1588,"name":1589,"icon":1526},"vercel.microfrontends_group","Microfrontends Group",{"type":1591,"name":1592,"icon":1526},"vercel.access_group","Access Group",{"type":1594,"name":1595,"icon":1526},"vercel.drain","Drain",{"type":1597,"name":1598,"icon":1526},"vercel.container_repository","Container Repository",[1600,1601,1605,1606,1607],{"type":431,"name":432,"description":433,"icon":434},{"type":1542,"name":1602,"description":1603,"icon":1604},"Vercel Deploy","Fires when a Vercel deployment finishes (READY, ERROR, or CANCELED).","i-logos-vercel-icon",{"type":1184,"name":1185,"description":1186,"icon":1187},{"type":1189,"name":1190,"description":1191,"icon":1192},{"type":1194,"name":1195,"description":1196,"icon":1197},[1609,1614,1619,1624],{"slug":1610,"name":1611,"description":1612,"triggerTypes":1613},"daily-vercel-infrastructure-audit","Daily Vercel infrastructure audit","Run a daily audit of your Vercel observability setup and flag gaps in monitoring",[295],{"slug":1615,"name":1616,"description":1617,"triggerTypes":1618},"vercel-ssl-certificate-monitor","Vercel SSL certificate expiry monitor","Check for SSL certificates nearing expiration on Vercel",[295],{"slug":1620,"name":1621,"description":1622,"triggerTypes":1623},"auto-rollback-vercel-deployment","Auto-rollback unhealthy Vercel deploy","On every production Vercel deploy, check post-deploy health and promote the previous READY deploy automatically when degraded.",[1542],{"slug":1625,"name":1626,"description":1627,"triggerTypes":1628},"babysit-vercel-deployment","Babysit Vercel deployment","On every production Vercel deploy, check the build and post-deploy health and open an incident with a rollback recommendation when degraded.",[1542],[],{"whatPolylaneDoes":1631,"howItWorks":1643},[1632,1635,1638,1640],{"title":1633,"body":1634},"Every deploy, watched","Webhooks keep the graph current the moment you ship, and an agent triages every deployment failure and alert as it lands.",{"title":1636,"body":1637},"Everything you ship, in one graph","Projects, deployments, domains, Edge Config, Postgres, KV, and Blob, with the DNS records on other providers that point at them.",{"title":1508,"body":1639},"Off by default. Enabled, agents restore the last known-good deployment on their own, rate-limited and on the record, and the permanent fix follows.",{"title":1641,"body":1642},"Misconfigurations surfaced early","Domains pointed at the wrong project, certificates about to expire, environments drifting apart: every resource carries its advisories.",[1644,1647,1650],{"title":1645,"body":1646},"Install from the Marketplace","Vercel's OAuth flow, so there are no API keys to create or rotate. Pick the team and the projects Polylane can see.",{"title":1648,"body":1649},"Webhooks keep it current","What deployed, which domain moved, what config changed: the graph knows the moment it happens.",{"title":516,"body":1651},"Failures get triaged on arrival, regressions are judged against each project's normal, and fixes arrive for your review.",{"catalog":383},{"type":1654,"category":884,"subcategory":884,"name":1655,"description":1656,"longDescription":1657,"icon":1658,"comingSoon":15,"tools":1659,"supportedResources":1675,"triggers":1712,"automationTemplates":1722,"automationActions":1738,"recommendedTemplateSlug":1734,"marketing":1739,"_object":381,"_links":1760},"render","Render","Web services, databases, and cron jobs","Connect your Render account to give agents visibility into your web services, databases, and cron jobs. Agents can monitor deployments, check service health, and help troubleshoot performance issues.","RenderLogo",[1660,1663,1666,1669,1672],{"name":1661,"summary":1662},"renderApi","Call any Render REST API endpoint that lacks a dedicated tool",{"name":1664,"summary":1665},"renderGetLogs","Get logs for a Render service",{"name":1667,"summary":1668},"renderDeploys","List a Render service's deploys, or get one deploy's full detail",{"name":1670,"summary":1671},"renderGetServiceEvents","Get audit events for a Render service",{"name":1673,"summary":1674},"renderGetMetrics","Get metrics for a Render service",[1676,1678,1681,1684,1687,1690,1693,1695,1697,1700,1703,1706,1709],{"type":1677,"name":1540,"icon":1658},"render.project",{"type":1679,"name":1680,"icon":1658},"render.environment","Environment",{"type":1682,"name":1683,"icon":1658},"render.service.web_service","Web Service",{"type":1685,"name":1686,"icon":1658},"render.service.static_site","Static Site",{"type":1688,"name":1689,"icon":1658},"render.service.private_service","Private Service",{"type":1691,"name":1692,"icon":1658},"render.service.background_worker","Background Worker",{"type":1694,"name":1581,"icon":1658},"render.service.cron_job",{"type":1696,"name":1578,"icon":1658},"render.workflow",{"type":1698,"name":1699,"icon":1658},"render.domain","Custom Domain",{"type":1701,"name":1702,"icon":1658},"render.postgres","Postgres Database",{"type":1704,"name":1705,"icon":1658},"render.key_value","Key-Value Store",{"type":1707,"name":1708,"icon":1658},"render.disk","Persistent Disk",{"type":1710,"name":1711,"icon":1658},"render.env_group","Environment Group",[1713,1714,1719,1720,1721],{"type":431,"name":432,"description":433,"icon":434},{"type":1715,"name":1716,"description":1717,"icon":1718},"render.deployment","Render Deploy","Fires when a Render deploy reaches a terminal status (live, deactivated, build_failed, update_failed, or canceled).","i-simple-icons-render",{"type":1184,"name":1185,"description":1186,"icon":1187},{"type":1189,"name":1190,"description":1191,"icon":1192},{"type":1194,"name":1195,"description":1196,"icon":1197},[1723,1728,1733],{"slug":1724,"name":1725,"description":1726,"triggerTypes":1727},"daily-render-infrastructure-audit","Daily Render infrastructure audit","Run a daily audit of your Render observability setup and flag gaps in monitoring",[295],{"slug":1729,"name":1730,"description":1731,"triggerTypes":1732},"auto-rollback-render-deployment","Auto-rollback unhealthy Render deploy","On every Render deploy, check post-deploy health and redeploy the previous succeeded commit automatically when degraded.",[1715],{"slug":1734,"name":1735,"description":1736,"triggerTypes":1737},"babysit-render-deployment","Babysit Render deployment","On every Render deploy, check the build and post-deploy health and open an incident with a rollback recommendation when degraded.",[1715],[],{"whatPolylaneDoes":1740,"howItWorks":1753},[1741,1744,1747,1750],{"title":1742,"body":1743},"Every service in one graph","Web services, private services, background workers, cron jobs, Postgres, and key-value stores, with their environments, edges, and history.",{"title":1745,"body":1746},"The jobs that fail quietly","Background workers and cron jobs don't page anyone when they break; they just stop. Polylane notices, investigates, and tells you before the backlog does.",{"title":1748,"body":1749},"Metrics and logs read on a cadence","Agents comb each service's telemetry and judge it against how that service normally behaves. No thresholds to tune.",{"title":1751,"body":1752},"Rollback, then the permanent fix","Off by default. Enabled, agents restore the last known-good deploy on their own, rate-limited and on the record, and the permanent fix follows.",[1754,1756,1758],{"title":510,"body":1755},"Paste an API key from your Render account settings. It's encrypted before it's stored, and the agent never sees it.",{"title":513,"body":1757},"Services, databases, and domains land in the graph, and every sync after records what changed.",{"title":516,"body":1759},"Telemetry is combed on a cadence, deploy failures get investigated as they land, and fixes arrive for your review.",{"catalog":383},{"type":1762,"category":884,"subcategory":884,"name":1763,"description":1764,"longDescription":1765,"icon":1766,"comingSoon":15,"tools":1767,"supportedResources":1774,"triggers":1781,"automationTemplates":1785,"automationActions":1791,"recommendedTemplateSlug":1787,"marketing":1792,"_object":381,"_links":1815},"planetscale","PlanetScale","Databases, branches, and schema changes","Connect your PlanetScale organization to give agents visibility into your databases and branches. Agents can track schema changes, monitor branch state, and correlate database activity with the rest of your infrastructure.","PlanetscaleLogo",[1768,1771],{"name":1769,"summary":1770},"planetscaleApi","Call any PlanetScale REST API endpoint that lacks a dedicated tool",{"name":1772,"summary":1773},"planetscaleGetQueryInsights","Get PlanetScale Query Insights for a database branch: top queries, query errors, or latency anomalies",[1775,1778],{"type":1776,"name":1777,"icon":1766},"planetscale.database","Database",{"type":1779,"name":1780,"icon":1766},"planetscale.branch","Database Branch",[1782,1783,1784],{"type":1184,"name":1185,"description":1186,"icon":1187},{"type":1189,"name":1190,"description":1191,"icon":1192},{"type":1194,"name":1195,"description":1196,"icon":1197},[1786],{"slug":1787,"name":1788,"description":1789,"triggerTypes":1790},"daily-planetscale-infrastructure-audit","Daily PlanetScale infrastructure audit","Run a daily audit of your PlanetScale observability setup and flag gaps in monitoring",[295],[],{"whatPolylaneDoes":1793,"howItWorks":1806},[1794,1797,1800,1803],{"title":1795,"body":1796},"Databases and branches in the graph","Every database and branch with its plan, region, schema state, and history. MySQL and Postgres, next to everything else you run.",{"title":1798,"body":1799},"Linked to the services that query them","Polylane matches connection hosts and usernames, so when checkout latency spikes, the graph already knows the database behind it.",{"title":1801,"body":1802},"Query Insights as evidence","Mid-investigation, agents pull the slow queries, the erroring queries, and the latency windows PlanetScale itself flagged.",{"title":1804,"body":1805},"Your rows stay yours","Polylane reads the PlanetScale API and nothing else: it never connects to your databases, never sees your rows, and never holds database credentials.",[1807,1809,1812],{"title":510,"body":1808},"OAuth with read scopes only. Click connect, approve in PlanetScale, and syncing starts.",{"title":1810,"body":1811},"Link","Databases and branches join the graph, matched to the services that query them.",{"title":1813,"body":1814},"Investigations reach the query","A regression traces from the service, to the branch, to the exact query, and the fix arrives for your review.",{"catalog":383},{"type":1817,"category":884,"subcategory":884,"name":1818,"description":1819,"longDescription":1820,"icon":1821,"comingSoon":15,"tools":1822,"supportedResources":1835,"triggers":1851,"automationTemplates":1860,"automationActions":1876,"recommendedTemplateSlug":1872,"marketing":1877,"_object":381,"_links":1898},"fly","Fly.io","Machines, volumes, and global edge deployments","Connect your Fly.io account to let agents monitor your machines, volumes, and global deployments. Agents can check app health, analyze regional performance, and help manage your distributed infrastructure.","FlyLogo",[1823,1826,1829,1832],{"name":1824,"summary":1825},"flyApi","Call any Fly.io Machines REST endpoint that lacks a dedicated tool",{"name":1827,"summary":1828},"flyListReleases","List release history for a Fly.io app",{"name":1830,"summary":1831},"flyQueryMetrics","Query Fly.io Prometheus metrics for an app",{"name":1833,"summary":1834},"flyGetLogs","Get logs for a Fly.io app via Prometheus metrics",[1836,1839,1842,1845,1848],{"type":1837,"name":1838,"icon":1821},"fly.app","Fly App",{"type":1840,"name":1841,"icon":1821},"fly.machine","Machine",{"type":1843,"name":1844,"icon":1821},"fly.volume","Volume",{"type":1846,"name":1847,"icon":1821},"fly.certificate","Certificate",{"type":1849,"name":1850,"icon":1821},"fly.secret","Secret",[1852,1857,1858,1859],{"type":1853,"name":1854,"description":1855,"icon":1856},"fly.deployment","Fly Deploy","Fires when a Fly app rolls out a new image across one or more machines.","i-logos-fly-icon",{"type":1184,"name":1185,"description":1186,"icon":1187},{"type":1189,"name":1190,"description":1191,"icon":1192},{"type":1194,"name":1195,"description":1196,"icon":1197},[1861,1866,1871],{"slug":1862,"name":1863,"description":1864,"triggerTypes":1865},"daily-fly-infrastructure-audit","Daily Fly.io infrastructure audit","Run a daily audit of your Fly.io observability setup and flag gaps in monitoring",[295],{"slug":1867,"name":1868,"description":1869,"triggerTypes":1870},"auto-rollback-fly-deployment","Auto-rollback unhealthy Fly deploy","On every Fly app rollout, check post-deploy health and roll machines back to the previous image automatically when degraded.",[1853],{"slug":1872,"name":1873,"description":1874,"triggerTypes":1875},"babysit-fly-deployment","Babysit Fly deployment","On every Fly app rollout, confirm machines moved cleanly and check post-deploy health, opening an incident with a rollback recommendation when degraded.",[1853],[],{"whatPolylaneDoes":1878,"howItWorks":1891},[1879,1882,1885,1888],{"title":1880,"body":1881},"The whole fleet in one graph","Every app with its machines, volumes, certificates, and secrets, next to whatever else you run on other clouds.",{"title":1883,"body":1884},"Every region at once","Your machines run wherever your users are; your attention can't. Agents see the whole fleet, so one bad region stands out against the ones that are fine.",{"title":1886,"body":1887},"Detection without alert rules","Agents comb app and machine metrics and logs on a cadence and judge them against how each app normally behaves.",{"title":1889,"body":1890},"History for a fleet that churns","Machines deploy, stop, start, and move. Each sync records what appeared, changed, or disappeared, so investigations start from the change.",[1892,1894,1896],{"title":510,"body":1893},"Paste a read-only API token, the most restrictive type Fly offers. It's encrypted before it's stored, and the agent never sees it.",{"title":513,"body":1895},"Apps, machines, and volumes land in the graph with their regions and history.",{"title":516,"body":1897},"The fleet is watched in every region at once, and investigations don't wait for your timezone.",{"catalog":383},{"type":1900,"category":884,"subcategory":884,"name":1901,"description":1902,"longDescription":1903,"icon":1904,"comingSoon":15,"tools":1905,"supportedResources":1909,"triggers":1980,"automationTemplates":1984,"automationActions":1990,"recommendedTemplateSlug":1986,"marketing":1991,"_object":381,"_links":2012},"kubernetes","Kubernetes","Pods, Deployments, Nodes, Services, and more","Connect any Kubernetes cluster with a kubeconfig or a ServiceAccount token to give agents read-only visibility into your workloads. Agents can map your cluster topology, inspect pods, deployments and nodes, read logs and events, and help troubleshoot incidents.","i-logos-kubernetes",[1906],{"name":1907,"summary":1908},"kubectl","Read and operate on Kubernetes resources on a connected cluster (get\u002Flist\u002Fdescribe\u002Flogs\u002Fevents\u002Ftop\u002Frollout, plus scale, restart, patch, delete, apply)",[1910,1913,1916,1918,1921,1924,1927,1930,1933,1936,1939,1942,1945,1947,1950,1953,1956,1959,1962,1965,1968,1971,1974,1977],{"type":1911,"name":1912,"icon":1125},"k8s.namespace","Namespace",{"type":1914,"name":1915,"icon":1125},"k8s.node","Node",{"type":1917,"name":1543,"icon":1125},"k8s.deployment",{"type":1919,"name":1920,"icon":1125},"k8s.statefulset","StatefulSet",{"type":1922,"name":1923,"icon":1125},"k8s.daemonset","DaemonSet",{"type":1925,"name":1926,"icon":1125},"k8s.replicaset","ReplicaSet",{"type":1928,"name":1929,"icon":1125},"k8s.job","Job",{"type":1931,"name":1932,"icon":1125},"k8s.cronjob","CronJob",{"type":1934,"name":1935,"icon":1125},"k8s.pod","Pod",{"type":1937,"name":1938,"icon":1125},"k8s.service","Service",{"type":1940,"name":1941,"icon":1125},"k8s.ingress","Ingress",{"type":1943,"name":1944,"icon":1125},"k8s.configmap","ConfigMap",{"type":1946,"name":1850,"icon":1125},"k8s.secret",{"type":1948,"name":1949,"icon":1125},"k8s.service_account","Service Account",{"type":1951,"name":1952,"icon":1125},"k8s.role","Role",{"type":1954,"name":1955,"icon":1125},"k8s.role_binding","Role Binding",{"type":1957,"name":1958,"icon":1125},"k8s.cluster_role","Cluster Role",{"type":1960,"name":1961,"icon":1125},"k8s.cluster_role_binding","Cluster Role Binding",{"type":1963,"name":1964,"icon":1125},"k8s.persistent_volume","Persistent Volume",{"type":1966,"name":1967,"icon":1125},"k8s.persistent_volume_claim","Persistent Volume Claim",{"type":1969,"name":1970,"icon":1125},"k8s.storage_class","Storage Class",{"type":1972,"name":1973,"icon":1125},"k8s.network_policy","Network Policy",{"type":1975,"name":1976,"icon":1125},"k8s.hpa","Horizontal Pod Autoscaler",{"type":1978,"name":1979,"icon":1125},"k8s.pdb","Pod Disruption Budget",[1981,1982,1983],{"type":1184,"name":1185,"description":1186,"icon":1187},{"type":1189,"name":1190,"description":1191,"icon":1192},{"type":1194,"name":1195,"description":1196,"icon":1197},[1985],{"slug":1986,"name":1987,"description":1988,"triggerTypes":1989},"daily-kubernetes-infrastructure-audit","Daily Kubernetes infrastructure audit","Run a daily audit of your Kubernetes observability setup and flag gaps in monitoring",[295],[],{"whatPolylaneDoes":1992,"howItWorks":2005},[1993,1996,1999,2002],{"title":1994,"body":1995},"The full cluster topology","Deployments, StatefulSets, pods, services, ingresses, CronJobs, and 24 resource types in all, alongside the clouds the cluster runs on.",{"title":1997,"body":1998},"The failures Kubernetes hides well","Crashloops, OOM kills, pods stuck pending, rollouts that never converge. The cluster knows; Polylane investigates and writes up what happened.",{"title":2000,"body":2001},"Direct inspection","Agents inspect pods, read logs and events, and map the topology on a cadence. No dashboards in the loop.",{"title":2003,"body":2004},"get, list, watch, and nothing else","Polylane only makes read-only Kubernetes API calls, and you can scope the ServiceAccount to a single namespace.",[2006,2008,2010],{"title":510,"body":2007},"Paste a kubeconfig or a read-only ServiceAccount token. Credentials are encrypted before they're stored, and the agent never sees them.",{"title":153,"body":2009},"The cluster topology lands in the graph, and every sync after records what changed.",{"title":516,"body":2011},"Workloads are watched as they churn, failures get investigated as they happen, and manifest fixes arrive for your review.",{"catalog":383},{"type":2014,"category":884,"subcategory":884,"name":2015,"description":2016,"longDescription":2017,"icon":2018,"comingSoon":15,"tools":2019,"supportedResources":2032,"triggers":2067,"automationTemplates":2072,"automationActions":2078,"recommendedTemplateSlug":2074,"marketing":2079,"_object":381,"_links":2100},"supabase","Supabase","Database, auth, storage, and edge functions","Connect your Supabase project to let agents monitor your database, auth, storage, and edge functions. Agents can analyze query performance, check auth flows, and help optimize your backend.","SupabaseLogo",[2020,2023,2026,2029],{"name":2021,"summary":2022},"supabaseApi","Call any Supabase Management API endpoint that lacks a dedicated tool",{"name":2024,"summary":2025},"supabaseGetLogs","Get Supabase service logs for a project: API gateway, edge functions, Postgres, Auth, Storage, or Realtime",{"name":2027,"summary":2028},"supabaseGetAdvisors","Get Supabase security and performance advisor findings for a project",{"name":2030,"summary":2031},"supabaseGetProjectHealth","Get the live health of a Supabase project's bundled services (database, REST, Auth, Storage, Realtime)",[2033,2035,2037,2040,2043,2045,2048,2051,2054,2057,2060,2062,2064],{"type":2034,"name":1540,"icon":2018},"supabase.project",{"type":2036,"name":1702,"icon":2018},"supabase.database",{"type":2038,"name":2039,"icon":2018},"supabase.pooler","Connection Pooler",{"type":2041,"name":2042,"icon":2018},"supabase.function","Edge Function",{"type":2044,"name":1780,"icon":2018},"supabase.branch",{"type":2046,"name":2047,"icon":2018},"supabase.bucket","Storage Bucket",{"type":2049,"name":2050,"icon":2018},"supabase.auth","Auth Service",{"type":2052,"name":2053,"icon":2018},"supabase.storage","Storage Service",{"type":2055,"name":2056,"icon":2018},"supabase.realtime","Realtime Service",{"type":2058,"name":2059,"icon":2018},"supabase.rest","REST API",{"type":2061,"name":1699,"icon":2018},"supabase.custom_domain",{"type":2063,"name":1850,"icon":2018},"supabase.secret",{"type":2065,"name":2066,"icon":2018},"supabase.network_restrictions","Network Restrictions",[2068,2069,2070,2071],{"type":431,"name":432,"description":433,"icon":434},{"type":1184,"name":1185,"description":1186,"icon":1187},{"type":1189,"name":1190,"description":1191,"icon":1192},{"type":1194,"name":1195,"description":1196,"icon":1197},[2073],{"slug":2074,"name":2075,"description":2076,"triggerTypes":2077},"daily-supabase-infrastructure-audit","Daily Supabase infrastructure audit","Run a daily audit of your Supabase observability setup and flag gaps in monitoring",[295],[],{"whatPolylaneDoes":2080,"howItWorks":2092},[2081,2084,2087,2090],{"title":2082,"body":2083},"Projects and their pieces in the graph","Every project with its edge functions, database branches, and storage buckets, next to everything else you run.",{"title":2085,"body":2086},"Linked to the services that use them","Polylane matches Supabase hosts in env vars across your other clouds, so the graph already knows which service talks to which project.",{"title":2088,"body":2089},"Change history per sync","Functions redeploy, branches come and go, buckets appear. Each sync records what changed, so investigations start from the change.",{"title":1804,"body":2091},"Polylane reads the Supabase Management API and nothing else: it never connects to your databases, never sees your rows, and never stores project API keys.",[2093,2095,2097],{"title":510,"body":2094},"OAuth with read scopes, or paste a personal access token. Either way it's encrypted before it's stored, and the agent never sees it.",{"title":513,"body":2096},"Projects, edge functions, branches, and buckets land in the graph with their history.",{"title":2098,"body":2099},"Agents investigate","A failing function or an unhealthy project traces to the services around it, and the fix arrives for your review.",{"catalog":383},{"type":2102,"category":884,"subcategory":884,"name":2103,"description":2104,"longDescription":2105,"icon":2106,"comingSoon":862,"tools":2107,"supportedResources":2108,"triggers":2109,"automationTemplates":2110,"automationActions":2111,"_object":381,"_links":2112},"gcp","GCP","Compute Engine, Cloud Run, GKE, and Cloud SQL","Connect your Google Cloud Platform account to give agents visibility into your GCP infrastructure including Compute Engine, Cloud Run, GKE, and Cloud SQL. Agents can monitor resources and help optimize your cloud environment.","i-logos-google-cloud",[],[],[],[],[],{"catalog":383},{"type":2114,"category":884,"subcategory":884,"name":2115,"description":2116,"longDescription":2117,"icon":2118,"comingSoon":862,"tools":2119,"supportedResources":2120,"triggers":2121,"automationTemplates":2122,"automationActions":2123,"_object":381,"_links":2124},"azure","Azure","VMs, App Service, AKS, and Azure SQL","Connect your Azure account to give agents visibility into your Azure infrastructure including Virtual Machines, App Service, AKS, and Azure SQL. Agents can monitor resources and help manage your cloud environment.","i-logos-microsoft-azure",[],[],[],[],[],{"catalog":383},{"type":2126,"category":884,"subcategory":884,"name":2127,"description":2128,"longDescription":2129,"icon":2130,"comingSoon":15,"tools":2131,"supportedResources":2147,"triggers":2174,"automationTemplates":2182,"automationActions":2188,"recommendedTemplateSlug":2184,"_object":381,"_links":2189},"modal","Modal","Serverless GPU apps, functions, and sandboxes","Connect your Modal workspace to map its environments, apps, functions, web endpoints, sandboxes, volumes, secrets, queues, and dicts into the context graph. Agents can then reason about what runs where, what each function depends on, and what changed between syncs.","ModalLogo",[2132,2135,2138,2141,2144],{"name":2133,"summary":2134},"modalGetLogs","Get Modal app logs: per-bucket volume by stream plus sampled lines",{"name":2136,"summary":2137},"modalListSandboxes","List Modal sandboxes in an environment, with their state and resource shape",{"name":2139,"summary":2140},"modalListDeployments","List Modal app deployments: version, who deployed, and when",{"name":2142,"summary":2143},"modalDescribeApp","Describe one Modal app: state, deploy provenance, and the functions inside it",{"name":2145,"summary":2146},"modalGetCost","Get metered Modal spend, for one app or broken down across the workspace",[2148,2150,2153,2156,2159,2161,2164,2166,2168,2171],{"type":2149,"name":1680,"icon":2130},"modal.environment",{"type":2151,"name":2152,"icon":2130},"modal.app","App",{"type":2154,"name":2155,"icon":2130},"modal.function","Function",{"type":2157,"name":2158,"icon":2130},"modal.class","Class",{"type":2160,"name":1575,"icon":2130},"modal.sandbox",{"type":2162,"name":2163,"icon":2130},"modal.image","Image",{"type":2165,"name":1844,"icon":2130},"modal.volume",{"type":2167,"name":1850,"icon":2130},"modal.secret",{"type":2169,"name":2170,"icon":2130},"modal.queue","Queue",{"type":2172,"name":2173,"icon":2130},"modal.dict","Dict",[2175,2179,2180,2181],{"type":2176,"name":2177,"description":2178,"icon":263},"modal.deployment","Modal Deploy","Fires when a Modal app is redeployed, which Modal reports as its deploy version moving on.",{"type":1184,"name":1185,"description":1186,"icon":1187},{"type":1189,"name":1190,"description":1191,"icon":1192},{"type":1194,"name":1195,"description":1196,"icon":1197},[2183],{"slug":2184,"name":2185,"description":2186,"triggerTypes":2187},"daily-modal-infrastructure-audit","Daily Modal infrastructure audit","Run a daily audit of your Modal observability setup and flag gaps in monitoring",[295],[],{"catalog":383},{"type":2191,"category":884,"subcategory":884,"name":2192,"description":2193,"longDescription":2194,"icon":2195,"comingSoon":862,"tools":2196,"supportedResources":2197,"triggers":2198,"automationTemplates":2199,"automationActions":2200,"_object":381,"_links":2201},"runpod","Runpod","On-demand GPU pods, serverless endpoints, and clusters","Connect your Runpod account to give agents visibility into your GPU pods, serverless endpoints, and clusters. Agents can monitor worker health, inspect failed jobs, and help you understand your GPU spend.","RunpodLogo",[],[],[],[],[],{"catalog":383},{"type":2203,"category":884,"subcategory":884,"name":2204,"description":2205,"longDescription":2206,"icon":2207,"comingSoon":862,"tools":2208,"supportedResources":2209,"triggers":2210,"automationTemplates":2211,"automationActions":2212,"_object":381,"_links":2213},"parasail","Parasail","Inference endpoints, batch jobs, and model deployments","Connect your Parasail account to give agents visibility into your inference endpoints and batch jobs. Agents can monitor request latency, check deployment health, and help troubleshoot serving issues.","ParasailLogo",[],[],[],[],[],{"catalog":383},{"type":2215,"category":884,"subcategory":884,"name":2216,"description":2217,"longDescription":2218,"icon":2219,"comingSoon":862,"tools":2220,"supportedResources":2221,"triggers":2222,"automationTemplates":2223,"automationActions":2224,"_object":381,"_links":2225},"baseten","Baseten","Model deployments, inference endpoints, and autoscaling","Connect your Baseten workspace to give agents visibility into your model deployments and inference endpoints. Agents can monitor autoscaling behavior, inspect failed predictions, and help troubleshoot cold starts.","BasetenLogo",[],[],[],[],[],{"catalog":383},{"type":2227,"category":884,"subcategory":884,"name":2228,"description":2229,"longDescription":2230,"icon":2231,"comingSoon":862,"tools":2232,"supportedResources":2233,"triggers":2234,"automationTemplates":2235,"automationActions":2236,"_object":381,"_links":2237},"clickhouse","ClickHouse","Columnar database for real-time analytics","Connect your ClickHouse Cloud service to give agents visibility into your analytical database. Agents can inspect query performance, monitor service health, and help you understand your data infrastructure.","ClickhouseLogo",[],[],[],[],[],{"catalog":383},{"type":2239,"category":884,"subcategory":884,"name":2240,"description":2241,"longDescription":2242,"icon":2243,"comingSoon":862,"tools":2244,"supportedResources":2245,"triggers":2246,"automationTemplates":2247,"automationActions":2248,"_object":381,"_links":2249},"upstash","Upstash","Serverless Redis, Kafka, and vector databases","Connect your Upstash account to give agents visibility into your serverless Redis, Kafka, and vector databases. Agents can monitor usage, analyze performance, and help troubleshoot your data layer.","UpstashLogo",[],[],[],[],[],{"catalog":383},{"type":2251,"category":884,"subcategory":884,"name":2252,"description":2253,"longDescription":2254,"icon":2255,"comingSoon":862,"tools":2256,"supportedResources":2257,"triggers":2258,"automationTemplates":2259,"automationActions":2260,"_object":381,"_links":2261},"turso","Turso","Edge-hosted libSQL (SQLite) databases","Connect your Turso account to give agents visibility into your edge-hosted libSQL databases. Agents can inspect database health, analyze query performance across locations, and help troubleshoot your data layer.","i-simple-icons-turso",[],[],[],[],[],{"catalog":383},{"type":2263,"category":884,"subcategory":884,"name":2264,"description":2265,"longDescription":2266,"icon":2267,"comingSoon":862,"tools":2268,"supportedResources":2269,"triggers":2270,"automationTemplates":2271,"automationActions":2272,"_object":381,"_links":2273},"railway","Railway","Services, databases, and instant deployments","Connect your Railway account to let agents monitor your services, databases, and deployments. Agents can analyze resource usage, check service health, and help troubleshoot infrastructure issues.","RailwayLogo",[],[],[],[],[],{"catalog":383},{"type":2275,"category":884,"subcategory":884,"name":2276,"description":2277,"longDescription":2278,"icon":2279,"comingSoon":862,"tools":2280,"supportedResources":2281,"triggers":2282,"automationTemplates":2283,"automationActions":2284,"_object":381,"_links":2285},"digitalocean","Digital Ocean","Modern cloud provider","Connect your Digital Ocean account to let agents monitor your Digital Ocean infrastructure. Agents can analyze resource usage, check service health, and help troubleshoot infrastructure issues.","i-logos:digital-ocean-icon",[],[],[],[],[],{"catalog":383},{"type":2287,"category":884,"subcategory":884,"name":2288,"description":2289,"longDescription":2290,"icon":2291,"comingSoon":862,"tools":2292,"supportedResources":2293,"triggers":2294,"automationTemplates":2295,"automationActions":2296,"_object":381,"_links":2297},"firebase","Firebase","Firestore, Cloud Functions, hosting, and auth","Connect your Firebase project to give agents visibility into your Firestore database, Cloud Functions, hosting, and authentication. Agents can monitor usage, analyze performance, and help optimize your app.","i-logos-firebase-icon",[],[],[],[],[],{"catalog":383},{"type":2299,"category":884,"subcategory":884,"name":2300,"description":2301,"longDescription":2302,"icon":2303,"comingSoon":862,"tools":2304,"supportedResources":2305,"triggers":2306,"automationTemplates":2307,"automationActions":2308,"_object":381,"_links":2309},"clerk","Clerk","User authentication, sessions, and organizations","Connect your Clerk application to give agents visibility into your authentication stack. Agents can monitor sign-up and sign-in activity, inspect user and organization data, and help troubleshoot authentication issues.","i-simple-icons-clerk",[],[],[],[],[],{"catalog":383},{"type":2311,"category":884,"subcategory":884,"name":2312,"description":2313,"longDescription":2314,"icon":2315,"comingSoon":862,"tools":2316,"supportedResources":2317,"triggers":2318,"automationTemplates":2319,"automationActions":2320,"_object":381,"_links":2321},"workos","WorkOS","SSO, directory sync, and enterprise auth","Connect your WorkOS environment to give agents visibility into your enterprise authentication. Agents can inspect SSO connections, monitor directory sync, and help troubleshoot login and provisioning issues.","i-logos-workos-icon",[],[],[],[],[],{"catalog":383},{"type":2323,"category":884,"subcategory":884,"name":2324,"description":2325,"longDescription":2326,"icon":2327,"comingSoon":862,"tools":2328,"supportedResources":2329,"triggers":2330,"automationTemplates":2331,"automationActions":2332,"_object":381,"_links":2333},"triggerdev","Trigger.dev","Background jobs, scheduled tasks, and workflow runs","Connect your Trigger.dev project to give agents visibility into your background jobs and workflow runs. Agents can monitor run failures, inspect task performance, and help troubleshoot stuck or failing jobs.","TriggerdevLogo",[],[],[],[],[],{"catalog":383},{"type":2335,"category":884,"subcategory":884,"name":2336,"description":2337,"longDescription":2338,"icon":2339,"comingSoon":862,"tools":2340,"supportedResources":2341,"triggers":2342,"automationTemplates":2343,"automationActions":2344,"_object":381,"_links":2345},"hatchet","Hatchet","Task queues, workflows, and durable execution","Connect your Hatchet tenant to give agents visibility into your task queues and workflow runs. Agents can monitor queue health, inspect failed and stuck runs, and help troubleshoot worker and concurrency issues.","HatchetLogo",[],[],[],[],[],{"catalog":383},{"type":2347,"category":198,"subcategory":386,"name":2348,"description":2349,"longDescription":2350,"icon":2351,"comingSoon":862,"tools":2352,"supportedResources":2353,"triggers":2354,"automationTemplates":2355,"automationActions":2356,"_object":381,"_links":2357},"splunk","Splunk","Log search, event analysis, and security monitoring","Connect your Splunk environment to let agents search logs, analyze events, and investigate security incidents. Agents can run SPL queries and correlate data across your observability stack.","i-logos-splunk",[],[],[],[],[],{"catalog":383},{"type":2359,"category":198,"subcategory":386,"name":2360,"description":2361,"longDescription":2362,"icon":2363,"comingSoon":862,"tools":2364,"supportedResources":2365,"triggers":2366,"automationTemplates":2367,"automationActions":2368,"_object":381,"_links":2369},"grafana","Grafana Cloud","Query dashboards, metrics, logs, and alerts from Grafana Cloud","Connect your Grafana Cloud stack to let agents query dashboards, explore Prometheus metrics, search Loki logs, and investigate alerts. Agents can correlate observability data across your stack to diagnose issues faster.","i-logos-grafana",[],[],[],[],[],{"catalog":383},{"type":2371,"category":198,"subcategory":386,"name":2372,"description":2373,"longDescription":2374,"icon":2375,"comingSoon":862,"tools":2376,"supportedResources":2377,"triggers":2378,"automationTemplates":2379,"automationActions":2380,"_object":381,"_links":2381},"logfire","Logfire","Query traces, metrics, and logs from Pydantic Logfire","Connect your Pydantic Logfire project to let agents query traces, explore metrics, and search structured logs. Agents can analyze your OpenTelemetry data to troubleshoot issues and understand application behavior.","LogfireLogo",[],[],[],[],[],{"catalog":383},{"type":2383,"category":198,"subcategory":386,"name":2384,"description":2385,"longDescription":2386,"icon":2387,"comingSoon":862,"tools":2388,"supportedResources":2389,"triggers":2390,"automationTemplates":2391,"automationActions":2392,"_object":381,"_links":2393},"signoz","SigNoz","Query traces, metrics, and logs from SigNoz","Connect your SigNoz instance to let agents query distributed traces, explore metrics, and search logs. Agents can analyze your OpenTelemetry data to investigate latency, errors, and service health.","SignozLogo",[],[],[],[],[],{"catalog":383},{"type":2395,"category":198,"subcategory":386,"name":2396,"description":2397,"longDescription":2398,"icon":2399,"comingSoon":862,"tools":2400,"supportedResources":2401,"triggers":2402,"automationTemplates":2403,"automationActions":2404,"_object":381,"_links":2405},"langsmith","LangSmith","Trace, evaluate, and monitor LLM applications from LangSmith","Connect your LangSmith organization to let agents query traces, inspect runs, and review evaluation results. Agents can analyze your LLM application telemetry to debug chains, track quality, and understand model behavior.","i-simple-icons-langchain",[],[],[],[],[],{"catalog":383},{"type":2407,"category":198,"subcategory":386,"name":2408,"description":2409,"longDescription":2410,"icon":2411,"comingSoon":862,"tools":2412,"supportedResources":2413,"triggers":2414,"automationTemplates":2415,"automationActions":2416,"_object":381,"_links":2417},"braintrust","Braintrust","Evals, logging, and prompt monitoring from Braintrust","Connect your Braintrust organization to let agents query experiment results, inspect logs, and review evals. Agents can correlate model performance with your infrastructure to catch regressions in AI features.","i-simple-icons-braintrust",[],[],[],[],[],{"catalog":383},{"type":2419,"category":198,"subcategory":386,"name":2420,"description":2421,"longDescription":2422,"icon":2423,"comingSoon":862,"tools":2424,"supportedResources":2425,"triggers":2426,"automationTemplates":2427,"automationActions":2428,"_object":381,"_links":2429},"arize","Arize","LLM observability, evals, and model monitoring from Arize","Connect your Arize space to let agents query traces, monitor model performance, and review evaluation results. Agents can analyze your LLM and ML telemetry to investigate drift, latency, and quality regressions.","ArizeLogo",[],[],[],[],[],{"catalog":383},{"type":2431,"category":198,"subcategory":857,"name":2432,"description":2433,"longDescription":2434,"icon":2435,"comingSoon":862,"tools":2436,"supportedResources":2437,"triggers":2438,"automationTemplates":2439,"automationActions":2440,"_object":381,"_links":2441},"linear","Linear","Create and manage Linear issues from Polylane","Connect Linear to let agents create issues, update statuses, and track project progress. Agents can automatically file bugs from investigations and keep your product development workflow in sync with your infrastructure.","i-simple-icons-linear",[],[],[],[],[],{"catalog":383},{"type":2443,"category":198,"subcategory":819,"name":2444,"description":2445,"longDescription":2446,"icon":2447,"comingSoon":862,"tools":2448,"supportedResources":2449,"triggers":2450,"automationTemplates":2451,"automationActions":2452,"_object":381,"_links":2453},"microsoft-teams","Microsoft Teams","Work with Polylane directly in Microsoft Teams","Bring Polylane into your Microsoft Teams workspace so your team can interact with agents directly in channels. Get notifications, ask questions, and trigger investigations without leaving your communication tools.","i-logos-microsoft-teams",[],[],[],[],[],{"catalog":383},{"type":2455,"category":198,"subcategory":2456,"name":2457,"description":2458,"longDescription":2459,"icon":2460,"comingSoon":862,"tools":2461,"supportedResources":2462,"triggers":2463,"automationTemplates":2464,"automationActions":2465,"_object":381,"_links":2466},"confluence","knowledge-base","Confluence","Read and write Confluence pages from Polylane","Connect Confluence to let agents search pages, pull context from your documentation, and draft runbooks or postmortems. Agents can ground their answers in your team's knowledge base and keep docs up to date.","i-logos-confluence",[],[],[],[],[],{"catalog":383},{"type":2468,"category":198,"subcategory":2456,"name":2469,"description":2470,"longDescription":2471,"icon":2472,"comingSoon":862,"tools":2473,"supportedResources":2474,"triggers":2475,"automationTemplates":2476,"automationActions":2477,"_object":381,"_links":2478},"notion","Notion","Read and write Notion pages and databases","Connect Notion to let agents search pages, query databases, and create new entries. Agents can pull context from your wikis and runbooks, and capture findings from investigations directly in your workspace.","i-logos-notion-icon",[],[],[],[],[],{"catalog":383},{"type":2480,"category":198,"subcategory":199,"name":2481,"description":2482,"longDescription":2483,"icon":2484,"comingSoon":862,"tools":2485,"supportedResources":2486,"triggers":2487,"automationTemplates":2488,"automationActions":2489,"_object":381,"_links":2490},"gitlab","GitLab","Connect GitLab for enhanced codebase context","Give agents access to your GitLab repositories for code search, merge request context, and codebase understanding. Agents can browse files, understand your architecture, and provide more accurate answers grounded in your actual code.","i-logos-gitlab-icon",[],[],[],[],[],{"catalog":383},{"type":2492,"category":198,"subcategory":871,"name":2493,"description":873,"longDescription":2494,"icon":2495,"comingSoon":862,"tools":2496,"supportedResources":2497,"triggers":2498,"automationTemplates":2499,"automationActions":2500,"_object":381,"_links":2501},"incident-io","incident.io","Connect incident.io to let agents declare incidents, update statuses, and pull context from active response efforts. Agents can correlate infrastructure issues with ongoing incidents to speed up resolution.","i-logos-incident-icon",[],[],[],[],[],{"catalog":383},{"type":2503,"category":884,"subcategory":884,"name":2504,"description":2505,"longDescription":2506,"icon":2507,"comingSoon":862,"tools":2508,"supportedResources":2509,"triggers":2510,"automationTemplates":2511,"automationActions":2512,"_object":381,"_links":2513},"netlify","Netlify","Deployments, serverless functions, and edge handlers","Connect your Netlify account to give agents visibility into your deployments, serverless functions, and edge handlers. Agents can monitor build status, analyze traffic, and help troubleshoot deployment issues.","i-logos-netlify-icon",[],[],[],[],[],{"catalog":383},{"type":2515,"category":198,"subcategory":2516,"name":2517,"description":2518,"longDescription":2519,"icon":2520,"comingSoon":862,"tools":2521,"supportedResources":2522,"triggers":2523,"automationTemplates":2524,"automationActions":2525,"_object":381,"_links":2526},"circleci","ci-cd","CircleCI","Pipelines, workflows, and build insights from CircleCI","Connect CircleCI to let agents inspect pipelines, analyze build failures, and surface workflow trends. Agents can correlate CI signals with your codebase and deployments to speed up debugging.","i-material-icon-theme-circleci",[],[],[],[],[],{"catalog":383},{"type":2528,"category":198,"subcategory":2529,"name":2530,"description":2531,"longDescription":2532,"icon":2533,"comingSoon":862,"tools":2534,"supportedResources":2535,"triggers":2536,"automationTemplates":2537,"automationActions":2538,"_object":381,"_links":2539},"amplitude","product-analytics","Amplitude","Product analytics, funnels, and user behavior","Connect Amplitude to let agents query product analytics, explore funnels, and understand user behavior. Agents can correlate feature usage with system signals to help investigate regressions and growth trends.","i-logos-amplitude-icon",[],[],[],[],[],{"catalog":383},{"type":2541,"category":198,"subcategory":2529,"name":2542,"description":2543,"longDescription":2544,"icon":2545,"comingSoon":862,"tools":2546,"supportedResources":2547,"triggers":2548,"automationTemplates":2549,"automationActions":2550,"_object":381,"_links":2551},"posthog","PostHog","Product analytics, session replays, and feature flags","Connect PostHog to let agents query product analytics, inspect session replays, and check feature flag rollouts. Agents can correlate product data with infrastructure signals to diagnose issues and understand user impact.","i-logos-posthog-icon",[],[],[],[],[],{"catalog":383},{"type":2553,"category":198,"subcategory":2529,"name":2554,"description":2555,"longDescription":2556,"icon":2557,"comingSoon":862,"tools":2558,"supportedResources":2559,"triggers":2560,"automationTemplates":2561,"automationActions":2562,"_object":381,"_links":2563},"mixpanel","Mixpanel","Product analytics, funnels, and user journeys","Connect Mixpanel to let agents query product analytics, explore funnels, and analyze user journeys. Agents can correlate user behavior with system signals to investigate regressions and understand feature impact.","i-simple-icons-mixpanel",[],[],[],[],[],{"catalog":383},{"type":2565,"category":198,"subcategory":2566,"name":2567,"description":2568,"longDescription":2569,"icon":341,"comingSoon":15,"tools":2570,"supportedResources":2571,"triggers":2572,"automationTemplates":2573,"automationActions":2579,"recommendedTemplateSlug":2575,"marketing":2581,"_object":381,"_links":2601},"devin","code-agent","Devin","Delegate autofix implementation to Devin cloud agents","Connect your Devin organization to delegate autofix implementation to Devin cloud agents. Polylane investigates and proposes fixes; Devin opens the pull request on your GitHub. Bring your own Devin API key.",[],[],[],[2574],{"slug":2575,"name":2576,"description":2577,"triggerTypes":2578},"hand-off-production-alerts-to-devin","Hand off production alerts to Devin","When a production alert fires, investigate the root cause, write an implementation plan, and hand the fix off to Devin to open the pull request",[431],[2580],{"actionType":338,"name":339,"description":340,"icon":341},{"whatPolylaneDoes":2582,"howItWorks":2592},[2583,2586,2589],{"title":2584,"body":2585},"Polylane investigates, Devin implements","The investigation ends with a root cause and an evidence trail; Devin takes the handoff and opens the pull request on your GitHub.",{"title":2587,"body":2588},"PRs that link back","Every pull request links back to the investigation that produced it, so the reviewer sees the evidence, not just the diff.",{"title":2590,"body":2591},"Your key, your account","Bring your own Devin API key. Polylane routes the fix through the agent your team already trusts.",[2593,2595,2598],{"title":510,"body":2594},"Paste your Devin API key. It's encrypted before it's stored.",{"title":2596,"body":2597},"Pick your executor","Choose Devin as the autofix executor, per workspace or per automation.",{"title":2599,"body":2600},"Review the PR","Devin implements the fix and opens the pull request; your review and CI gate the merge.",{"catalog":383},{"type":2603,"category":198,"subcategory":2566,"name":2604,"description":2605,"longDescription":2606,"icon":346,"comingSoon":15,"tools":2607,"supportedResources":2608,"triggers":2609,"automationTemplates":2610,"automationActions":2611,"marketing":2613,"_object":381,"_links":2628},"cursor","Cursor","Delegate autofix implementation to Cursor cloud agents","Connect your Cursor account to delegate autofix implementation to Cursor cloud agents. Polylane investigates and proposes fixes; Cursor opens the pull request on your GitHub. Bring your own Cursor API key.",[],[],[],[],[2612],{"actionType":343,"name":344,"description":345,"icon":346},{"whatPolylaneDoes":2614,"howItWorks":2621},[2615,2618,2619],{"title":2616,"body":2617},"Polylane investigates, Cursor implements","The investigation ends with a root cause and an evidence trail; Cursor's cloud agents take the handoff and open the pull request on your GitHub.",{"title":2587,"body":2588},{"title":2590,"body":2620},"Bring your own Cursor API key. Polylane routes the fix through the agent your team already trusts.",[2622,2624,2626],{"title":510,"body":2623},"Paste your Cursor API key. It's encrypted before it's stored.",{"title":2596,"body":2625},"Choose Cursor as the autofix executor, per workspace or per automation.",{"title":2599,"body":2627},"Cursor implements the fix and opens the pull request; your review and CI gate the merge.",{"catalog":383},{"type":2630,"category":198,"subcategory":2566,"name":2631,"description":2632,"longDescription":2633,"icon":351,"comingSoon":15,"tools":2634,"supportedResources":2635,"triggers":2636,"automationTemplates":2637,"automationActions":2638,"marketing":2640,"_object":381,"_links":2656},"factory","Factory","Delegate autofix implementation to Factory droids","Connect your Factory organization to delegate autofix implementation to Factory droids running on managed computers. Polylane investigates and proposes fixes; Factory implements them and pushes the pull request. Bring your own Factory API key.",[],[],[],[],[2639],{"actionType":348,"name":349,"description":350,"icon":351},{"whatPolylaneDoes":2641,"howItWorks":2649},[2642,2645,2647],{"title":2643,"body":2644},"Polylane investigates, Factory implements","The investigation ends with a root cause and an evidence trail; Factory droids take the handoff on managed computers and push the pull request.",{"title":2587,"body":2646},"Every pull request links back to the investigation that produced it, and a PR closed without merging is a tracked outcome, not a mystery.",{"title":2590,"body":2648},"Bring your own Factory API key. Polylane routes the fix through the agent your team already trusts.",[2650,2652,2654],{"title":510,"body":2651},"Paste your Factory API key. It's encrypted before it's stored.",{"title":2596,"body":2653},"Choose Factory as the autofix executor, per workspace or per automation.",{"title":2599,"body":2655},"Factory implements the fix and pushes the pull request; your review and CI gate the merge.",{"catalog":383},{"type":2658,"category":198,"subcategory":2566,"name":2659,"description":2660,"longDescription":2661,"icon":356,"comingSoon":15,"tools":2662,"supportedResources":2663,"triggers":2664,"automationTemplates":2665,"automationActions":2666,"marketing":2668,"_object":381,"_links":2683},"conductor","Conductor","Delegate autofix implementation to Conductor cloud agents","Connect your Conductor account to delegate autofix implementation to coding agents running in Conductor cloud workspaces. Polylane investigates and proposes fixes; Conductor implements them and pushes the pull request. Bring your own Conductor API key.",[],[],[],[],[2667],{"actionType":353,"name":354,"description":355,"icon":356},{"whatPolylaneDoes":2669,"howItWorks":2676},[2670,2673,2674],{"title":2671,"body":2672},"Polylane investigates, Conductor implements","The investigation ends with a root cause and an evidence trail; Conductor agents take the handoff in cloud workspaces and push the pull request.",{"title":2587,"body":2646},{"title":2590,"body":2675},"Bring your own Conductor API key. Polylane routes the fix through the agent your team already trusts.",[2677,2679,2681],{"title":510,"body":2678},"Paste your Conductor API key. It's encrypted before it's stored.",{"title":2596,"body":2680},"Choose Conductor as the autofix executor, per workspace or per automation.",{"title":2599,"body":2682},"Conductor implements the fix and pushes the pull request; your review and CI gate the merge.",{"catalog":383},{"type":2685,"category":198,"subcategory":2566,"name":2686,"description":2687,"longDescription":2688,"icon":2689,"comingSoon":862,"tools":2690,"supportedResources":2691,"triggers":2692,"automationTemplates":2693,"automationActions":2694,"_object":381,"_links":2695},"amp","Amp","Delegate autofix implementation to Amp agents","Connect your Amp account to delegate autofix implementation to Amp, the coding agent by Sourcegraph. Polylane investigates and proposes fixes; Amp implements them and opens the pull request on your GitHub.","AmpLogo",[],[],[],[],[],{"catalog":383},{"type":2697,"category":198,"subcategory":2698,"name":2699,"description":2700,"longDescription":2701,"icon":2702,"comingSoon":15,"tools":2703,"supportedResources":2704,"triggers":2705,"automationTemplates":2706,"automationActions":2707,"marketing":2708,"_object":381,"_links":2728},"mcp","protocol","MCP Server","Connect any external Model Context Protocol server","Connect your own MCP-compatible server (GitHub MCP, Linear MCP, or any server following the Model Context Protocol). Tools exposed by connected servers become available to the Polylane thread agent automatically.","i-hugeicons:mcp-server",[],[],[],[],[],{"whatPolylaneDoes":2709,"howItWorks":2719},[2710,2713,2716],{"title":2711,"body":2712},"Your tools in the agent's hands","Connect any MCP-compatible server and its tools show up mid-investigation, next to the built-in observability, graph, and code tools.",{"title":2714,"body":2715},"Anything that speaks the protocol","GitHub MCP, Linear MCP, an internal server you wrote last week: if it follows the Model Context Protocol, agents can use it.",{"title":2717,"body":2718},"On the record like everything else","Calls to your MCP tools land in the thread transcript with their results, cited like every other piece of evidence.",[2720,2722,2725],{"title":510,"body":2721},"Point Polylane at your server's URL. OAuth and API-key servers both work.",{"title":2723,"body":2724},"Tools are discovered","The server's tools are enumerated and become available to the thread agent automatically.",{"title":2726,"body":2727},"Agents reach for them","Mid-investigation, your tools sit alongside the built-in ones, and every call is on the record.",{"catalog":383},{"id":2730,"title":126,"body":2731,"description":3556,"extension":3557,"links":3558,"meta":3559,"navigation":862,"path":127,"seo":3560,"stem":128,"__hash__":3561},"docs\u002F6.coding-agents\u002F2.platform-mcp.md",{"type":2732,"value":2733,"toc":3547},"minimark",[2734,2738,2749,2752,2795,2800,2853,2859,2863,2866,2881,2884,2887,2890,2910,2946,2950,2953,3332,3349,3358,3362,3365,3376,3388,3392,3395,3408,3414,3417,3493,3497,3543],[2735,2736,2737],"p",{},"Polylane runs a Model Context Protocol server at:",[2739,2740,2745],"pre",{"className":2741,"code":2743,"language":2744},[2742],"language-text","https:\u002F\u002Fmcp.polylane.com\u002Fmcp\n","text",[2746,2747,2743],"code",{"__ignoreMap":2748},"",[2735,2750,2751],{},"The transport is streamable HTTP. Connect a coding agent and it gets two kinds of capability:",[2753,2754,2755,2778],"ol",{},[2756,2757,2758,2762,2763,2766,2767,2770,2771,2777],"li",{},[2759,2760,2761],"strong",{},"The Polylane REST API"," over two tools (",[2746,2764,2765],{},"search"," and ",[2746,2768,2769],{},"execute","): threads, issues, automations, memories, repositories, cloud resources, change records, and everything else in the ",[2772,2773,192],"a",{"href":2774,"rel":2775},"https:\u002F\u002Fapi.polylane.com\u002Fv1\u002Freference",[2776],"nofollow",".",[2756,2779,2780,2783,2784,2787,2788,2787,2791,2794],{},[2759,2781,2782],{},"Polylane's agent tools"," over three tools (",[2746,2785,2786],{},"searchTools",", ",[2746,2789,2790],{},"runTool",[2746,2792,2793],{},"runCode","): the same tools Polylane's own agent uses. Query observability across every connected provider (Cloudflare, AWS, Datadog, Sentry, Axiom, Honeycomb, Vercel, Fly, Render), traverse the context graph, search code and change records, and read deployments and audit logs.",[2796,2797,2799],"h2",{"id":2798},"the-tools","The tools",[2801,2802,2803,2810,2820,2827,2842],"ul",{},[2756,2804,2805,2809],{},[2759,2806,2807],{},[2746,2808,2765],{},": query the Polylane OpenAPI specification. You write a small async function; the server runs it in a sandbox against a pre-resolved copy of the spec. Read-only.",[2756,2811,2812,2816,2817,2777],{},[2759,2813,2814],{},[2746,2815,2769],{},": call the REST API. Your function calls ",[2746,2818,2819],{},"codemode.request({ method, path, query, body })",[2756,2821,2822,2826],{},[2759,2823,2824],{},[2746,2825,2786],{},": discover the agent tools available to your workspace and fetch their input schemas. Call this first. Results are filtered to what your credential can access.",[2756,2828,2829,2833,2834,2837,2838,2841],{},[2759,2830,2831],{},[2746,2832,2790],{},": run one agent tool by name. Pass the exact ",[2746,2835,2836],{},"toolName"," and its arguments as a nested ",[2746,2839,2840],{},"params"," object.",[2756,2843,2844,2848,2849,2852],{},[2759,2845,2846],{},[2746,2847,2793],{},": chain several agent tools in one call by writing TypeScript against a ",[2746,2850,2851],{},"tools.\u003Cname>(args)"," namespace.",[2735,2854,2855,2856,2858],{},"A tool only appears in ",[2746,2857,2786],{}," if the workspace has the backing integration connected and your credential holds the matching scope.",[2796,2860,2862],{"id":2861},"read-only-by-default","Read-only by default",[2735,2864,2865],{},"Agent tools are read-only unless you opt in. Reads (telemetry queries, graph traversal, code search) always work. Write tools stay hidden unless both hold:",[2753,2867,2868,2875],{},[2756,2869,2870,2871,2874],{},"your API key or OAuth token carries the ",[2746,2872,2873],{},"agent_tools:write"," scope, and",[2756,2876,2877,2878,2777],{},"the session sends the header ",[2746,2879,2880],{},"x-polylane-allow-writes: true",[2735,2882,2883],{},"Even then, every write is screened by a safety model, and egregious writes are refused. If your client supports MCP elicitation, the server also asks you to approve each write before it runs; clients without elicitation fall back to the safety screen alone.",[2796,2885,137],{"id":2886},"authentication",[2735,2888,2889],{},"The server accepts two credential forms.",[2735,2891,2892,2895,2896,2787,2899,2787,2902,2905,2906,2909],{},[2759,2893,2894],{},"OAuth (recommended)."," The server is a full OAuth 2.0 provider with dynamic client registration (",[2746,2897,2898],{},"\u002Fauthorize",[2746,2900,2901],{},"\u002Ftoken",[2746,2903,2904],{},"\u002Fregister","). Connect without any headers and your client opens a browser: you approve the client, sign in to Polylane, and the client stores the tokens. An OAuth session can span several workspaces, so pass ",[2746,2907,2908],{},"workspaceId"," (id or slug) on agent-tool calls.",[2735,2911,2912,2915,2916,2919,2920,2923,2924,2927,2928,2931,2932,2935,2936,2939,2940,2943,2944,2777],{},[2759,2913,2914],{},"API key (for headless setups)."," Where a browser sign-in is not possible, such as continuous integration or a remote machine, create a key in the console under ",[2759,2917,2918],{},"Settings > API keys",", or use the ",[2759,2921,2922],{},"Create an API key"," button under ",[2759,2925,2926],{},"Settings > Coding agents"," (see ",[2772,2929,2930],{"href":172},"API keys and OAuth","). Send it as ",[2746,2933,2934],{},"x-api-key: \u003Ckey>"," or as ",[2746,2937,2938],{},"Authorization: Bearer \u003Ckey>"," (keys start with ",[2746,2941,2942],{},"sk_","). An API key is bound to one workspace, so you can omit ",[2746,2945,2908],{},[2796,2947,2949],{"id":2948},"install-in-your-editor","Install in your editor",[2735,2951,2952],{},"Add the server; your client opens a browser to sign in to Polylane on first use:",[2954,2955,2956,3003,3122,3153,3243],"tabs",{},[2957,2958,2961,2997],"tabs-item",{"icon":2959,"label":2960},"i-simple-icons-anthropic","Claude Code",[2739,2962,2967],{"className":2963,"code":2964,"filename":2965,"language":2966,"meta":2748,"style":2748},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","claude mcp add --transport http polylane https:\u002F\u002Fmcp.polylane.com\u002Fmcp\n","Terminal","bash",[2746,2968,2969],{"__ignoreMap":2748},[2970,2971,2974,2978,2982,2985,2988,2991,2994],"span",{"class":2972,"line":2973},"line",1,[2970,2975,2977],{"class":2976},"sBMFI","claude",[2970,2979,2981],{"class":2980},"sfazB"," mcp",[2970,2983,2984],{"class":2980}," add",[2970,2986,2987],{"class":2980}," --transport",[2970,2989,2990],{"class":2980}," http",[2970,2992,2993],{"class":2980}," polylane",[2970,2995,2996],{"class":2980}," https:\u002F\u002Fmcp.polylane.com\u002Fmcp\n",[2735,2998,2999,3000,2777],{},"To authenticate with an API key instead, add ",[2746,3001,3002],{},"--header \"x-api-key: YOUR_API_KEY\"",[2957,3004,3007,3117],{"icon":3005,"label":3006},"i-simple-icons-opencode","OpenCode",[2739,3008,3013],{"className":3009,"code":3010,"filename":3011,"language":3012,"meta":2748,"style":2748},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"mcp\": {\n    \"polylane\": {\n      \"type\": \"remote\",\n      \"url\": \"https:\u002F\u002Fmcp.polylane.com\u002Fmcp\"\n    }\n  }\n}\n","opencode.json","json",[2746,3014,3015,3021,3039,3054,3079,3099,3105,3111],{"__ignoreMap":2748},[2970,3016,3017],{"class":2972,"line":2973},[2970,3018,3020],{"class":3019},"sMK4o","{\n",[2970,3022,3024,3027,3030,3033,3036],{"class":2972,"line":3023},2,[2970,3025,3026],{"class":3019},"  \"",[2970,3028,2697],{"class":3029},"spNyl",[2970,3031,3032],{"class":3019},"\"",[2970,3034,3035],{"class":3019},":",[2970,3037,3038],{"class":3019}," {\n",[2970,3040,3042,3045,3048,3050,3052],{"class":2972,"line":3041},3,[2970,3043,3044],{"class":3019},"    \"",[2970,3046,3047],{"class":2976},"polylane",[2970,3049,3032],{"class":3019},[2970,3051,3035],{"class":3019},[2970,3053,3038],{"class":3019},[2970,3055,3057,3060,3064,3066,3068,3071,3074,3076],{"class":2972,"line":3056},4,[2970,3058,3059],{"class":3019},"      \"",[2970,3061,3063],{"class":3062},"sbssI","type",[2970,3065,3032],{"class":3019},[2970,3067,3035],{"class":3019},[2970,3069,3070],{"class":3019}," \"",[2970,3072,3073],{"class":2980},"remote",[2970,3075,3032],{"class":3019},[2970,3077,3078],{"class":3019},",\n",[2970,3080,3082,3084,3087,3089,3091,3093,3096],{"class":2972,"line":3081},5,[2970,3083,3059],{"class":3019},[2970,3085,3086],{"class":3062},"url",[2970,3088,3032],{"class":3019},[2970,3090,3035],{"class":3019},[2970,3092,3070],{"class":3019},[2970,3094,3095],{"class":2980},"https:\u002F\u002Fmcp.polylane.com\u002Fmcp",[2970,3097,3098],{"class":3019},"\"\n",[2970,3100,3102],{"class":2972,"line":3101},6,[2970,3103,3104],{"class":3019},"    }\n",[2970,3106,3108],{"class":2972,"line":3107},7,[2970,3109,3110],{"class":3019},"  }\n",[2970,3112,3114],{"class":2972,"line":3113},8,[2970,3115,3116],{"class":3019},"}\n",[2735,3118,2999,3119,2777],{},[2746,3120,3121],{},"\"headers\": { \"x-api-key\": \"YOUR_API_KEY\" }",[2957,3123,3126,3144],{"icon":3124,"label":3125},"i-simple-icons-openai","Codex",[2739,3127,3132],{"className":3128,"code":3129,"filename":3130,"language":3131,"meta":2748,"style":2748},"language-toml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[mcp_servers.polylane]\nurl = \"https:\u002F\u002Fmcp.polylane.com\u002Fmcp\"\n","~\u002F.codex\u002Fconfig.toml","toml",[2746,3133,3134,3139],{"__ignoreMap":2748},[2970,3135,3136],{"class":2972,"line":2973},[2970,3137,3138],{},"[mcp_servers.polylane]\n",[2970,3140,3141],{"class":2972,"line":3023},[2970,3142,3143],{},"url = \"https:\u002F\u002Fmcp.polylane.com\u002Fmcp\"\n",[2735,3145,2999,3146,3149,3150,2777],{},[2746,3147,3148],{},"http_headers = { \"x-api-key\" = \"YOUR_API_KEY\" }",". If your build lacks streamable HTTP, bridge with ",[2746,3151,3152],{},"npx mcp-remote https:\u002F\u002Fmcp.polylane.com\u002Fmcp",[2957,3154,3156,3238],{"icon":3155,"label":2604},"i-simple-icons-cursor",[2739,3157,3160],{"className":3009,"code":3158,"filename":3159,"language":3012,"meta":2748,"style":2748},"{\n  \"mcpServers\": {\n    \"polylane\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fmcp.polylane.com\u002Fmcp\"\n    }\n  }\n}\n",".cursor\u002Fmcp.json",[2746,3161,3162,3166,3179,3191,3210,3226,3230,3234],{"__ignoreMap":2748},[2970,3163,3164],{"class":2972,"line":2973},[2970,3165,3020],{"class":3019},[2970,3167,3168,3170,3173,3175,3177],{"class":2972,"line":3023},[2970,3169,3026],{"class":3019},[2970,3171,3172],{"class":3029},"mcpServers",[2970,3174,3032],{"class":3019},[2970,3176,3035],{"class":3019},[2970,3178,3038],{"class":3019},[2970,3180,3181,3183,3185,3187,3189],{"class":2972,"line":3041},[2970,3182,3044],{"class":3019},[2970,3184,3047],{"class":2976},[2970,3186,3032],{"class":3019},[2970,3188,3035],{"class":3019},[2970,3190,3038],{"class":3019},[2970,3192,3193,3195,3197,3199,3201,3203,3206,3208],{"class":2972,"line":3056},[2970,3194,3059],{"class":3019},[2970,3196,3063],{"class":3062},[2970,3198,3032],{"class":3019},[2970,3200,3035],{"class":3019},[2970,3202,3070],{"class":3019},[2970,3204,3205],{"class":2980},"http",[2970,3207,3032],{"class":3019},[2970,3209,3078],{"class":3019},[2970,3211,3212,3214,3216,3218,3220,3222,3224],{"class":2972,"line":3081},[2970,3213,3059],{"class":3019},[2970,3215,3086],{"class":3062},[2970,3217,3032],{"class":3019},[2970,3219,3035],{"class":3019},[2970,3221,3070],{"class":3019},[2970,3223,3095],{"class":2980},[2970,3225,3098],{"class":3019},[2970,3227,3228],{"class":2972,"line":3101},[2970,3229,3104],{"class":3019},[2970,3231,3232],{"class":2972,"line":3107},[2970,3233,3110],{"class":3019},[2970,3235,3236],{"class":2972,"line":3113},[2970,3237,3116],{"class":3019},[2735,3239,3240,3241,2777],{},"Cursor runs the OAuth flow on connect. To authenticate with an API key instead, add ",[2746,3242,3121],{},[2957,3244,3247,3328],{"icon":3245,"label":3246},"i-simple-icons-visualstudiocode","VS Code",[2739,3248,3251],{"className":3009,"code":3249,"filename":3250,"language":3012,"meta":2748,"style":2748},"{\n  \"servers\": {\n    \"polylane\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fmcp.polylane.com\u002Fmcp\"\n    }\n  }\n}\n",".vscode\u002Fmcp.json",[2746,3252,3253,3257,3270,3282,3300,3316,3320,3324],{"__ignoreMap":2748},[2970,3254,3255],{"class":2972,"line":2973},[2970,3256,3020],{"class":3019},[2970,3258,3259,3261,3264,3266,3268],{"class":2972,"line":3023},[2970,3260,3026],{"class":3019},[2970,3262,3263],{"class":3029},"servers",[2970,3265,3032],{"class":3019},[2970,3267,3035],{"class":3019},[2970,3269,3038],{"class":3019},[2970,3271,3272,3274,3276,3278,3280],{"class":2972,"line":3041},[2970,3273,3044],{"class":3019},[2970,3275,3047],{"class":2976},[2970,3277,3032],{"class":3019},[2970,3279,3035],{"class":3019},[2970,3281,3038],{"class":3019},[2970,3283,3284,3286,3288,3290,3292,3294,3296,3298],{"class":2972,"line":3056},[2970,3285,3059],{"class":3019},[2970,3287,3063],{"class":3062},[2970,3289,3032],{"class":3019},[2970,3291,3035],{"class":3019},[2970,3293,3070],{"class":3019},[2970,3295,3205],{"class":2980},[2970,3297,3032],{"class":3019},[2970,3299,3078],{"class":3019},[2970,3301,3302,3304,3306,3308,3310,3312,3314],{"class":2972,"line":3081},[2970,3303,3059],{"class":3019},[2970,3305,3086],{"class":3062},[2970,3307,3032],{"class":3019},[2970,3309,3035],{"class":3019},[2970,3311,3070],{"class":3019},[2970,3313,3095],{"class":2980},[2970,3315,3098],{"class":3019},[2970,3317,3318],{"class":2972,"line":3101},[2970,3319,3104],{"class":3019},[2970,3321,3322],{"class":2972,"line":3107},[2970,3323,3110],{"class":3019},[2970,3325,3326],{"class":2972,"line":3113},[2970,3327,3116],{"class":3019},[2735,3329,2999,3330,2777],{},[2746,3331,3121],{},[2735,3333,3334,3335,3337,3338,3341,3342,3344,3345,3348],{},"If you use an API key, create one first: in the console, go to ",[2759,3336,2918],{}," and create a key with the ",[2746,3339,3340],{},"agent_tools:read"," scope. The key is shown once and starts with ",[2746,3343,2942],{},". Replace ",[2746,3346,3347],{},"YOUR_API_KEY"," with it.",[2735,3350,3351,3352,3354,3355,3357],{},"To allow writes for a session, add the header ",[2746,3353,2880],{}," alongside your credential, and use a key or token with the ",[2746,3356,2873],{}," scope.",[2796,3359,3361],{"id":3360},"example-prompts","Example prompts",[2735,3363,3364],{},"Once connected, ask your agent things like:",[2801,3366,3367,3370,3373],{},[2756,3368,3369],{},"\"Use Polylane to show me the error rate for the worker this branch deploys, over the last hour.\"",[2756,3371,3372],{},"\"What changed in production for the checkout service in the last day? Check Polylane's change records.\"",[2756,3374,3375],{},"\"Find the api-gateway node in the topology and list what it depends on.\"",[2735,3377,3378,3379,3381,3382,3384,3385,3387],{},"The agent calls ",[2746,3380,2786],{}," to find the right tool, then ",[2746,3383,2790],{}," to run it, or ",[2746,3386,2793],{}," to chain several.",[2796,3389,3391],{"id":3390},"checking-the-connection","Checking the connection",[2735,3393,3394],{},"A healthy server responds to:",[2739,3396,3398],{"className":2963,"code":3397,"filename":2965,"language":2966,"meta":2748,"style":2748},"curl https:\u002F\u002Fmcp.polylane.com\u002F\n",[2746,3399,3400],{"__ignoreMap":2748},[2970,3401,3402,3405],{"class":2972,"line":2973},[2970,3403,3404],{"class":2976},"curl",[2970,3406,3407],{"class":2980}," https:\u002F\u002Fmcp.polylane.com\u002F\n",[2735,3409,3410,3411,2777],{},"with a JSON status document. A machine-readable server card is at ",[2746,3412,3413],{},"https:\u002F\u002Fmcp.polylane.com\u002F.well-known\u002Fmcp\u002Fserver-card.json",[2735,3415,3416],{},"For a raw MCP request with an API key:",[2739,3418,3420],{"className":2963,"code":3419,"filename":2965,"language":2966,"meta":2748,"style":2748},"curl -X POST https:\u002F\u002Fmcp.polylane.com\u002Fmcp \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Accept: application\u002Fjson, text\u002Fevent-stream\" \\\n  -H \"x-api-key: YOUR_API_KEY\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-03-26\",\"capabilities\":{},\"clientInfo\":{\"name\":\"test\",\"version\":\"1.0\"}},\"id\":1}'\n",[2746,3421,3422,3439,3453,3466,3479],{"__ignoreMap":2748},[2970,3423,3424,3426,3429,3432,3435],{"class":2972,"line":2973},[2970,3425,3404],{"class":2976},[2970,3427,3428],{"class":2980}," -X",[2970,3430,3431],{"class":2980}," POST",[2970,3433,3434],{"class":2980}," https:\u002F\u002Fmcp.polylane.com\u002Fmcp",[2970,3436,3438],{"class":3437},"sTEyZ"," \\\n",[2970,3440,3441,3444,3446,3449,3451],{"class":2972,"line":3023},[2970,3442,3443],{"class":2980},"  -H",[2970,3445,3070],{"class":3019},[2970,3447,3448],{"class":2980},"Content-Type: application\u002Fjson",[2970,3450,3032],{"class":3019},[2970,3452,3438],{"class":3437},[2970,3454,3455,3457,3459,3462,3464],{"class":2972,"line":3041},[2970,3456,3443],{"class":2980},[2970,3458,3070],{"class":3019},[2970,3460,3461],{"class":2980},"Accept: application\u002Fjson, text\u002Fevent-stream",[2970,3463,3032],{"class":3019},[2970,3465,3438],{"class":3437},[2970,3467,3468,3470,3472,3475,3477],{"class":2972,"line":3056},[2970,3469,3443],{"class":2980},[2970,3471,3070],{"class":3019},[2970,3473,3474],{"class":2980},"x-api-key: YOUR_API_KEY",[2970,3476,3032],{"class":3019},[2970,3478,3438],{"class":3437},[2970,3480,3481,3484,3487,3490],{"class":2972,"line":3081},[2970,3482,3483],{"class":2980},"  -d",[2970,3485,3486],{"class":3019}," '",[2970,3488,3489],{"class":2980},"{\"jsonrpc\":\"2.0\",\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-03-26\",\"capabilities\":{},\"clientInfo\":{\"name\":\"test\",\"version\":\"1.0\"}},\"id\":1}",[2970,3491,3492],{"class":3019},"'\n",[2796,3494,3496],{"id":3495},"other-mcp-entry-points","Other MCP entry points",[2801,3498,3499,3524,3532,3538],{},[2756,3500,3501,3502,3505,3506,2787,3509,2787,3512,2787,3515,2787,3518,3521,3522,2777],{},"To map a repository with no account, connect the anonymous maps server at ",[2746,3503,3504],{},"https:\u002F\u002Fmaps.polylane.com\u002Fmcp"," instead. It exposes a separate, map-only tool roster (",[2746,3507,3508],{},"startMapping",[2746,3510,3511],{},"getNextStep",[2746,3513,3514],{},"publishMap",[2746,3516,3517],{},"getMapStatus",[2746,3519,3520],{},"submitMapDelta","), takes no credential, and can touch nothing in Polylane but its own map. See ",[2772,3523,153],{"href":154},[2756,3525,3526,3527,3531],{},"To let Polylane's agents call tools from a server you run, connect it as an ",[2772,3528,3530],{"href":3529},"\u002Fintegrations\u002Fmcp","MCP integration"," instead.",[2756,3533,3534,3535,2777],{},"The documentation site runs a separate MCP server so coding agents can search and read these docs. See ",[2772,3536,3537],{"href":185},"Docs MCP",[2756,3539,3540,3541,2777],{},"For a command-line interface instead of MCP, see the ",[2772,3542,130],{"href":131},[3544,3545,3546],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":2748,"searchDepth":2973,"depth":3023,"links":3548},[3549,3550,3551,3552,3553,3554,3555],{"id":2798,"depth":3023,"text":2799},{"id":2861,"depth":3023,"text":2862},{"id":2886,"depth":3023,"text":137},{"id":2948,"depth":3023,"text":2949},{"id":3360,"depth":3023,"text":3361},{"id":3390,"depth":3023,"text":3391},{"id":3495,"depth":3023,"text":3496},"Connect your coding agent to Polylane and query your context graph, telemetry, and code from your editor.","md",null,{},{"title":126,"description":3556},"mQj7A-gHh3BcTpS1rFv7SBYU6250vvjGUVWpl38FRh0",[3563,3565],{"title":120,"path":121,"stem":122,"description":3564,"children":-1},"Connect your coding agent to Polylane through the platform Model Context Protocol server, the CLI, or the browser extension.",{"title":135,"path":131,"stem":132,"description":3566,"children":-1},"The Polylane CLI wraps the full platform API in agent-friendly commands. Install it, sign in, and drive every part of Polylane from a terminal or a coding agent.",1786723127258]