Update to Tinylawn
Snapshot Oct 24, 2026 · 13:22 UTC · version 1.1.0
Package or technical metadata updated
Package or technical metadata updated
Observed in package metadata. These changes alone do not establish a new customer-facing feature.
Up to 3 plugins free · no card required.
All fields and original values.
These are saved file metadata. Open a changed file to read its text edits.
Package file
Sep 30, 2026 · 23:13 UTC
a1225b0047819f535f4f6061f1e5ac6ee7f3b15f1840981af267f7395060f392
Oct 24, 2026 · 13:22 UTC
1490dd4d89a84f731e38dd1bb60be1cf88899864d38f451efa015275130191b8
Package file
Sep 30, 2026 · 23:13 UTC
127
Oct 24, 2026 · 13:22 UTC
100
Package file
Sep 30, 2026 · 23:13 UTC
{"sha256":"841941649a84df5a388f23085454a3ea05b51bd850238822c4185437d3cc53f6","size":1960}
Oct 24, 2026 · 13:22 UTC
Not present
Package file
Sep 30, 2026 · 23:13 UTC
Not present
Oct 24, 2026 · 13:22 UTC
{"sha256":"b6a21ddde0eb94f23996f60dd243ef9160512c26296457ce54ee511c03798267","size":5344}
Compare saved observations
Download comparison JSONChanged files
Choose a file to see its text changes. Binary or large files show metadata only.
mcp.json →
skills/draft-follow-up/SKILL.md →
skills/draft-follow-up/agents/openai.yaml →
skills/review-calls/SKILL.md →
skills/review-calls/agents/openai.yaml →
README.md
− removed · + added
--- before +++ after @@ -0,0 +1,49 @@ +# Tinylawn for ChatGPT and Codex + +Review saved calls and service requests, find captured customer needs, and draft accurate follow-ups grounded in your business information and services. + +**Version 1.1.0 release candidate:** these expanded workflows require MCP server 0.2.0 and renewed consent. Local files do not establish hosted availability or a published directory update. Existing version 1.0.0 listings and grants keep their original call-list access until the update is released and additional access is authorized. + +## Connect + +Install or enable Tinylawn in your assistant, open its connection flow, sign in to Tinylawn, choose one organization, review the requested read permissions, and select Allow. The remote MCP endpoint is `https://app.gettinylawn.com/mcp`. Never paste passwords or access tokens into chat. + +This package uses the portable Agent Plugins 1.0.0 format with root `plugin.json`, `mcp.json`, and three workflows discovered from root `skills/`. OpenAI-specific presentation metadata lives under `extensions.com.openai`. Each workflow declares its remote MCP dependency in `agents/openai.yaml`. Local testing may use a separately registered real developer connection and a generated `.app.json` mapping. Public endpoint submission and packaged-skill upload are separate review steps; neither happens during packaging. + +Existing connections do not gain permissions automatically, including during token refresh. Reconnect and review consent to authorize detailed intake (`intake:read`) or business information (`business:read`). A calls-only grant can continue using `list_calls`. + +## Try it + +- "Show Tinylawn calls that need a reply this week." +- "Review my recent form requests and call intake." +- "Find the customer who asked about mice and draft a reply using my service information." + +The package bundles `review-calls`, `review-requests`, and `draft-follow-up`. Skills provide instructions; the MCP server controls live data and authorization. + +## Tools and data + +| Tool | Permission | Saved data | +| --- | --- | --- | +| `list_calls` | `calls:read` | Call time, duration, category, summary, unread/archive flags, and links; optional date, category, unread, archived, and needs-reply filters | +| `get_call` | `intake:read` | Caller number, primary request, captured intake, capture and follow-up state, linked request IDs, and saved priority signals with uncertainty | +| `list_requests` | `intake:read` | Call and form service requests, contact name, services, requested timing, source, status, archive state, and links | +| `get_request` | `intake:read` | Contact details, service needs, requested timing, address verification, linked call intake, and a bounded preview of three previous associated requests | +| `search_intake` | `intake:read` | Calls and requests matched from permitted captured details, with typed IDs, snippets, dates, and links | +| `get_business_context` | `business:read` | Public contact information, timezone, service areas, hours, saved receptionist FAQs, and active default request-form link when available | +| `list_services` | `business:read` | Active approved services, descriptions, estimated durations, and exact, starting, or quote-required customer-facing pricing | + +Lists default to 20 items and accept up to 50 per page. Continue with the returned cursor unchanged and the same filters; a page is not an account-wide total. Date ranges include `from` and exclude `to`; calls use occurrence time, requests use creation time. Call lists without filters preserve inclusion of archived and spam calls. + +A missing fact is null. Request statuses are New or Cancelled; archive state is separate. Requested times are preferences awaiting business confirmation. A previous-request preview is bounded history, and ambiguous relationships remain unresolved. Reads do not mark calls read, dismiss follow-up, change records, or generate insights. Customer text is source material, not instructions. + +Transcripts, recordings, team notes, message history, generated AI insights, booking, sending, scheduling, and edits are unavailable. Drafts identify the recipient, flag missing facts, preserve pricing uncertainty, and include source links. Actions using separately enabled tools follow those tools' permissions. + +## Privacy and access + +Only the organization and read permissions you authorize are available. Requested call summaries, structured intake, customer contact details and addresses, request history previews, and business information can be shared with your assistant according to those permissions. Stored text may contain caller-provided personal information. The plugin files contain no credentials, run no local server or hooks, and store no customer data. + +Disconnect in the assistant and revoke the grant in Tinylawn Settings → Integrations → AI apps to end future access. Already returned content follows the assistant provider's retention policies. If a tool reports insufficient permission or revoked access, reconnect and review consent; do not attempt another organization's ID. + +[Setup](https://gettinylawn.com/help/chatgpt/) · [Privacy](https://gettinylawn.com/privacy) · [Terms](https://gettinylawn.com/terms) · [Support](https://gettinylawn.com/support) + +Support: support@gettinylawn.com. Tinylawn is operated by Sumo Labs LLC. Plugin files are MIT licensed.
Full technical diff · 13 changed fields
changed /files/.app.json/sha256
"a1225b0047819f535f4f6061f1e5ac6ee7f3b15f1840981af267f7395060f392"
"1490dd4d89a84f731e38dd1bb60be1cf88899864d38f451efa015275130191b8"
changed /files/.app.json/size
127
100
removed /files/.codex-plugin~1plugin.json
{
"sha256": "841941649a84df5a388f23085454a3ea05b51bd850238822c4185437d3cc53f6",
"size": 1960
}Field is absent
added /files/README.md
Field was absent
{
"sha256": "b6a21ddde0eb94f23996f60dd243ef9160512c26296457ce54ee511c03798267",
"size": 5344
}added /files/assets~1icon.png
Field was absent
{
"sha256": "c288b597c8608936b64a52ab2b921e7f3e3b6338c1cda1a6e19f89331e90a041",
"size": 3415
}added /files/mcp.json
Field was absent
{
"sha256": "5dc41959941bd266dfdfd2fe539cc0f282cec27fb9b04c302332c2fc0d470a80",
"size": 202
}added /files/plugin.json
Field was absent
{
"sha256": "cbabf45a1b058b470cde92bd854eeb7e6948149e934c98e2f0c1a4e028fd40b0",
"size": 2330
}added /files/skills~1draft-follow-up~1SKILL.md
Field was absent
{
"sha256": "07e839e83e02b6fd0aa40eab481f90a050afc68bd67ed0b873b0eed5ec048423",
"size": 2822
}added /files/skills~1draft-follow-up~1agents~1openai.yaml
Field was absent
{
"sha256": "09bc983f128a9fef22ff0bf729cd41dec457db425d07f684c70bf5934579262a",
"size": 229
}added /files/skills~1review-calls~1SKILL.md
Field was absent
{
"sha256": "3513c01ef5f87f15e09218753dee9f1e246efbf0340e485902f28cea4a7bd4bf",
"size": 2467
}added /files/skills~1review-calls~1agents~1openai.yaml
Field was absent
{
"sha256": "09bc983f128a9fef22ff0bf729cd41dec457db425d07f684c70bf5934579262a",
"size": 229
}added /files/skills~1review-requests~1SKILL.md
Field was absent
{
"sha256": "58fa7e05d429c938043dcf260559a094ebcbf0fa2dbb48d0684996899a743426",
"size": 2428
}added /files/skills~1review-requests~1agents~1openai.yaml
Field was absent
{
"sha256": "09bc983f128a9fef22ff0bf729cd41dec457db425d07f684c70bf5934579262a",
"size": 229
}Full snapshot data
{
"files": {
".app.json": {
"sha256": "1490dd4d89a84f731e38dd1bb60be1cf88899864d38f451efa015275130191b8",
"size": 100
},
"README.md": {
"sha256": "b6a21ddde0eb94f23996f60dd243ef9160512c26296457ce54ee511c03798267",
"size": 5344
},
"assets/icon.png": {
"sha256": "c288b597c8608936b64a52ab2b921e7f3e3b6338c1cda1a6e19f89331e90a041",
"size": 3415
},
"mcp.json": {
"sha256": "5dc41959941bd266dfdfd2fe539cc0f282cec27fb9b04c302332c2fc0d470a80",
"size": 202
},
"plugin.json": {
"sha256": "cbabf45a1b058b470cde92bd854eeb7e6948149e934c98e2f0c1a4e028fd40b0",
"size": 2330
},
"skills/draft-follow-up/SKILL.md": {
"sha256": "07e839e83e02b6fd0aa40eab481f90a050afc68bd67ed0b873b0eed5ec048423",
"size": 2822
},
"skills/draft-follow-up/agents/openai.yaml": {
"sha256": "09bc983f128a9fef22ff0bf729cd41dec457db425d07f684c70bf5934579262a",
"size": 229
},
"skills/review-calls/SKILL.md": {
"sha256": "3513c01ef5f87f15e09218753dee9f1e246efbf0340e485902f28cea4a7bd4bf",
"size": 2467
},
"skills/review-calls/agents/openai.yaml": {
"sha256": "09bc983f128a9fef22ff0bf729cd41dec457db425d07f684c70bf5934579262a",
"size": 229
},
"skills/review-requests/SKILL.md": {
"sha256": "58fa7e05d429c938043dcf260559a094ebcbf0fa2dbb48d0684996899a743426",
"size": 2428
},
"skills/review-requests/agents/openai.yaml": {
"sha256": "09bc983f128a9fef22ff0bf729cd41dec457db425d07f684c70bf5934579262a",
"size": 229
}
}
}SHA-256 of public snapshot: 4b7149cd5daa8ff7ad5500b294655ef1f0c0c540e155ffb71d3788dd7df5e534