tlly

dev.tlly由 tlly.dev 发布官方发布者v1.0.0更新于 Nov 7, 2026

Hosted dashboards and scheduled data jobs for AI agents, with thresholds, alerts and share links.

已验证Streamable HTTP可网页运行效率与工作流安全与监控数据与分析

概览

AI 生成的概览

托管式 tlly 服务,让助手创建可分享的仪表板、安排定时抓取任务,并设置阈值与数据过期告警。

可以做什么
  • 创建、更新、版本管理、发布、更换链接、列出和删除托管仪表板(公开或仅成员可见)
  • 写入、读取、列出和删除带日期的数值或文本序列,定义派生序列,并添加、列出或删除带日期的注释
  • 试运行、创建、更新、暂停、立即运行、列出和删除定时抓取任务,或一次性导入数据源
  • 设置工作区 Webhook、单个面板告警和数据过期告警
  • 检查工作区健康状况与配额用量,并阅读 Stripe、Shopify、Sheets 等数据源的集成指南
适用场景
适合让助手把周期性数据变成他人可打开的实时图表、按计划轮询 API 或表格,或在指标越过阈值、停止更新时收到通知。
运行要求
远程 streamable HTTP 端点 tlly.dev/mcp,无需本地安装包。需用 tlly 账号通过 OAuth 2.0 登录(配置中不放 API 密钥)。集成指南工具无需密钥,其他工具都需要。免费额度为 3 个仪表板、每个 5 项检查,超出需付费方案。
安装前请注意
除非设为仅成员可见,仪表板通过不可猜测的链接公开,拿到链接的人都能查看;链接泄露时应更换 URL。写入、删除、运行任务和告警设置都会改动托管数据。已存储的密钥会被发送到为其指定的主机,任务配置中也可能包含凭据。数据点计入配额,付费方案需要花钱。

安装

在 SourceWeft 中

  1. 打开 控制台中的 tlly,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/dev.tlly%2Ftlly/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "tlly": {
      "type": "http",
      "url": "https://tlly.dev/mcp"
    }
  }
}

README

[tlly logo]

tlly MCP

tlly is a hosted service for dashboards and scheduled data jobs built for AI agents and teams: pull numbers from Stripe, Shopify, HubSpot, Google Sheets, and more; chart them with thresholds; get morning checks, alerts, and shareable links.

This repository is the public listing for tlly’s remote MCP server (metadata, logo, and setup docs). It does not contain the hosted service source code.

Websitehttps://tlly.dev
MCP endpointhttps://tlly.dev/mcp
TransportStreamable HTTP
AuthOAuth 2.0 (sign in with your tlly account; no API key in config)
Support / issuesGitHub Issues

The MIT LICENSE in this repo applies to this repository’s documentation and metadata only, not to the tlly hosted service or its backend.

Quick setup

  1. Add the remote server URL https://tlly.dev/mcp in your client.
  2. Complete OAuth when prompted (same account you use at tlly.dev).

Claude (custom connector): Settings → Connectors → add remote URL https://tlly.dev/mcp.

Claude Code:

bash
claude mcp add --transport http tlly https://tlly.dev/mcp

Cursor (mcp.json):

json
{  "mcpServers": {    "tlly": {      "url": "https://tlly.dev/mcp"    }  }}

ChatGPT: Developer mode / Connectors → add https://tlly.dev/mcp.

VS Code: MCP config with "type": "http" and "url": "https://tlly.dev/mcp".

Step-by-step notes for each client: docs/setup.md.

Cursor plugin

This repository is a Cursor Plugin: install from the marketplace (after review) or test locally by copying the repo into ~/.cursor/plugins/local/tlly.

