> For the complete documentation index, see [llms.txt](https://oodlz-ai-studio.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://oodlz-ai-studio.gitbook.io/docs/inbound-agent/every-channel/social-listening.md).

# Social Listening

Comments and DMs replied to autonomously — five-condition filter, dedup, per-platform formatting, all routed through the same agent as the website.

> **Comments and DMs answered automatically, in the brand voice, across every connected platform.**

Most "social inbox" tools route comments and DMs to a unified dashboard for a human to reply manually — the work shifts but does not disappear. Auto-reply tools at the other extreme reply to everything indiscriminately, or stay silent because they cannot tell which messages need a response. The Oodlz social listening pipeline blocks indiscriminate replies, dedupes platform retries, and routes every real message through the same inbound agent that powers the website widget — replying in the brand voice with platform-correct formatting.

## What You Get

* Autonomous replies to comments and DMs across every connected social platform.
* Same brand voice and same memory as the website agent — a user who comments on Instagram and follows up on the website widget hits one thread.
* Zero embarrassing replies — test events, stale webhooks, self-reply loops, and empty messages are dropped before any LLM call fires.
* Platform-correct formatting — markdown stripped, character limits enforced per platform.
* Full audit trail — every successful reply and every skipped event logged with reason.

## How It Works

Each inbound social event arrives via a Zernio webhook. The pipeline normalises the payload, applies a [5-condition skip filter](/docs/inbound-agent/every-channel/social-listening/five-skip-conditions.md), checks a [Redis dedup cache](/docs/inbound-agent/every-channel/social-listening/redis-deduplication.md) for prior processing of the same comment or message, and only then forwards the cleaned payload to the same agent endpoint that handles the website widget. The agent's response is parsed, markdown is stripped for social rendering, per-platform character limits are enforced, and the reply is POSTed back to the platform via Zernio.

The dedup key is set on success so any duplicate webhook firing for the same event drops out cleanly on the next run. Every event — successful reply, skipped, deduped — produces a log entry. The pipeline costs effectively zero on rejected events; LLM cost is incurred only on real replies that pass every filter.

## Quality Baked In

* 5-condition filter runs before any LLM call — test events, stale events, unsupported channels, empty messages, and self-reply loops are dropped silently.
* Redis dedup keyed on comment ID and message ID — set on publish, so webhook retries hit the cache and exit cleanly. One reply per comment, always.
* Markdown is stripped before posting — no asterisks rendered as literal characters, no hashtags rendered as visible text, no bracketed URL noise.
* Per-platform character limits enforced deterministically before reply.
* Self-reply detection at username and page-ID level — Facebook gets an extra page-ID check against the author for page-as-author edge cases.
* Same `{platform}_{senderId}` session key as the website agent — cross-channel memory works at the key level.

## Inputs

* Zernio webhook events for `comment.received` and `message.received` across every connected platform.
* Brand profile fields — name, tone, prohibited language — used to build the personality prompt for the agent reply.

## Outputs

* One platform-formatted reply per real event, posted via Zernio with the right account routing.
* Dedup key set in Redis after successful reply.
* Log entry per event — platform, sender, HTTP status, skip reason if dropped.

## Cadence And Volume

Runs the moment a Zernio webhook fires. Volume scales with social activity. Skipped events incur no LLM cost; real replies inherit the inbound agent's per-query cost.

## What This Replaces

* The social inbox tool that routes everything to a human dashboard for manual reply.
* The auto-reply bot that answers test events, stale backfill, and its own posts.
* The reply tool that posts markdown asterisks and broken URL syntax into Instagram.
* The duplicated reply that lands 3 times because the platform retried the webhook.

One pipeline, deterministic filters before any LLM call, brand-voiced replies posted in the right format on every platform.

***

*This was built. No agent ships this out of the box.*
