FAQ
Quick answers to the questions we hear most. Still stuck? Email hello@permylastwebhook.com.
The basics
What is Per My Last Webhook?
A Microsoft Teams app that turns CI/CD pipeline events into rich Adaptive Cards in your channels. It's the drop-in successor to the deprecated Office 365 / Teams Connectors — same idea (webhook in, card out), but normalized across sixteen platforms with routing, noise controls, and an audit trail.
Which platforms are supported?
GitHub Actions, GitLab, Jenkins, Azure DevOps, Bitbucket Pipelines, CircleCI, Buildkite, Argo CD, TeamCity, Datadog, Grafana, Drone CI, Sentry, PagerDuty, Prometheus Alertmanager, and Octopus Deploy have dedicated support. Anything else that can POST JSON works through the generic platform with a field mapping.
Does this replace the retired Office 365 Connectors?
Yes — that's exactly why it exists. Microsoft wound down Connectors; this fills the gap with a proper Teams app (bot + tabs + SSO) instead of a bare incoming webhook.
Setup & install
Do I need to be a Teams admin?
Only for the one-time approval. The first person to add the app triggers admin consent for your tenant; after that, anyone in your org can create subscriptions. Not an admin? Add it anyway and Teams will route the approval to one.
Do I have to add the bot to use it?
No. If you'd rather not use the bot, pick the incoming webhook destination and paste a Teams Workflows URL. You'll miss bot-only features (in-place updates, incident mode, DMs), but basic delivery needs no bot.
How do I test without a real build?
Every subscription has a Test button that fires a synthetic card through the real delivery path. You can also preview any payload in the card validator before wiring anything up.
Plans & billing
Is there a free tier?
Yes — Free covers all sixteen platforms, rich cards, channel/webhook delivery, status filters, and up to three subscriptions. See Pricing & plans.
What's behind Pro?
Scale and workflow: unlimited subscriptions, routing, incident mode, on-call DMs, quiet hours/dedupe, @mentions, approvals, and custom branding. Pro is a flat price per tenant — no per-seat billing.
Security & data
What data do you store?
Your subscription config (names, filters, destinations), the minimum needed to deliver, and an audit trail of changes/approvals. Delivery secrets (webhook URLs, API-key hashes) are stored hashed or as encrypted references — never in plaintext logs. We don't store your source code or build artifacts.
How is the ingest URL secured?
Each subscription's ingest URL carries a unique secret key that authenticates every call, compared in constant time. Several platforms can additionally sign the payload (HMAC) for integrity. You can rotate the key any time.
How does sign-in work?
Management (the tabs/admin UI) uses Microsoft Entra SSO. A token is only honored if it comes from a tenant that completed admin consent and the user holds the admin app role — a two-stage gate. If sign-in ever fails, the in-app Diagnostics tab tells you exactly which stage and how to fix it.
Is delivery reliable?
Transient failures are retried with backoff, timeouts are handled so you don't get duplicate cards, and each org has its own rate limit so a noisy tenant can't affect others.
Troubleshooting
My card didn't show up.
Usually the bot isn't in the channel, a filter/quiet-hours window is dropping the event, or the webhook points at the wrong URL. Walk the checklist in Troubleshooting.
Sign-in / "not installed" / access denied.
Open the Diagnostics tab and run the checks — it pinpoints consent, tenant-install, and app-role issues with the matching fix.
Email hello@permylastwebhook.com — we answer.