FileRole
.cursor-plugin/plugin.jsonPlugin manifest (name: tlly)
mcp.jsonRemote MCP server (https://tlly.dev/mcp)
skills/tlly/SKILL.mdAgent skill for dashboards, jobs, and alerts

Submit for marketplace review: cursor.com/marketplace/publish (public Git repository URL for this repo).

Tools (30)

One-line summaries below; full parameter schemas and job/dashboard specs are in the live MCP server card.

Dashboards

ToolSummary
create_dashboardCreate a hosted dashboard; returns its public URL.
update_dashboardReplace a dashboard's spec (URL stays the same).
list_dashboard_versionsList saved dashboard versions and which one is live.
publish_dashboard_versionMake a saved version of a dashboard the live one (also to roll back).
rotate_dashboard_urlIssue a new public URL and disable the old one immediately.
list_dashboardsList dashboards with their URLs.
delete_dashboardDelete a dashboard (series data is kept).

Series & annotations

ToolSummary
push_pointsWrite dated values to a series (upsert by date).
get_seriesRead the latest points of a series.
list_seriesList all series with type, point counts, and date ranges.
delete_seriesDelete all points of a series, or remove a derived series' definition.
define_derivedDefine a derived series computed from other series when read.
add_annotationsAttach short dated notes to a series as chart markers.
list_annotationsRead the latest annotations of a series.
delete_annotationsDelete annotations on given dates, or all annotations on a series.

Jobs & imports

ToolSummary
test_jobDry-run a job spec: fetch, extract and transform, return a preview.
create_jobSchedule a fetch job; runs once immediately and returns the result.
import_onceFetch and save once without scheduling or using a job slot.
update_jobReplace a job's spec, or pause it with enabled=false.
list_jobsList scheduled fetch jobs with their last run status and any error message.
run_job_nowRun a scheduled fetch job immediately, store any new points, and return the run result.
delete_jobDelete a job (its series data is kept).

Alerts

ToolSummary
set_alert_webhookSet or clear the workspace webhook URL for job and status alerts.
set_panel_alertConfigure when a dashboard panel sends email or webhook alerts.
set_stale_alertConfigure when tlly sends stale-data alert email and webhooks because a series stopped updating.

Workspace & integrations

ToolSummary
list_secretsList stored secret names and the host each may be sent to.
get_statusHealth check for jobs, stale panels, dashboards, and storage usage.
get_usageReport storage usage against quotas and the largest series.
list_integration_skillsList integration setup playbooks for Stripe, Shopify, Sheets, and more.
get_integration_skillRead one integration playbook: credentials, job spec, and gotchas.

Pricing

Plans and limits from tlly.dev (start free; upgrade when you need more):

PlanPriceDashboardsChecksPeople
Free$035 checks eachJust you
Pro$19 / month founding (50 spots left, until 22 Nov 2026, 23:59 Europe/Oslo); then $29 / month or $290 / year20200 checksyou + 5
Business$99 / month or $990 / year1001,000 checksyou + 20

Current founding pricing and availability: see tlly.dev.

Registry metadata

server.json describes this server for the Official MCP Registry as dev.tlly/tlly (DNS-verified namespace). Published entry: registry search for dev.tlly/tlly. This repo holds listing metadata and setup docs for that server.

来源:README.md,提交 ac0059f

工具

30

create_dashboard

Create dashboard

Create a hosted dashboard; returns its public URL. Dashboard spec: {"title": str, "description"?: str, "range"?: "1m"|"3m"|"6m"|"ytd"|"1y"|"2y"|"5y"|"10y"|"max", "theme"?: "auto"|"light"|"dark" (default mode; auto follows the viewer's system and viewers can switch), "layout"?: "auto"|"overview"|"detail" (only the default for panels without "display": overview makes them tiles, detail makes them charts, auto makes them tiles above 8 panels), "visibility"?: "public"|"private" (default public: anyone with the link; private: only members of this account signed in to tlly.dev, so embeds and shared links stop working for others), "panels": [{"title"?: str, "series": "name" | ["a","b"], "type"?: "line"|"area"|"bar"|"stat"|"gauge"|"bargauge"|"pie"|"heatmap"|"table", "unit"?: str, "note"?: str, "stale_after_days"?: num, "thresholds"?: {"red_above"?, "yellow_above"?, "yellow_below"?, "red_below"?}, "range"?: (as above, overrides the dashboard's), "section"?: str (starts a new titled section at this panel), "views"?: bool (show the Level / Y/Y % / Index buttons; default: shown unless the unit is already a rate like %, y/y or pp), "display"?: "tile"|"chart" (tile: a compact number with a sparkline, click for the full chart; chart: a card with the full chart; mix them freely, e.g. tiles for the many supporting numbers and charts for the few that need their history), "headline"?: bool (show as a big number at the top of the dashboard, under a status strip; use for the 3-6 most important), "width"?: "half"|"full", "scale"?: "linear"|"log", "id"?: str (stable panel id, e.g. pn_abc123XYZ012; keep existing ids when editing so alerts stay attached), "right_axis"?: [series names] (line, area and bar charts: draw these series against a second y axis on the right, for series of different sizes or units; at least one stays on the left), "right_unit"?: str (unit of the right axis; "unit" is the left's), "left_label"?/"right_label"?: str (≤40 chars, a title written vertically along the left

输入参数spec必填

update_dashboard

Update dashboard

Replace a dashboard's spec (URL stays the same). Every update is saved as a numbered version. With "draft": true it is saved without going live: viewers keep seeing the live version, members can preview the draft at the returned preview_url, and publish_dashboard_version makes it live. Use drafts for larger changes and publish when the user confirms. Dashboard spec: {"title": str, "description"?: str, "range"?: "1m"|"3m"|"6m"|"ytd"|"1y"|"2y"|"5y"|"10y"|"max", "theme"?: "auto"|"light"|"dark" (default mode; auto follows the viewer's system and viewers can switch), "layout"?: "auto"|"overview"|"detail" (only the default for panels without "display": overview makes them tiles, detail makes them charts, auto makes them tiles above 8 panels), "visibility"?: "public"|"private" (default public: anyone with the link; private: only members of this account signed in to tlly.dev, so embeds and shared links stop working for others), "panels": [{"title"?: str, "series": "name" | ["a","b"], "type"?: "line"|"area"|"bar"|"stat"|"gauge"|"bargauge"|"pie"|"heatmap"|"table", "unit"?: str, "note"?: str, "stale_after_days"?: num, "thresholds"?: {"red_above"?, "yellow_above"?, "yellow_below"?, "red_below"?}, "range"?: (as above, overrides the dashboard's), "section"?: str (starts a new titled section at this panel), "views"?: bool (show the Level / Y/Y % / Index buttons; default: shown unless the unit is already a rate like %, y/y or pp), "display"?: "tile"|"chart" (tile: a compact number with a sparkline, click for the full chart; chart: a card with the full chart; mix them freely, e.g. tiles for the many supporting numbers and charts for the few that need their history), "headline"?: bool (show as a big number at the top of the dashboard, under a status strip; use for the 3-6 most important), "width"?: "half"|"full", "scale"?: "linear"|"log", "id"?: str (stable panel id, e.g. pn_abc123XYZ012; keep existing ids when editing so alerts stay attached), "right_axis"?: [series names] (line, ar

输入参数notespec必填draftdashboard_id必填replace_thresholds

list_dashboard_versions

List dashboard versions

List a dashboard's saved versions (newest first) with which one is live and a members-only preview URL for each.

输入参数dashboard_id必填

publish_dashboard_version

Publish dashboard version

Make a saved version of a dashboard the live one (also to roll back). The dashboard keeps its URL and visibility.

输入参数version必填dashboard_id必填

rotate_dashboard_url

Rotate dashboard URL

Give a dashboard a new public URL and disable the old one at once (e.g. if a link leaked). Spec and data are unchanged.

输入参数dashboard_id必填

list_dashboards

List dashboards

List dashboards with their URLs.

无需输入参数。

delete_dashboard

Delete dashboard

Delete a dashboard (series data is kept).

输入参数dashboard_id必填

push_points

Write series points

Write dated values to a series (upsert by date). Use when you compute data yourself. Values are numbers, or short text labels for a text series (e.g. a rating or stance; see Data policy). A series' first write fixes its type.

输入参数points必填series必填

get_series

Read series points

Read the latest points of a series.

输入参数limitseries必填

list_series

List series

List all series with their type (number or text), point counts and date ranges; text series also list their values.

无需输入参数。

delete_series

Delete series data

Delete all points of a series, or remove a derived series' definition.

输入参数series必填

define_derived

Define derived series

Create or replace a derived series, computed from other series every time it is read (always fresh, stores no points, counts toward the series limit). definition: {"op":"add"|"subtract"|"multiply"|"divide","a":series,"b":series} (matched by date) | {"op":"pct_change"|"diff"|"moving_average"|"rolling_min"|"rolling_max"|"shift","a":series,"n"?:1-1000} (shift: the value n points earlier) | {"op":"scale","a":series,"factor":number} | {"op":"resample","a":series,"to":"M"|"Q","how"?:"last"|"mean"|"sum"|"ffill"} (to month/quarter ends; ffill also fills gaps up to today) | {"op":"mean"|"sum","inputs":[2-20 series]} (dates all inputs have) | {"op":"status","a":series,"red"?:[rule],"yellow"?:[rule]} → text labels red/yellow/green (red if any red rule holds, else yellow if any yellow rule, else green); rule: {"series"?:name (default a; read as of each date of a),"above"|"below":number,"for"?:1-24 (holds for the last k points)} or {"all":[2-10 rules]}; at most 10 rules | {"op":"composite","inputs":[status series],"min_inputs"?:n} → 0-100 score (red 2, yellow 1, green 0) | {"op":"count","inputs":[status series],"value":"red"|"yellow"|"green","share"?:true (percent)}. Inputs may themselves be derived (up to 10 levels; one read may touch at most 200 stored series). Example: a yield-curve spread {"op":"subtract","a":"govt_10y","b":"tbill_3m"}.

输入参数series必填definition必填

list_secrets

List secret names

List the names of the workspace's stored secrets (API keys for private sources) and the host each may be sent to. Use one in a job's url, headers or body as {{secret:NAME}}.

无需输入参数。

test_job

Preview a fetch job

Dry-run a job spec: fetch, extract and transform, return a preview. Saves nothing. Job spec: {"series": name, "cron": "m h dom mon dow" (UTC, at most every 5 min), "request": {"url", "method"?: "GET"|"POST", "headers"?: {}, "body"?: obj|str, "pages"?: {"param": "page", "start"?: 0, "max"?: 1-10} (json with items: bump a query parameter until an empty items array) | {"cursor": "paging.next.after", "into": "after", "max"?: 1-10} (copy that JSON path from each response into the JSON body; stop when it is missing. A cursor that remains after max pages is an error, so a sum is never a partial total. HubSpot CRM search uses this. A json aggregate with no request.pages fails when the body still has another page, paging.next.after, has_more true, links.next, pageInfo.hasNextPage or another next cursor, instead of saving a partial total. Set pages. A response with no next marker is complete.)}, "extract": {"format": "json", "items"?: "path.to.array", "date"?: "field", "value": "field", "value_type"?: "number"|"text", "aggregate"?: "count"|"sum"|"mean"|"min"|"max" (records per date, e.g. hourly prices to a daily mean; needs items; all but count need value), "period"?: "D"|"M"|"Q", "where"?: [{"field": "path", "equals"|"not_equals": value}] (up to 5, with aggregate). Omit "date" with aggregate to snapshot every matching record as one point on the day of the fetch. String numbers (HubSpot properties.amount) are summed.} | {"format": "json_columns", "dates": "path.to.array", "values": "path.to.array", "value_type"?} (two parallel arrays, e.g. Yahoo chart: timestamp + close) | {"format": "csv", "date"?: "COLUMN", "value": "COLUMN", "delimiter"?, "value_type"?} (omit date to stamp every row with the fetch day; one value per day, so the last row wins. That does not sum the rows the way a JSON aggregate that omits date does. A history needs a Date column. Make a copy https://docs.google.com/spreadsheets/d/1Ty

输入参数spec必填

create_job

Create scheduled job

Schedule a fetch job. It runs once immediately and the result is returned. Job spec: {"series": name, "cron": "m h dom mon dow" (UTC, at most every 5 min), "request": {"url", "method"?: "GET"|"POST", "headers"?: {}, "body"?: obj|str, "pages"?: {"param": "page", "start"?: 0, "max"?: 1-10} (json with items: bump a query parameter until an empty items array) | {"cursor": "paging.next.after", "into": "after", "max"?: 1-10} (copy that JSON path from each response into the JSON body; stop when it is missing. A cursor that remains after max pages is an error, so a sum is never a partial total. HubSpot CRM search uses this. A json aggregate with no request.pages fails when the body still has another page, paging.next.after, has_more true, links.next, pageInfo.hasNextPage or another next cursor, instead of saving a partial total. Set pages. A response with no next marker is complete.)}, "extract": {"format": "json", "items"?: "path.to.array", "date"?: "field", "value": "field", "value_type"?: "number"|"text", "aggregate"?: "count"|"sum"|"mean"|"min"|"max" (records per date, e.g. hourly prices to a daily mean; needs items; all but count need value), "period"?: "D"|"M"|"Q", "where"?: [{"field": "path", "equals"|"not_equals": value}] (up to 5, with aggregate). Omit "date" with aggregate to snapshot every matching record as one point on the day of the fetch. String numbers (HubSpot properties.amount) are summed.} | {"format": "json_columns", "dates": "path.to.array", "values": "path.to.array", "value_type"?} (two parallel arrays, e.g. Yahoo chart: timestamp + close) | {"format": "csv", "date"?: "COLUMN", "value": "COLUMN", "delimiter"?, "value_type"?} (omit date to stamp every row with the fetch day; one value per day, so the last row wins. That does not sum the rows the way a JSON aggregate that omits date does. A history needs a Date column. Make a copy https://docs.google.com/spreadsheets/d/1Ty5X3LkY2u

输入参数namespec必填

import_once

Import data once

Fetch a job spec once and save the result, without scheduling it or using a job slot ("cron" is optional and ignored). Use for one-off dashboards whose data doesn't need to update; points count toward the data quota. Job spec: {"series": name, "cron": "m h dom mon dow" (UTC, at most every 5 min), "request": {"url", "method"?: "GET"|"POST", "headers"?: {}, "body"?: obj|str, "pages"?: {"param": "page", "start"?: 0, "max"?: 1-10} (json with items: bump a query parameter until an empty items array) | {"cursor": "paging.next.after", "into": "after", "max"?: 1-10} (copy that JSON path from each response into the JSON body; stop when it is missing. A cursor that remains after max pages is an error, so a sum is never a partial total. HubSpot CRM search uses this. A json aggregate with no request.pages fails when the body still has another page, paging.next.after, has_more true, links.next, pageInfo.hasNextPage or another next cursor, instead of saving a partial total. Set pages. A response with no next marker is complete.)}, "extract": {"format": "json", "items"?: "path.to.array", "date"?: "field", "value": "field", "value_type"?: "number"|"text", "aggregate"?: "count"|"sum"|"mean"|"min"|"max" (records per date, e.g. hourly prices to a daily mean; needs items; all but count need value), "period"?: "D"|"M"|"Q", "where"?: [{"field": "path", "equals"|"not_equals": value}] (up to 5, with aggregate). Omit "date" with aggregate to snapshot every matching record as one point on the day of the fetch. String numbers (HubSpot properties.amount) are summed.} | {"format": "json_columns", "dates": "path.to.array", "values": "path.to.array", "value_type"?} (two parallel arrays, e.g. Yahoo chart: timestamp + close) | {"format": "csv", "date"?: "COLUMN", "value": "COLUMN", "delimiter"?, "value_type"?} (omit date to stamp every row with the fetch day; one value per day, so the last row wins. That does not sum the row

输入参数spec必填

update_job

Update scheduled job

Replace a job's spec, or pause it with enabled=false. Job spec: {"series": name, "cron": "m h dom mon dow" (UTC, at most every 5 min), "request": {"url", "method"?: "GET"|"POST", "headers"?: {}, "body"?: obj|str, "pages"?: {"param": "page", "start"?: 0, "max"?: 1-10} (json with items: bump a query parameter until an empty items array) | {"cursor": "paging.next.after", "into": "after", "max"?: 1-10} (copy that JSON path from each response into the JSON body; stop when it is missing. A cursor that remains after max pages is an error, so a sum is never a partial total. HubSpot CRM search uses this. A json aggregate with no request.pages fails when the body still has another page, paging.next.after, has_more true, links.next, pageInfo.hasNextPage or another next cursor, instead of saving a partial total. Set pages. A response with no next marker is complete.)}, "extract": {"format": "json", "items"?: "path.to.array", "date"?: "field", "value": "field", "value_type"?: "number"|"text", "aggregate"?: "count"|"sum"|"mean"|"min"|"max" (records per date, e.g. hourly prices to a daily mean; needs items; all but count need value), "period"?: "D"|"M"|"Q", "where"?: [{"field": "path", "equals"|"not_equals": value}] (up to 5, with aggregate). Omit "date" with aggregate to snapshot every matching record as one point on the day of the fetch. String numbers (HubSpot properties.amount) are summed.} | {"format": "json_columns", "dates": "path.to.array", "values": "path.to.array", "value_type"?} (two parallel arrays, e.g. Yahoo chart: timestamp + close) | {"format": "csv", "date"?: "COLUMN", "value": "COLUMN", "delimiter"?, "value_type"?} (omit date to stamp every row with the fetch day; one value per day, so the last row wins. That does not sum the rows the way a JSON aggregate that omits date does. A history needs a Date column. Make a copy https://docs.google.com/spreadsheets/d/1Ty5X3LkY2unxTNGbkq36qDzuuYxQMsu

输入参数spec必填job_id必填enabled

list_jobs

List jobs

List scheduled fetch jobs with their last run status and any error message.

无需输入参数。

run_job_now

Run job now

Run a scheduled fetch job immediately, store any new points, and return the run result.

输入参数job_id必填

delete_job

Delete job

Delete a job (its series data is kept).

输入参数job_id必填

get_status

Workspace health check

Health check: failing jobs, stale or empty panels, dashboards, storage usage. Call this to verify everything works.

无需输入参数。

get_usage

Storage usage

Storage usage against quotas (data points = values + annotations, series, dashboards, jobs) and the largest series. Check before large writes.

无需输入参数。

add_annotations

Add chart annotations

Attach short dated notes to a series (e.g. 'Policy rate raised to 4.5%'); shown as markers on charts. Single-line plain text, max 280 chars; one note per date (re-adding replaces it); each counts as one data point.

输入参数series必填annotations必填

list_annotations

List chart annotations

Read the latest annotations of a series.

输入参数limitseries必填

delete_annotations

Delete chart annotations

Delete annotations of a series on the given dates, or all of them if dates is omitted.

输入参数datesseries必填

set_alert_webhook

Set alert webhook URL

Set or clear the workspace webhook URL for job-failure and dashboard status alerts (pass an empty url to clear). When events fire, tlly POSTs JSON to that URL (Slack and Discord incoming webhooks get a short text payload instead). Events include job_failed, status_changed (keep panel "id" fields in specs so alerts stay attached), and threshold_crossed. Email alerts work without a webhook. Caps: 12 emails and 60 webhooks per account per hour; the same panel is not alerted twice within an hour.

输入参数url

set_panel_alert

Configure panel alerts

Set when one dashboard panel sends alert email and/or a webhook (colour change, threshold cross, or off). trigger: change (default), red, notgreen, above, below, or off; above/below need limit. notify: both, email, or webhook. panel is the 0-based index in the live spec. Saving can send immediately if a limit was just crossed (unless this panel alerted within the last hour). Later sends happen after scheduled fetches. Default change+both removes a custom rule. Does not change colour lines or save a dashboard version.

输入参数limitpanel必填notifytriggerdashboard_id必填

set_stale_alert

Configure stale-data alerts

Configure when tlly sends stale-data alert email and webhooks because a series stopped updating. after: auto (from the job schedule and point spacing, at least two days), off, hours, or a window like 48h or 7d. Use dashboard_id for every series on a dashboard, series for one series, or both for one series on one dashboard. One email and one webhook when it goes quiet; another when a newer point arrives. Counts toward the hourly caps.

输入参数afterseriesdashboard_id

list_integration_skills

List integration playbooks

List integration setup playbooks (Stripe, Shopify, Sheets, and the other sources tlly can read). A spreadsheet starts from the KPI template. Make a copy https://docs.google.com/spreadsheets/d/1Ty5X3LkY2unxTNGbkq36qDzuuYxQMsuywaTNyzL_pac/copy. Public CSV https://docs.google.com/spreadsheets/d/1Ty5X3LkY2unxTNGbkq36qDzuuYxQMsuywaTNyzL_pac/export?format=csv&gid=1746689811. Downloads /templates/google-sheets.csv and /templates/google-sheets.xlsx. Public: no API key required.

无需输入参数。

get_integration_skill

Read integration playbook

Read one integration playbook by id: what to track, the minimum credential and scopes, the exact tlly job, and gotchas. google-sheets and json-api also return a template field (Make a copy, public CSV, downloads). Make a copy https://docs.google.com/spreadsheets/d/1Ty5X3LkY2unxTNGbkq36qDzuuYxQMsuywaTNyzL_pac/copy. Public CSV https://docs.google.com/spreadsheets/d/1Ty5X3LkY2unxTNGbkq36qDzuuYxQMsuywaTNyzL_pac/export?format=csv&gid=1746689811. Downloads /templates/google-sheets.csv and /templates/google-sheets.xlsx. Public: no API key required. Call this before inventing an API URL or scope.

输入参数id必填

版本历史

1
  1. v1.0.0最新Oct 31, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分