<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Todd Schiller - webhooks</title><link href="https://toddschiller.com/" rel="alternate"></link><link href="https://toddschiller.com/feeds/tag/webhooks.atom.xml" rel="self"></link><id>https://toddschiller.com/</id><updated>2026-11-06T00:00:00-05:00</updated><subtitle>Human ✘ Artificial Intelligence</subtitle><entry><title>This Week in Extensibility: Epic makes custom progression systems publishable in Fortnite, Glean adds MCP Tasks and Skills, and the W3C Agentic Web group adds a threat model to its charter</title><link href="https://toddschiller.com/blog/this-week-in-extensibility-2026-11-06.html" rel="alternate"></link><published>2026-11-06T00:00:00-05:00</published><updated>2026-11-06T00:00:00-05:00</updated><author><name>Todd Schiller</name></author><id>tag:toddschiller.com,2026-11-06:/blog/this-week-in-extensibility-2026-11-06.html</id><summary type="html">Week of October 31 – November 6, 2026: Epic made custom quest and progression systems publishable in Fortnite's creator platform, Glean added MCP's Tasks and Skills to its assistant, the W3C Agentic Web group added a threat model for pages that try to manipulate a visitor's agent, and Standard Webhooks added a handshake that verifies a webhook endpoint.</summary><content type="html">&lt;!-- markdownlint-disable MD013 --&gt;
&lt;p&gt;Epic made custom quest and progression systems publishable in Fortnite, lifting the
gate that kept islands built on them in development. Glean added MCP's Tasks and
Skills to its assistant, and the W3C Agentic Web group added a
threat model for web pages that try to manipulate or track a visitor's agent.
Standard Webhooks added a handshake that proves a webhook endpoint agreed to receive
events before delivery starts, and Shopify gave app developers a way to test their
network-access rules before they ship.&lt;/p&gt;
&lt;h2&gt;Game modding: Epic makes custom progression systems publishable in Fortnite&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Epic made the Progression API generally available, so Fortnite islands built on
custom quest and progression systems can now be published to other players.&lt;/strong&gt; The
&lt;a href="https://dev.epicgames.com/documentation/fortnite/43-00-fortnite-ecosystem-updates-and-release-notes"&gt;43.00 release on November 1&lt;/a&gt;
takes the interface creators use to build quests, levels, and unlock tracks out of
its experimental stage. Until this release, an island that used it could not be
shipped to other players. The same release
added scripting features to Verse, Epic's creator language, including events that
other code can subscribe to, an experimental timer, and a clock any script can
read, and it gave creators a dashboard that reports how their published islands
perform.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; Epic's creator platform is the layer players use to extend
Fortnite into experiences Epic itself never built, and the Progression API is how a
creator adds quests and leveling to an island. Now a creator can ship an island that
depends on it, widening what reaches Fortnite's audience.&lt;/p&gt;
&lt;h2&gt;Agents and the web: Glean adds MCP Tasks and Skills, and the W3C Agentic Web group adds a threat model&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Glean added support for MCP's Tasks and Skills features to its enterprise
assistant.&lt;/strong&gt; Per the project's
&lt;a href="https://github.com/modelcontextprotocol/modelcontextprotocol/pull/3495"&gt;client-support matrix&lt;/a&gt;
(November 3), Glean now supports Tasks, which lets an agent hand a connected service a
long-running job and come back later for the result, and Skills, which let a connected
service offer reusable capability bundles an agent can load. The matrix lists Tasks
support in Claude, Claude Code, the third-party MCPJam inspector, and now Glean; it is
community-maintained and does not claim to be complete.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The W3C Agentic Web group added a threat model to its draft charter.&lt;/strong&gt; This follows the proposal at the W3C's Dublin gathering last week to
move WebMCP, the draft that lets a web page offer tools a visitor's agent can call,
into a new working group. This week the draft charter gained a section cataloging
what a web page can do to an agent that visits it: feed it bad instructions through
content other users wrote, block it outright, and waste its time with traps built to
stall it. The section also raises how far a site's declared capabilities should be
trusted. A W3C staff contributor
&lt;a href="https://github.com/w3c/charter-drafts/pull/915"&gt;approved the latest additions on November 5&lt;/a&gt;.
Separately, WebMCP's editors, whose draft still runs only in Chromium browsers behind
an origin trial, added a way for a page to
&lt;a href="https://github.com/webmachinelearning/webmcp/pull/254"&gt;declare the shape of a tool's output&lt;/a&gt;
to the agent (November 2). The charter has not yet gone to the member vote that would
create the group.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; Glean now supports the MCP features that turn a one-time request
into a standing job an agent can run and return to, which is agent automation reaching
a product people use at work. On the browser side, the cross-vendor group that would
standardize how a page exposes tools to an agent is still being chartered, and its
threat model now names defending the agent from a hostile page as in scope.&lt;/p&gt;
&lt;h2&gt;Webhooks: Standard Webhooks adds an endpoint-verification handshake&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Standard Webhooks added a handshake that lets a sender confirm an endpoint agreed to
receive events, and holds the shared secret, before it starts delivering.&lt;/strong&gt; On
&lt;a href="https://github.com/standard-webhooks/standard-webhooks/pull/344"&gt;October 30 the cross-vendor convention merged the extension&lt;/a&gt;:
the sender posts a random challenge value to the endpoint, signed like a normal event,
and the endpoint proves itself by echoing back a value derived from the signing key.
Challenge requests are explicitly not events, so a receiver will not mistake the check
for real traffic.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; confirming that an address actually wants a sender's events, and
can prove it holds the key used to sign them, has been left to each vendor to solve its
own way. OpenAI, Anthropic, Twilio, and others already use Standard Webhooks for the
format and signing of webhook payloads. A shared way to verify the endpoint itself
extends that common ground to the step before the first event is sent.&lt;/p&gt;
&lt;h2&gt;Marketplace security: Shopify lets developers test an app's network-access rules before shipping&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Shopify shipped a preview that lets app developers check, on a test store, which
outside servers their app is allowed to contact.&lt;/strong&gt; The
&lt;a href="https://shopify.dev/changelog/posts/test-app-network-access-configuration-on-dev-stores"&gt;November 4 change&lt;/a&gt;
reads the list of outside servers and sites an app has declared and warns in the browser
console when a storefront page reaches something not on the list. It warns; it does not
block. This is the working half of the security package Shopify set out on October 27,
which asks apps to declare where they send data as part of tightening the App Store.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; a Shopify app runs on the developer's own servers, where Shopify
never sees the code, so the platform relies on what an app declares about itself. Giving
developers a way to catch an undeclared connection before they ship helps them meet that
requirement ahead of the 2027 deadlines, when apps that fall short start losing their
listings.&lt;/p&gt;
&lt;h2&gt;Also worth knowing&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Google landed an on-device decision engine as a flag-gated developer trial in Chrome 157.&lt;/strong&gt;
The &lt;a href="https://issues.chromium.org/issues/568193538"&gt;Decisions API&lt;/a&gt; runs fast,
deterministic classification on the device, sorting an input against a fixed set of
options in a single pass, the kind of check a page or extension can use to route or
validate input without a server round trip. It is
&lt;a href="https://chromestatuslite.com/?version=157"&gt;turned on only behind a flag&lt;/a&gt;, on desktop,
and is neither an origin trial nor on by default.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The W3C WebExtensions group drafted the section of its cross-browser extension
standard covering background service workers.&lt;/strong&gt; The
&lt;a href="https://github.com/w3c/webextensions/pull/1173"&gt;in-progress specification&lt;/a&gt; is being filled
in piece by piece; this section defines the background process an extension uses to keep
working when none of its windows are open.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QuickJS-ng hardened how it isolates guest code.&lt;/strong&gt;
&lt;a href="https://github.com/quickjs-ng/quickjs/releases/tag/v0.18.0"&gt;Version 0.18.0 (November 1)&lt;/a&gt;
of the small JavaScript engine many products embed to run user-supplied scripts made
out-of-memory and internal errors impossible for a guest script to catch, so a
misbehaving script can no longer swallow them and keep running.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CopilotKit locked its in-app assistant interface to a single versioned format.&lt;/strong&gt;
&lt;a href="https://github.com/CopilotKit/CopilotKit/releases/tag/v1.84.0"&gt;Release 1.84.0 (November 3)&lt;/a&gt;
requires the generated assistant UI to use one agreed message format and drops the older
pre-release shapes, a breaking change aimed at keeping the agent and the interface in sync.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;On the radar&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;November 9:&lt;/strong&gt; The WebAssembly Component Model subgroup holds its second meeting.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;November 10:&lt;/strong&gt; JetBrains holds its Plugin Developer Conference.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;November 12:&lt;/strong&gt; The W3C WebExtensions Working Group holds its next call.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;November 17:&lt;/strong&gt; Cloudflare changes a default in how its Workers handle a cancelled request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mid-to-late November:&lt;/strong&gt; The W3C posts minutes from its Dublin meeting, including the
sessions on WebMCP and the browser-extension platform.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;December 1:&lt;/strong&gt; New Microsoft 365 Copilot Business licenses switch to usage-based billing
by default, and Copilot becomes purchasable without a qualifying base subscription.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;December 18:&lt;/strong&gt; Atlassian stops forwarding Forge's old full-page addresses; apps must move
to the unified building block.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;December 31:&lt;/strong&gt; Cloudflare ends bug and security fixes for the 0.x line of its Sandbox SDK.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;January 1, 2027:&lt;/strong&gt; Shopify delists public apps still using access credentials that never
expire.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;This Week in Extensibility is curated by Todd Schiller. Research, drafting, and fact
checking are AI-assisted.&lt;/em&gt;&lt;/p&gt;
</content><category term="Extensibility"></category><category term="extensibility"></category><category term="plugins"></category><category term="sandboxes"></category><category term="web standards"></category><category term="MCP"></category><category term="WebMCP"></category><category term="Fortnite"></category><category term="UEFN"></category><category term="game modding"></category><category term="Glean"></category><category term="webhooks"></category><category term="Shopify"></category><category term="Chrome"></category></entry><entry><title>This Week in Extensibility: Shopify asks app developers to run its new AI security scanner, the Model Context Protocol charters a Tasks and Events group to standardize how servers notify a user's agent, and Trigger.dev makes inbound webhooks a hosted service</title><link href="https://toddschiller.com/blog/this-week-in-extensibility-2026-10-23.html" rel="alternate"></link><published>2026-10-23T00:00:00-04:00</published><updated>2026-10-23T00:00:00-04:00</updated><author><name>Todd Schiller</name></author><id>tag:toddschiller.com,2026-10-23:/blog/this-week-in-extensibility-2026-10-23.html</id><summary type="html">Week of October 17 – October 23, 2026: Shopify asked every app developer to run its new AI security scanner and previewed tougher App Store requirements, the Model Context Protocol chartered a Tasks and Events working group to standardize how a connected service notifies a user's agent, and Trigger.dev turned inbound webhooks into a hosted service that verifies and routes events to customers' automations.</summary><content type="html">&lt;!-- markdownlint-disable MD013 --&gt;
&lt;p&gt;Shopify asked every developer in its App Store to run a new security scanner and
previewed stricter listing rules, after hijacked apps began sending shoppers to fake
checkout pages. The Model Context Protocol chartered a working group to standardize how
a connected service notifies a user's agent when something changes. And Trigger.dev
turned the webhooks that set off its customers' automations into a hosted service that
checks each event.&lt;/p&gt;
&lt;h2&gt;Marketplace security: Shopify asks app developers to run its new AI security scanner&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Shopify asked every App Store developer to scan their apps for vulnerabilities and
previewed stricter rules for listing one.&lt;/strong&gt; On October 20 the company
&lt;a href="https://shopify.dev/changelog/blog/securing-your-app-together"&gt;asked all developers of public apps to run its new security check&lt;/a&gt;,
which looks for weaknesses specific to Shopify apps, such as routes left open without
authentication, code that can reach another store's data, and webhooks accepted without
verifying they are genuine. Shopify also previewed platform changes it plans to make:
access tokens that expire, a restriction so an app's keys work only from the developer's
own servers, tighter limits on the code storefront apps may run, and a higher security
bar to list in the App Store. Shopify named no breach. It attributed the push to
attacks &amp;quot;increasing across the app ecosystem as AI gets better at finding
vulnerabilities,&amp;quot; while outside coverage tied the timing to hijacked apps that redirected
shoppers to fake checkout pages. The scanner itself, which Shopify
&lt;a href="https://shopify.dev/changelog/blog/build-more-secure-apps-with-shopify-s-ai-toolkit-security-check"&gt;released on October 15&lt;/a&gt;,
runs on the developer's own machine and is invoked through Shopify's AI coding assistant.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; Salesforce scans the packages developers upload to it, and Atlassian
scans the Forge apps that run on its own platform. A Shopify app runs on the developer's
own servers, so Shopify never sees the code. Cloudflare shipped the same open-source,
coding-assistant check in September for its own platform; Shopify is applying the approach
to apps it does not host.&lt;/p&gt;
&lt;h2&gt;Standards: the Model Context Protocol charters a Tasks and Events group to standardize how servers notify a user's agent&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;The Model Context Protocol created a working group to standardize how a connected
service runs a long task for a user's agent and how it alerts the agent when something
changes.&lt;/strong&gt; On October 20 the project
&lt;a href="https://github.com/modelcontextprotocol/modelcontextprotocol/pull/3440"&gt;chartered a Tasks and Events working group&lt;/a&gt;
to write one standard way to do both. OpenAI already lets a user ask ChatGPT to watch a
connected app, and the app sends a signed message back when its data changes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; a user's agent has mostly had to poll a service or ask again to learn
what changed. A standard way for the service to push the change instead lets the software
a person connects notify their agent on its own, so a one-time request can run as a
standing automation.&lt;/p&gt;
&lt;h2&gt;Agents on the web: WebMCP defers hostile-page defense to a proposed W3C working group&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;WebMCP's editors merged a security section into the draft on October 20 describing risks
a web page can pose to a visitor's agent.&lt;/strong&gt; WebMCP is a draft standard that lets a web page
offer tools a visitor's agent can call. The
&lt;a href="https://github.com/webmachinelearning/webmcp/pull/334"&gt;merged section&lt;/a&gt; covers risks such
as a page feeding the agent bad instructions and a page correlating a user's data across
sites. Defending against them, it says, is &amp;quot;primarily the responsibility of the agent's own
security model rather than something this specification can normatively enforce,&amp;quot; and it
points to the proposed W3C Agentic Web Working Group as the venue for broader
standardization.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; the work of stopping a page from manipulating or tracking an agent now
falls on whoever builds the agent, not on the standard. That includes a browser's built-in
assistant, standalone agents, and AI browser extensions. The standard itself enforces no
common defense, so how well a user is protected
comes down to which agent they run.&lt;/p&gt;
&lt;h2&gt;Automation: Trigger.dev turns inbound webhooks into a hosted, verified service&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Trigger.dev began hosting and verifying the inbound events that set off its customers'
automations.&lt;/strong&gt; On October 23 it &lt;a href="https://trigger.dev/changelog/v4-8-0"&gt;shipped a release&lt;/a&gt;
that receives events from outside services such as Stripe, GitHub, and Shopify, confirms
each one is genuine, and routes it to the automation a customer has tied to it. The same
release lets a customer run an automation as a chat agent inside Slack or Linear, where
each thread becomes a live session. It streams replies and asks for approval before the
automation acts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; verifying and routing an inbound event is work most automation
platforms leave to the customer. Folding it into the platform shrinks what a customer has
to build to connect an outside service to their own automations.&lt;/p&gt;
&lt;h2&gt;Also worth knowing&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Apple opposed a Chrome proposal to let extensions switch browser tabs when a user
scrolls over the tab strip.&lt;/strong&gt; At the W3C cross-browser extension group's
&lt;a href="https://github.com/w3c/webextensions/pull/1139"&gt;October 22 call&lt;/a&gt;, Apple preferred
extending an existing Firefox control for browser behaviors to adding a new one. The
group also leaned toward loading an extension with a warning rather than rejecting it
over an unrecognized manifest entry.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Atlassian deprecated the product-specific way Forge apps take over a full page.&lt;/strong&gt;
Apps that fill a full page in Jira or Confluence
&lt;a href="https://developer.atlassian.com/platform/forge/changelog/"&gt;must move to a single unified building block&lt;/a&gt;;
Atlassian will forward the old addresses until December 18, 2026, then stop.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Microsoft let administrators choose which security certificates the Visual Studio Code
coding agent's sandbox trusts and route its sign-ins through a proxy.&lt;/strong&gt; In the
&lt;a href="https://code.visualstudio.com/updates/v1_143"&gt;October 21 release&lt;/a&gt;, the proxy keeps tools
running inside the sandbox from ever seeing the real credentials.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Svix opened a way for vendors to manage their customers' webhook destinations in
code.&lt;/strong&gt; The webhook provider &lt;a href="https://www.svix.com/blog/changelog-10-2026/"&gt;shipped a public interface&lt;/a&gt;
that lets a company set up and configure where a customer's events are delivered
programmatically rather than through a dashboard.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;On the radar&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;October 26:&lt;/strong&gt; The WebAssembly Component Model subgroup holds its first meeting.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;October 26–30:&lt;/strong&gt; The W3C holds its annual gathering (TPAC) in Dublin, including an
October 28 session on fitting WebMCP into the browser-extension platform.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;November 3:&lt;/strong&gt; The WebAssembly Community Group will discuss how a page's Content
Security Policy applies to WebAssembly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;November 5:&lt;/strong&gt; The W3C WebExtensions Community Group holds its next call.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;December 1:&lt;/strong&gt; New Microsoft 365 Copilot Business licenses switch to usage-based
billing by default.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;December 18:&lt;/strong&gt; Atlassian stops forwarding Forge's old full-page addresses; apps must
migrate to the unified building block.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;December 31:&lt;/strong&gt; Bug and security fixes end for the 0.x line of Cloudflare's Sandbox
SDK.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;This Week in Extensibility is curated by Todd Schiller. Research, drafting, and fact
checking are AI-assisted.&lt;/em&gt;&lt;/p&gt;
</content><category term="Extensibility"></category><category term="extensibility"></category><category term="plugins"></category><category term="sandboxes"></category><category term="web standards"></category><category term="MCP"></category><category term="WebMCP"></category><category term="WebAssembly"></category><category term="Shopify"></category><category term="Trigger.dev"></category><category term="Atlassian"></category><category term="webhooks"></category><category term="marketplace security"></category></entry></feed>