Google Chat error alerts for .NET, Node.js and Python apps
Every new error of your application lands in a Google Chat space as a card, posted through an incoming webhook of the space: the first occurrence at once, with its stack trace, and the count of repeats as short summaries. Google Chat comes with the Business plan.
Business plan · an incoming webhook of your space · your events are never stored
What arrives
A card about one error: the project name and the level in the header, the exception and its message, where it happened, the environment, host, version and time, the event's properties and the stack trace in a code block.
- An incoming webhook can't edit a card, so the repeats arrive as summaries at the same moments as the live count in Telegram and Discord: 10 minutes after the first message, then after 30 minutes, an hour, and every 6 hours.
- When a window passes without repeats, the error is closed; its next occurrence arrives as a new first card.
- When the space can't keep up, the waiting errors arrive bundled: one card, one line per error, grouped by project.
- BugsRadar keeps to the limits of Google Chat webhooks and waits whenever Google asks.
What you need
An incoming webhook of the space
In a Google Workspace space: the space's name → Apps & integrations → Webhooks → Add webhook. Google gives you a URL on chat.googleapis.com; that URL is the only thing BugsRadar needs. Incoming webhooks are a Google Workspace feature: a personal Gmail account can't create them.
One webhook, one space
A webhook posts to the space it was created in. Another space is another webhook and another BugsRadar channel.
Checked, encrypted, masked
BugsRadar posts a short message to the space to check the webhook before saving, stores the URL encrypted and shows only a mask afterwards. Send test posts a test card.
The steps, in order: Set up Google Chat.
From any platform
The channel is chosen in the web app, not in the code: the same package, the same call, whatever the chat.
- .NET - one NuGet package:
ILogger, Serilog, NLog, log4net and direct calls, for ASP.NET Core, worker services, console apps and .NET Framework. - Node.js - one npm package: uncaught errors, Express, winston, pino and direct calls, with TypeScript types.
- Python - one package from PyPI: the logging module, loguru, uncaught exceptions, Django, Flask and FastAPI.
- Scripts, cron jobs and pipelines - one HTTP request from Bash, PowerShell or any language, with ready-made guides for cron, systemd, SQL Server Agent, backups and CI/CD.
When something changes
The webhook stays yours; BugsRadar only tells you when it stops working.
- Webhook deleted or the space gone? BugsRadar turns the channel off, marks it Turned off by BugsRadar with the last error, and the project's page shows it. Fix the cause and press Check again.
- Another space? Credentials can't be edited: add a new Google Chat channel with the new URL and delete the old one.
- Google asks to slow down? Delivery pauses and resumes on its own, and errors that waited arrive bundled.
Questions developers ask
Why does it need Google Workspace?
Incoming webhooks exist only in spaces of a Google Workspace organization. A personal Gmail account can read a space it is invited to, but the webhook is created by a Workspace user.
Why summaries instead of a live count?
An incoming webhook can't edit a card once it is posted, so the count of repeats arrives as a short summary at the same moments as the live count in Telegram and Discord: 10 minutes after the first message, then after 30 minutes, an hour, and every 6 hours.
Can the alerts go to a direct message?
No. Webhooks post to spaces. Create a space for the alerts and invite the people who should read them.
Can several projects share one channel?
Yes. One channel can serve several projects, and a project can have several channels; with rules each channel gets only the errors that fit its filter.
Does BugsRadar store my errors?
No. An event stays in memory only until it is delivered to your channels; nothing is written to a database. BugsRadar keeps only what it needs to run: your email, your projects and the encrypted settings of your channels.
Connect Google Chat in a few minutes
Sign in with your email, upgrade to Business, create a project, paste the webhook URL.
Next: PagerDuty incidents →