From glean-pack
Implements webhook handlers for GitHub, Confluence, Notion events to index or delete documents incrementally in Glean via Indexing API.
How this skill is triggered — by the user, by Claude, or both
Slash command
/glean-pack:glean-webhooks-eventsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Glean does not send webhooks. Instead, build event-driven connectors that receive webhooks from source systems (GitHub, Confluence, Notion) and push incremental updates to the Glean Indexing API.
Glean does not send webhooks. Instead, build event-driven connectors that receive webhooks from source systems (GitHub, Confluence, Notion) and push incremental updates to the Glean Indexing API.
// Receive GitHub wiki/page webhooks, index into Glean
app.post('/webhooks/github', async (req, res) => {
const event = req.body;
if (event.action === 'created' || event.action === 'edited') {
await glean.indexDocuments('github_wiki', [{
id: `wiki-${event.page.sha}`,
title: event.page.title,
url: event.page.html_url,
body: { mimeType: 'text/html', textContent: event.page.body },
author: { email: event.sender.email },
updatedAt: new Date().toISOString(),
permissions: { allowAnonymousAccess: true },
}]);
}
res.sendStatus(200);
});
app.post('/webhooks/confluence', async (req, res) => {
const { event, page } = req.body;
if (event === 'page_updated' || event === 'page_created') {
const content = await fetchConfluencePage(page.id);
await glean.indexDocuments('confluence_custom', [{
id: `conf-${page.id}`,
title: content.title,
url: `${CONFLUENCE_URL}/wiki/spaces/${content.space.key}/pages/${page.id}`,
body: { mimeType: 'text/html', textContent: content.body.storage.value },
updatedAt: content.version.when,
}]);
}
if (event === 'page_removed') {
await glean.deleteDocument('confluence_custom', `conf-${page.id}`);
}
res.sendStatus(200);
});
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin glean-packDeploys Glean custom connectors as scheduled jobs on Cloud Run, AWS Lambda, Fly.io, or GitHub Actions for periodic indexing syncs.
Implements Notion change detection using polling, native webhooks, and third-party connectors for real-time sync, change feeds, backups, and event workflows.
Searches and fetches Glean developer docs via MCP tools for APIs, SDKs (Python/JS), MCP config, authentication, indexing, and integrations.