Social Sense
Social Sense watches public discussion on Reddit, Hacker News, and Dev.to for threads where your bot could plausibly add value with a comment. For each thread it surfaces, Hydra writes a draft, scores it against an ICP-fit rubric, and stages it in an inbox for you to review, edit, and post yourself. Hydra never posts on your behalf — the human is the guardrail.
The feature lives under Marketing → Social Sense in the left sidebar (admin-only).
The core unit — a Pulse
A Pulse is a domain a single bot watches. Think of it as a topic + sources + instructions bundle scoped to one bot. Examples: "Founder complaints about Intercom on Reddit", "Devs asking about Next.js SSR errors on Hacker News", "Posts on Dev.to about MCP servers".
Each pulse has:
- A bound bot — the bot whose voice and persona will draft the comments. The bot's own persona and additional instructions apply on top of the pulse's instructions.
- Pulse instructions — free-form guidance specific to this pulse (e.g. "Lead with a concrete example. Never link to hydra-help.com unless asked. Keep it under 80 words.").
- Sources — which subreddits and keywords to scan on Reddit, which keywords + story types on Hacker News, which tags on Dev.to.
- A score threshold — the minimum composite score a thread must clear before it surfaces in the inbox. Default is
70.
Creating and editing a pulse
You create and edit pulses directly in the UI. On Marketing → Social Sense, click + New Pulse in the top-right (or Create your first Pulse if you don't have any yet) to open the pulse editor at /marketing/social-sense/new. To edit an existing pulse, open it and click Settings in the inbox header — that lands you on the same form at /marketing/social-sense/[pulseId]/settings.
The editor is the same form for both create and edit. You set:
- Pulse name — how the pulse shows up in the list.
- Bound bot — a dropdown of the tenant's Social Sense bots. You can also create a new Social Sense bot inline by typing a name into the picker.
- Pulse instructions — free-form text layered on top of the bot's persona.
- Score threshold — a slider from
50to90, default70. This is the cutoff below which threads don't surface in the inbox at all. It's self-serve — drag the slider and save. - Sources — Reddit, Hacker News, and Dev.to, each with its own on/off toggle:
- Reddit — subreddits + keywords.
- Hacker News — keywords + story types (Stories / Ask HN / Show HN).
- Dev.to — tags.
Source items are entered as chips: type a value and press
Enteror comma to add it.
- Enabled / Paused — a toggle. Paused pulses are excluded from the daily automatic run but can still be run manually with Run now (see below).
The pulse list
Marketing → Social Sense lands you on the pulse list. Each pulse renders as a card showing:
- The pulse name and the bot it's bound to
- Enabled / paused state
- Surfaced thread count (open queue)
- Last run time
Click a card to open that pulse's inbox.
The thread inbox
Each pulse has its own inbox at /marketing/social-sense/[pulseId]. Threads are sorted by composite score, highest first.
The inbox header carries two actions:
- Run now — triggers an immediate scan + score + draft for this pulse, then refreshes the inbox with whatever surfaced. A run takes up to about 90 seconds. This is the fastest way to test a new pulse without waiting for the next daily run.
- Settings — opens the pulse editor (see above).
Filters across the top:
- Source — Reddit, Hacker News, or Dev.to
- Status — Open, Posted, or Dismissed. Open covers both untouched drafts and drafts you've edited but haven't acted on.
- Score threshold — slider to tighten the view below the pulse's saved threshold
Click a row to open the draft detail panel as a right-side slide-over.
The draft detail panel
The detail panel is where you read the thread, review the score, edit the draft, and decide what to do with it. It contains:
- Thread metadata — title, author, source, posted timestamp, and a link out to the original thread on Reddit / HN / Dev.to.
- Score breakdown — the five dimensions of the composite score (see below), so you can see why this thread surfaced.
- Why this surfaced — a short LLM reasoning blurb explaining the surfacing decision in plain English.
- Editable draft body — the comment Hydra drafted. Edit freely. Save the edit before you navigate away — unsaved edits are lost on refresh. Saving flips the draft status from
drafttoedited. - Copy to clipboard — the primary action. Copies your current draft body to the clipboard so you can paste it into Reddit / HN / Dev.to yourself.
- Mark as posted — records
posted_atand removes the thread from the open queue. Use this after you've actually pasted and submitted the comment on the source site. - Dismiss — records
dismissed_atand removes the thread from the open queue. Use this when the thread isn't worth a reply.
When a run can't reach a source
Reddit, Hacker News, and Dev.to are public sites Hydra reads from the outside — occasionally one of them throttles or blocks automated reads, or has an outage. When that happens on a run, Hydra tells you instead of pretending the run was clean:
- Run now shows a message like "Scanned 12 · surfaced 0. Couldn't reach: reddit" with a short reason, instead of a plain "scanned 0 · surfaced 0".
- The Last run panel shows a red "Couldn't reach reddit on this run — results are incomplete" line so you can still see it after the page refreshes.
If you see this, the surfaced count for that run only reflects the sources that did respond — it isn't a verdict that "there's nothing out there." Re-run it in a few minutes, or wait for the next daily run; transient blocks usually clear on their own. A run that couldn't reach any of its sources is marked failed rather than empty.
How the score works
Every surfaced thread carries a composite 0–100 score across five dimensions:
| Dimension | Weight | What it measures |
|---|---|---|
| ICP fit | 30 | Does the thread describe a problem your product solves? |
| Recency | 20 | Under 6 hours old = full points; over 48 hours = 0. |
| Engagement | 15 | Upvotes + comments, normalized per source. |
| Draftability | 25 | Can a useful, on-voice comment be written? |
| Mod risk (inverse) | 10 | Higher score = lower self-promotion risk. |
The pulse's threshold (default 70) is the cutoff below which threads don't surface in the inbox at all. Change it any time with the threshold slider in the pulse editor.
Social Sense bots
A pulse is bound to a Social Sense bot — the bot that supplies the voice for its drafts. You can create one inline from the bound-bot picker in the pulse editor, or edit an existing one in the bot editor.
Social Sense bots are a narrower configuration than your customer-facing support bots. When you create or edit a bot that powers a pulse, the bot editor hides the customer-facing settings that don't apply to social listening — behaviors, human handoff, language, and customer memory — and shows a Social Sense bot note. Only the bot's Persona and Additional instructions feed the thread scorer and the comment drafter. Everything else about a support bot is irrelevant to a pulse, so the editor doesn't show it.
Why Hydra never posts for you
This is intentional. Reddit, Hacker News, and Dev.to all treat automated promotional posting as spam, and getting caught will get your account, your domain, or both, banned from the platform — sometimes permanently. The cost of a single misfire is far higher than the cost of the extra click to copy and paste.
The workflow is built around that constraint:
- Hydra surfaces threads and drafts comments.
- You read the thread, edit the draft if needed, and decide whether it's actually worth a reply.
- You paste the comment into the source site under your own account.
- You click Mark as posted in Hydra so the queue stays accurate.
The human stays in the loop on every reply. If you want pure automation, this isn't the tool — but for the same reason, your domain stays clean.
What counts as "Open"
A thread sits in the open queue while its status is draft (Hydra hasn't been touched) or edited (you've saved an edit but haven't posted or dismissed). It leaves the open queue when you click Mark as posted (status flips to posted) or Dismiss (status flips to dismissed). Posted and dismissed threads stay queryable via the status filter — they don't get deleted, they just don't compete for your attention.
Permissions
- Marketing → Social Sense is admin-only. Members do not see the sidebar entry.
- Direct navigation to
/marketing/social-senseor/marketing/social-sense/[pulseId]redirects non-admins to the dashboard.
Usage limits and billing
Social Sense uses AI on every run — it scores each thread it finds and drafts a comment for the ones that surface. That AI work costs real money, so it's metered as dollar spend rather than as a thread count.
You can see your current spend at Settings → Billing, under Social Sense usage (this month). It shows as a dollar figure against your monthly allowance — for example, "$2.40 of $5.00" — not as a number of threads or runs.
Your monthly allowance
Every plan includes a set amount of Social Sense usage each month; higher plans include more. The allowance resets at the start of each billing month, and your remaining headroom is always visible on the billing page. Exact allowances aren't listed here because they may be tuned over time — check Settings → Billing for your plan's current figure.
What happens when you reach the allowance
On a paid plan, Social Sense keeps running. Usage past your monthly allowance is billed as overage on your next invoice — there's no hard stop. The first time you cross the allowance in a given month, Hydra sends you a one-time email so it isn't a surprise. If you'd rather cap the spend, you can pause a pulse or trim its sources at any time.
On a trial, there's no overage billing. Once you reach the allowance, Social Sense pauses for the rest of that month and resumes automatically at the start of the next one.
Built-in caps
A few fixed guardrails keep usage predictable regardless of how your pulses are configured:
- Pulses per plan — each plan allows a maximum number of pulses; higher plans allow more.
- Sources per pulse — each source can watch up to 10 subreddits, keywords, or tags. Anything you add beyond 10 in a single source is ignored.
- Threads per run — each run scores up to 300 threads. Anything beyond that rolls over to the next day's run rather than being scored all at once.
- Run now cooldown — Run now has a short cooldown of about a minute, so it can't be fired repeatedly in a burst.
Tip: if a pulse has a large backlog of matching threads, a single run won't score all of them at once — it scores up to 300 and picks up the rest on the next daily run. To work through a big backlog faster, let the daily runs accumulate over a few days rather than expecting one Run now to clear everything.
Frequently asked questions
Will Hydra post comments on Reddit / HN / Dev.to for me? No. Hydra drafts and stages comments; you copy, paste, and submit them yourself under your own account. This is a deliberate guardrail to protect your accounts and your domain from spam-detection bans on those platforms.
Why doesn't a thread I expected to surface show up in the inbox?
Three common reasons: the thread scored below the pulse's threshold (default 70); the thread is older than 48 hours and has lost all its recency points; or the pulse's source filter doesn't cover the subreddit, keyword, story type, or tag the thread lives under. Lower the threshold filter at the top of the inbox to confirm — if it appears once you drop the cutoff, the thread surfaced but didn't clear the bar. To pull in a thread the source filter is missing, open the pulse editor and add the subreddit, keyword, or tag, then click Run now. If a thread you'd expect is missing right after a large run, it may also be waiting on the next day's run — each run scores at most 300 threads.
I edited a draft and refreshed the page. Where did my edits go? Drafts only persist when you save them. If you navigate away or refresh without saving, the in-memory edit is lost and the draft reverts to its last saved version. Save before you leave the panel.
What happens to a thread after I click Mark as posted?
The thread's posted_at timestamp gets stamped and its status flips to posted. It leaves the open queue but stays queryable via the Status: Posted filter. The same thread will not re-surface in future pulse runs.
Can I change a pulse's score threshold?
Yes. Open the pulse, click Settings, and drag the Score threshold slider (50–90, default 70). Saving recomputes the surfacing cutoff for that pulse. The threshold slider at the top of the inbox is separate — it only tightens the view of an already-surfaced queue and doesn't change the saved cutoff.
How does the bot's persona affect the drafts? The Social Sense bot bound to the pulse contributes its persona and additional instructions to every draft — those are the only two bot fields the scorer and drafter read. The pulse's own instructions stack on top. If a pulse is drafting in the wrong voice, the fix is usually to either tighten the pulse instructions or edit the bound bot's persona — see Bots — Persona, Behaviors, and Directives.
How often do pulses run?
Each enabled pulse runs automatically once every morning. The run fires at 7:00 AM US Central Time in summer. The schedule is fixed in UTC (12:00 UTC) and does not shift for daylight saving, so it lands at 7:00 AM Central during summer (CDT) and 6:00 AM Central during winter (CST). After each daily run, Hydra emails a per-tenant digest of the highest-scoring new threads. Paused pulses are skipped by the daily run. You can also trigger any pulse on demand with Run now in the inbox header — handy for testing a pulse without waiting for the morning run.
How do I see how much Social Sense usage I've used this month? Go to Settings → Billing and look for Social Sense usage (this month). It shows your spend against your plan's monthly allowance as a dollar figure (e.g. "$2.40 of $5.00"). The allowance resets at the start of each billing month.
Will I be charged extra if I go over my Social Sense allowance? On a paid plan, yes — usage past your monthly allowance is billed as overage on your next invoice, and Social Sense keeps running. You'll get a one-time email the first time you cross the allowance in a month. On a trial, there are no overage charges: Social Sense pauses for the rest of the month and resumes the following month. To cap spend, pause a pulse or trim its sources.
