Skip to main content

Reddit

Draft Reddit posts into a reviewable AutessaDB table, publish approved drafts to their subreddit, thread reply drafts off published posts, and read live score and comment stats per post.

Every tool on this page requires a Reddit connector (see Connectors); pass its ID as connectorId. Posts live as rows in an AutessaDB table the connector provisions: agent-written drafts start at status = DRAFT, and publishing flips the row to PUBLISHED and records the Reddit fullname in reddit_post_id. Replies are rows in the same table, linked to their parent through parent_post_id and reddit_parent_fullname, so an entire discussion threads through one table. Subreddit names are stored without the r/ prefix — the tools strip it if you include it.

Create a draft TOOLREDDIT_CREATE_DRAFT​

Inserts a new draft row with status = DRAFT — nothing is posted to Reddit yet. title, body, and subreddit are all required; posts publish as text posts, so the body is the post's full content. Returns the new recordId for use with the update, publish, stats, and reply tools.

Example​

Tool config
{
"toolType": "REDDIT_CREATE_DRAFT",
"connectorId": "V1StGXR8Z5",
"title": "@@{POST_TITLE}",
"body": "@@{POST_BODY}",
"subreddit": "@@{SUBREDDIT}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    title
    Type
    string
    Description
    Required for posts
  • Name
    body
    Type
    string
    Description
    Required - the post content
  • Name
    subreddit
    Type
    string
    Description
    Required - subreddit name without r/ prefix

Update a draft TOOLREDDIT_UPDATE_DRAFT​

Edits an existing draft row in place; title, body, and subreddit are all optional and only the provided fields change. Only rows still in DRAFT status can be updated — anything else fails with NOT_A_DRAFT, and calling it with no fields to change fails with NO_UPDATES.

Example​

Tool config
{
"toolType": "REDDIT_UPDATE_DRAFT",
"connectorId": "V1StGXR8Z5",
"recordId": 42,
"body": "@@{REVISED_BODY}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    recordId
    Type
    integer
    Description
    Required - AutessaDB record ID
  • Name
    title
    Type
    string · optional
    Description
    Optional - new title
  • Name
    body
    Type
    string · optional
    Description
    Optional - new body content
  • Name
    subreddit
    Type
    string · optional
    Description
    Optional - new subreddit

Publish a post TOOLREDDIT_PUBLISH_POST​

Reads the draft row and submits it to its subreddit as a text post. The row must still be in DRAFT status — republishing fails with ALREADY_PUBLISHED. On success the row is updated to status = PUBLISHED with the Reddit fullname stored in reddit_post_id, and the response includes a direct postUrl to the live post.

Example​

Tool config
{
"toolType": "REDDIT_PUBLISH_POST",
"connectorId": "V1StGXR8Z5",
"recordId": 42
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    recordId
    Type
    integer
    Description
    Required - AutessaDB record ID of the draft to publish

Get post stats TOOLREDDIT_GET_POST_STATS​

Looks up the reddit_post_id on a published row and fetches live metrics from the Reddit API: score (upvotes minus downvotes), upvoteRatio, numComments, upvote and downvote counts when Reddit exposes them, and totalAwards. Only works for rows in PUBLISHED status — drafts fail with NOT_PUBLISHED.

Example​

Tool config
{
"toolType": "REDDIT_GET_POST_STATS",
"connectorId": "V1StGXR8Z5",
"recordId": 42
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    recordId
    Type
    integer
    Description
    Required - AutessaDB record ID

Get all posts TOOLREDDIT_GET_ALL_POSTS​

Lists rows from the connector's posts table — drafts and published posts together by default, or filtered with status (DRAFT, PUBLISHED) and subreddit. Replies are included unless includeReplies is false, which restricts results to top-level posts. pageSize defaults to 50 and caps at 100.

Example​

Tool config
{
"toolType": "REDDIT_GET_ALL_POSTS",
"connectorId": "V1StGXR8Z5",
"status": "DRAFT",
"subreddit": "startups",
"pageSize": 50,
"includeReplies": false
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    status
    Type
    string · optional
    Description
    Optional - filter by DRAFT/PUBLISHED
  • Name
    subreddit
    Type
    string · optional
    Description
    Optional - filter by subreddit
  • Name
    pageSize
    Type
    integer · optional
    Description
    Optional - default 50, max 100
  • Name
    includeReplies
    Type
    boolean · optional
    Description
    Optional - default true

Get post by ID TOOLREDDIT_GET_POST_BY_ID​

Fetches a single row from the posts table by its AutessaDB rowId, returning the title, body, subreddit, status, and stored Reddit IDs. Works for posts and replies alike — use it to inspect one specific record without paging through the full list.

Example​

Tool config
{
"toolType": "REDDIT_GET_POST_BY_ID",
"connectorId": "V1StGXR8Z5",
"rowId": 42
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    rowId
    Type
    integer
    Description
    Required - AutessaDB row ID

Create a reply draft TOOLREDDIT_CREATE_REPLY_DRAFT​

Inserts a reply draft under an existing post: parentPostId is the AutessaDB row ID of the parent, which must already be published to Reddit — otherwise the call fails with PARENT_NOT_PUBLISHED. The reply inherits the parent's subreddit, stores the parent's Reddit fullname on the row, and starts at status = DRAFT like any other draft.

Example​

Tool config
{
"toolType": "REDDIT_CREATE_REPLY_DRAFT",
"connectorId": "V1StGXR8Z5",
"parentPostId": 42,
"body": "@@{REPLY_BODY}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    parentPostId
    Type
    integer
    Description
    Required - AutessaDB row ID of the parent post to reply to
  • Name
    body
    Type
    string
    Description
    Required - the reply content

Publish a reply TOOLREDDIT_PUBLISH_REPLY​

Reads a reply draft and posts it to Reddit as a comment on its parent. The row must still be in DRAFT status (ALREADY_PUBLISHED otherwise) and must actually be a reply — publishing a top-level post this way fails with NOT_A_REPLY, which points you to REDDIT_PUBLISH_POST instead. On success the row flips to status = PUBLISHED with the comment's fullname stored in reddit_post_id.

Example​

Tool config
{
"toolType": "REDDIT_PUBLISH_REPLY",
"connectorId": "V1StGXR8Z5",
"recordId": 43
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    recordId
    Type
    integer
    Description
    Required - AutessaDB record ID of the reply draft to publish