Overview
Henneth plugs into infrastructure you already operate. The integrations below cover the four surfaces we touch most: the CDN edge (Cloudflare, Akamai), identity and documents (Google Workspace), and the channels your team acts in (Slack, Microsoft Teams). Every integration installs the same way: enable it from the connector library in app.henneth.ai, complete the OAuth or token exchange, and Lens, Prism and Playbooks pick up the connection.
Authentication
All integrations authenticate through the Henneth OAuth broker. You do not manage refresh tokens by hand: the broker handles rotation and exposes a stable token reference your Playbooks can call.
# list active integrations for the current workspace
curl "https://api.henneth.ai/v1/integrations" \
-H "Authorization: Bearer $HENNETH_API_KEY"
CFCloudflare
/docs/integrations/cloudflare Analytics APIEdge WorkerWebhookLogpush
Brings AI-agent (bot) traffic into Agent Analytics. Two ways to connect, run either or both. Neither sends human visitor traffic or request bodies to Henneth.
What it does·Analytics API: Henneth pulls hourly, aggregated AI-bot request counts per bot, host and path. Sampled, so counts are approximate.·Edge Worker: matches known AI bots by User-Agent at the edge and posts one JSON event per bot request. Unsampled, real time.·Logpush (Enterprise): stream Cloudflare Logpush straight into Henneth without edge code.
Install01Create a read-only API token scoped to one zone with Zone → Analytics → Read.02Add the token and Zone ID under Settings → Integrations in Henneth.03For unsampled data, deploy the Worker template from Settings → Agent Analytics on your route.
export default {
async fetch(request, env, ctx) {
const ua = request.headers.get("user-agent") || "";
const bot = ["GPTBot", "ClaudeBot", "PerplexityBot", "Google-Extended"].find(b => ua.includes(b));
if (!bot) return fetch(request); // human traffic: nothing is sent
const response = await fetch(request);
ctx.waitUntil(fetch(HENNETH_WEBHOOK_URL, {
method: "POST",
headers: { "X-API-Key": HENNETH_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ bot_name: bot, path: new URL(request.url).pathname, method: request.method,
status: response.status, user_agent: ua, ip: request.headers.get("cf-connecting-ip"),
country: request.headers.get("cf-ipcountry"), timestamp: new Date().toISOString() }),
}));
return response;
},
};SecurityThe webhook authenticates with your hk_ API key. Henneth stores only a SHA-256 hash of the key, request bodies are size-capped, and stale or future-dated events are dropped.
AKAkamai
/docs/integrations/akamai DataStream 2WebhookLogs
For enterprise customers on Akamai, Henneth ingests AI-agent traffic through DataStream 2. Akamai pushes CDN request logs to Henneth over HTTPS; Henneth keeps only known bots. Your property configuration and content are not touched.
What it does·DataStream 2 pushes CDN request logs to Henneth every 30 seconds over HTTPS.·Henneth keeps known AI-bot user-agents (GPTBot, ClaudeBot, PerplexityBot, Googlebot) and discards the rest, roughly 99.9% of traffic, on arrival.·Bot visits aggregate hourly into Agent Analytics: bot breakdown, path analysis, platform distribution, trends.
Install01In Settings → Integrations, under Akamai, click Generate Webhook Credentials. The password is shown once.02In Akamai Control Center create a DataStream 2 stream: Custom HTTPS, BASIC auth, JSON, 30-second push. Fields: timestamp, bytes, status, host, path, User-Agent.03Add the DataStream behavior to your property at 100% sample rate and activate. Data appears within about 60 minutes.
SecurityThe webhook password is stored AES-256-GCM encrypted and shown once. All traffic runs over HTTPS to Henneth's ingest service, which runs on a separate instance from the main application.
GSGoogle Workspace
/docs/integrations/google SheetsDocsGmailGA4Search Console
Connect a Google account to put Playbooks to work across Sheets, Docs, Gmail, Google Analytics 4 and Search Console. Write Lens results into a Sheet, draft a report in Docs, email a summary, or pull GA4 data into a workflow.
What it does·Sheets: Playbooks read from and write to a spreadsheet you choose.·Docs and Gmail: generate briefs and reports, send digests, read messages to trigger a workflow.·Analytics and Search Console: pull GA4 and Search Console metrics into a workflow to pair traffic with Lens visibility.
Install01In Settings → Integrations, click Connect Google Account.02Grant the requested scopes on Google's consent screen. The connection is per user.03Pick target Sheets or Docs from the file picker inside a Playbook step.
# requested Google OAuth scopes
userinfo.email userinfo.profile
spreadsheets # Sheets read / write
documents # Docs read / write
gmail.send gmail.readonly # send + read email
drive.metadata.readonly # list file names for the picker only
analytics.readonly webmasters.readonly # GA4 + Search Console, read-only
Securitydrive.metadata.readonly lists file names so you can pick a target. It does not grant access to the contents of your Drive files.
SLSlack
/docs/integrations/slack Playbook deliveryIncoming webhookBlock Kit
A Playbook step posts a formatted message to a Slack channel through an incoming webhook you control.
What it does·Adds a Send to Slack step to any Playbook, posting a Block Kit message (header, summary, context).·Message text is yours to compose, with Playbook variables interpolated.·Henneth posts only to the channel your webhook targets and holds no token to read your workspace.
Install01In Slack, create an Incoming Webhook for the target channel.02In Henneth, add it under Settings → Integrations as a Slack connection.03Select it from the Send to Slack step in your Playbook.
SecurityThe webhook URL is the only credential. Henneth uses it for outbound messages to that one channel and requests no OAuth scopes or read access.
MTMicrosoft Teams
/docs/integrations/teams Adaptive CardsPower AutomateLogic Apps
A Playbook step posts an Adaptive Card to a Power Automate or Azure Logic Apps webhook you control.
What it does·Adds a Send to Teams step to any Playbook, posting a formatted Adaptive Card to the flow behind your webhook.·Card content is composed from your Playbook, with variables interpolated.·From Power Automate or Logic Apps, fan the card out to a channel, a chat, or any downstream step.
Install01Create a flow with a "When a HTTP request is received" trigger and copy its URL.02In Henneth, add it under Settings → Integrations as a Teams connection.03Select it from the Send to Teams step in your Playbook.
SecurityThe webhook URL is the only credential. Henneth requests no Microsoft Graph permissions, directory access or Entra sign-in.
On the roadmap: HubSpot, Snowflake and Datadog. Need something not listed?Talk to us →