Skip to content
Docs/Connectors

Reddit

Connect Reddit and your marketing seat starts watching the subreddits you choose for conversations about the problem your product solves — every 15 minutes, all day. What it finds shows up as signals; the ones worth answering come back as drafted replies waiting for your approval.

It reads Reddit through your own Reddit app, under your own account.

Reddit issues app credentials per account, so you create the app and Sapient uses it. The connect has two steps because Reddit’s consent screen has to be built from your app’s client ID.

  1. In Sapient: Settings → Connectors → Reddit. At the top of the form is a Redirect URI — copy it.
  2. Go to reddit.com/prefs/appscreate another app…
  3. Choose the web app type, give it a name, and paste the redirect URI from step 1 into the redirect uri field.
  4. Create the app, then copy its client ID (the string under the app name) and secret.
  1. Back in Sapient, fill in the form: your Reddit username, the client ID and secret, a user-agent that identifies your app (Reddit asks every app to identify itself — for example Acme/1.0 by u/acme_marketer), and the subreddits to watch — monitoring searches only these communities.
  2. Click Save Reddit app.
  3. Click Authorize with Reddit. Reddit asks you to grant the app access to your account; accept.
  4. You land back on the Connectors page and Reddit shows as Authorized.

Sapient asks for four permissions: identity (to confirm which account authorized), submit (post and comment), read (read the subreddits it monitors), and edit (retract or edit a post when a moderator or a compliance check requires it).

The connector shows the account that actually authorized — not the username you typed. If those differ, you were signed into a different Reddit account when you accepted; re-authorize from the right one.

SettingWhat it does
SubredditsThe communities monitoring searches. Nothing outside this list is read.
Value:promoHow many genuinely useful contributions per self-promotional one (default 9:1). The rate is Reddit’s, but the running tally it is measured against is kept per campaign, not per channel — so value posts on another channel in the same campaign count toward satisfying it, and promotional ones there consume it.
Hand-offs per dayHow many Reddit drafts Sapient will release to you in one day (default 10). On Reddit that means ready-to-post hand-offs, not posts on Reddit — you do the posting, so this paces how much work reaches you, not what appears on the site. Counted per channel (Bluesky posts don’t spend it) and reset at 00:00 UTC.
Affiliation disclosureAppends your disclosure line to self-promotional posts.
AI-authorship disclosureAppends a line noting the draft was AI-written.

The ratio and the disclosure rules are enforced in code, not left to a model’s judgement: they run when a draft is checked for compliance and again before it is released.

The day’s cap is checked when an approved draft is released, not when it was written — so drafts keep being prepared on a day that is already at its cap. Release happens shortly after you approve, so the count is taken then, not at the instant you click approve.

  1. Ask your marketing seat in chat for a Reddit plan — say what you sell and who for. It creates a campaign: the subreddits to watch, the phrases that identify a relevant conversation, how selective to be, and a credit ceiling. You can also ask it to pause or retune one later.
  2. Every 15 minutes the platform searches your allowlisted subreddits for those phrases. Anything new is captured as a signal — visible under Marketing → Signals.
  3. Conversations that score high enough get a drafted reply, checked against your brand guide and disclosure settings, then queued for your approval.
  4. Approve one and it comes back as a ready-to-post draft with a link to the thread. Reddit’s composer can’t be prefilled with body text, so copy the draft and paste it — the link takes you to the right place.
  5. Once a day the seat posts a summary in your factory chat: what it heard, and what’s waiting on you.

The daily summary lands in chat rather than only as a phone notification, so you’ll see it whether or not you use the mobile app.

Monitoring stores other people’s posts. Sapient bounds that store rather than keeping it indefinitely:

  • Signals age out after 30 days. The author’s username and the captured post text are removed; a stub row stays behind holding only the permalink and the date. That stub is what stops the same conversation being re-discovered and re-charged to you the next time it turns up in a search, and it keeps the link on any handoff you haven’t acted on yet.
  • Drafts are cleared with the signal they came from. A drafted reply usually quotes or paraphrases the post it answers, so the draft text is removed too. The record that a draft existed — and whether you approved or published it — stays, so your marketing history and conversion tracking are unaffected.
  • Posts deleted on Reddit are removed from Sapient. A daily pass re-checks captured conversations against Reddit; each individual conversation comes up for re-checking about once a week. Anything the author deleted, a moderator removed, or Reddit no longer serves is cleared on the same terms as above, without waiting for the 30 days to run out — so a deletion propagates within a week of being made, usually sooner.

You don’t need to configure any of this, and there’s nothing to turn on. If a signal disappears from Marketing → Signals before you got to it, one of the three is why.

Click Re-authorize with Reddit if you revoked the app’s access on Reddit, authorized under the wrong account, or changed the app’s credentials — replacing the client secret or pointing the connector at a different Reddit app clears the stored authorization on purpose, because a refresh token only works for the app that issued it.

Disconnect revokes the connector in Sapient: it stops being used and no longer appears as connected. To cut Sapient off at Reddit’s end as well, remove the app’s access under Reddit → Settings → Connected apps.

What you seeWhat it means
Reddit rejected the authorizationThe client ID or secret is wrong, or the redirect URI on your Reddit app doesn’t match the one in the form exactly.
That authorization link expiredThe link is short-lived. Click Authorize with Reddit again.
Save the Reddit app credentials firstStep 2 came before step 1 — save the form, then authorize.
Reddit granted no refresh tokenThe grant wasn’t permanent. Run the authorization again and accept it fully.
One-click authorization is unavailableThis environment has no callback URL. Paste a refresh token into the form instead.

Your client secret and refresh token are encrypted before they’re stored, and neither is ever sent back to your browser.