CHATBOTS

Auto-Post Failed Pipeline Root Cause to Discord

When a GitLab pipeline fails, this workflow automatically parses the failing job log and posts the root cause to a Discord channel, pinging the commit author so nobody has to ask.

CategoryChatbots
Enginesim
Difficultyintermediate
Triggerwebhook
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitLab pipeline webhook event receivedHTTP webhook
  • LogicFilter: keep only status == failed
  • ActionFetch failed jobs and download earliest traceGitLabGitLab
  • ActionSummarize trace into one-line cause with LLMOpenAI
  • OutputPost failure embed and ping author in DiscordDiscordDiscord

What it does

Instead of waiting for a contributor to ask, this workflow listens for GitLab pipeline failure events and proactively posts the parsed root cause into Discord the moment CI goes red. It pings the commit author and links straight to the failing job.

When to use it

Use this when you want push-based failure visibility on a busy repo: contributors learn their pipeline broke (and why) without polling the GitLab UI or asking in chat. Pairs well with the on-demand `/whyfail` bot for the cases where someone still wants to dig in.

How it works

  1. 1A GitLab webhook fires on a `pipeline` event delivered to the workflow.
  2. 2A filter keeps only events with status `failed`, dropping running and successful pipelines.
  3. 3The workflow fetches the failed jobs and downloads the trace of the earliest failure.
  4. 4An LLM summarizes the trace into a one-line cause plus the failing command.
  5. 5The bot posts an embed to the team's Discord channel with the cause, author mention, branch, and a deep link to the job.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitLabRepos, MRs, pipelines, registry.
  2. 2
    Connect HTTP webhookTrigger any URL on agent actions.
  3. 3
    Connect DiscordCommunity channels + voice + bots.
  4. 4
    Connect OpenAIModels, embeddings, files.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.