R

Reddit Community Agentic Workflow

Draft Reply — Reddit Community Agentic Workflow

Thread-page embed button — reads the open thread, drafts one MxTide-voice comment, types it into the textarea for manual review and submission.

Available free v1.0.0 Browser LLM
$ sidebutton install reddit
Download ZIP

Triggered from a floating SideButton overlay on an open Reddit thread, this chain reads the full post and top-level comments, classifies the thread against the operator's persona rules, and drafts a single reply in the configured voice. The draft is typed directly into Reddit's comment textarea so the operator can edit and submit with one click.

The workflow never submits automatically — it stops at the "ready to send" state. It is the per-thread action that complements the batch evaluate-and-draft chain when the operator is manually browsing rather than running a scheduled sweep.

Steps

  1. 1.
    Extract text from a selector
    selector
    .title a.title
    as
    title
    browser.extract
  2. 2.
    Extract text from a selector
    selector
    .score.unvoted
    attribute
    title
    as
    score
    browser.extract
  3. 3.
    Extract text from a selector
    selector
    .expando .usertext-body
    as
    body
    browser.extract
  4. 4.
    Extract text from a selector
    selector
    .comments
    as
    comments
    browser.extract
  5. 5.
    browser extractMap
    selector
    .commentarea > .sitetable > .thing.comment > .entry
    fields
    as
    thread_comments
    browser.extractMap
  6. 6.
    workflow call
    workflow
    reddit_persona_draft
    params
    as
    persona
    workflow.call
  7. 7.
    Scroll the page
    direction
    down
    amount
    600
    browser.scroll
  8. 8.
    Click an element
    selector
    .commentarea .usertext-edit textarea
    browser.click
  9. 9.
    Type into a field
    selector
    .commentarea .usertext-edit textarea
    text
    {{persona.draft}}\n\n---\nSent from sidebutton.com
    browser.type
  10. 10.
    control stop
    message
    Draft typed into comment box\n\n{{persona.draft}}\n\nPost: {{post_url}}
    control.stop

Workflow definition

schema_version: 1
version: "1.3.0"
last_verified: "2026-02-03"
id: reddit_draft_reply
title: "Draft Reply"
description: "Thread-page embed button — reads the open thread, drafts one MxTide-voice comment, types it into the textarea for manual review and submission."
overview: |
  Triggered from a floating SideButton overlay on an open Reddit thread, this chain reads the full post and top-level comments, classifies the thread against the operator's persona rules, and drafts a single reply in the configured voice. The draft is typed directly into Reddit's comment textarea so the operator can edit and submit with one click.

  The workflow never submits automatically — it stops at the "ready to send" state. It is the per-thread action that complements the batch evaluate-and-draft chain when the operator is manually browsing rather than running a scheduled sweep.

category:
  level: automation
  domain: social
  reusable: false
params:
  post_url: string
  instructions: string
policies:
  allowed_domains:
    - old.reddit.com
embed:
  when: ".commentarea .usertext-edit"
  label: "Draft Reply"
  prompt:
    param: instructions
    placeholder: "e.g. be snarky, ask about their setup"
    title: "Draft Reply"
  param_map:
    post_url: "{{_url}}"
    instructions: "{{instructions}}"
  result:
    action: "none"
steps:
  # Extract thread data in-place (no navigation — we're already on the page)
  - type: browser.extract
    selector: ".title a.title"
    as: title

  - type: browser.extract
    selector: ".score.unvoted"
    attribute: "title"
    as: score

  - type: browser.extract
    selector: ".expando .usertext-body"
    as: body

  - type: browser.extract
    selector: ".comments"
    as: comments

  - type: browser.extractMap
    selector: ".commentarea > .sitetable > .thing.comment > .entry"
    fields:
      author:
        selector: ".author"
      score:
        selector: ".score.unvoted"
        attribute: "title"
      body:
        selector: ".usertext-body"
    as: thread_comments

  # Draft a reply using shared persona workflow
  - type: workflow.call
    workflow: reddit_persona_draft
    params:
      title: "{{title}}"
      score: "{{score}}"
      body: "{{body}}"
      comments: "{{comments}}"
      thread_comments: "{{thread_comments}}"
      instructions: "{{instructions}}"
      output_format: "Output ONLY the raw comment text. No labels, no quotes, no formatting. Just the comment as it would appear in the textarea."
    as: persona

  # Scroll to comment area and type draft
  - type: browser.scroll
    direction: down
    amount: 600

  - type: browser.click
    selector: ".commentarea .usertext-edit textarea"

  - type: browser.type
    selector: ".commentarea .usertext-edit textarea"
    text: "{{persona.draft}}\n\n---\nSent from sidebutton.com"

  - type: control.stop
    message: "Draft typed into comment box\n\n{{persona.draft}}\n\nPost: {{post_url}}"