# Social comment desk: reply, triage, and catch buying signals

> Twice a day we read every new comment on your recent posts, answer the easy ones in your voice, and send the rest to Slack with a suggested reply.

- Workflow type: agent
- Services: bundle.social, Slack, HubSpot
- Categories: Marketing, Customer Support
- Published: 2026-08-14

## What it does

- Checks every post you published in the last two weeks across all your connected social platforms and pulls in the new comments your audience left.
- Sorts each comment into a simple question, a complaint, a buying signal, praise, or spam, and skips anything it already handled on an earlier run.
- Replies automatically to straightforward questions and praise using your brand voice rules, and never auto-replies to complaints or anything unclear.
- Sends one grouped Slack digest of everything that needs a person, with the comment quoted and a suggested reply you can copy, and files buying signals against the matching contact in your CRM.

## What you'll need

- A bundle.social account with your social accounts already connected
- A Slack workspace and a channel where the digest should land
- A HubSpot login, needed only for the buying signal part
- A short set of brand voice rules so the automatic replies sound like you

## Prompt

Every weekday at 8am and 2pm, run a social comment desk across every platform I publish to through bundle.social. Use a cron trigger. bundle.social does not emit an event when a new comment arrives, so this workflow has to go and look for comments itself rather than waiting to be told about them.

Start with Get post list to find the posts that published in the last 14 days. Filter to posts that actually went out, meaning status POSTED, and page through the results rather than stopping at the first page. Make the 14 day lookback window a setting I can change.

For each of those posts, pull in the audience comments using the asynchronous import path. Call Start a new comment import for a post, then poll Get comment import by ID until that job reports it has finished, then read the results with Get fetched comments for a post. Do not use Get comment list for this: that operation returns the comments my own organization created, not the comments my audience left. Give the polling a sensible timeout and move on to the next post if an import stalls, rather than hanging the whole run.

Skip any comment that was already handled on a previous run. Keep a record of the comment identifiers already processed and only act on genuinely new ones, so no comment ever gets two replies across the 8am and 2pm runs.

Classify every new comment as one of five things: a simple question, a complaint, a buying signal, praise, or spam.

Reply directly with Create comment for straightforward questions and praise, written using my brand voice rules. Never auto-reply to complaints, and never auto-reply to anything ambiguous: if you are not confident about the category or about the answer, it goes to a human instead. Ignore spam entirely. Which categories are eligible for an automatic reply should be a setting I can change, so I can start with praise only and add simple questions later once I trust the tone.

Be deliberate about volume. Each connected social account has a daily commenting quota, and my organization has a monthly cap on posts, comments, and uploads depending on plan tier. Prioritize the replies most worth sending rather than replying to every eligible comment, and stop replying if a run looks likely to burn through the quota. Anything you choose not to reply to should still appear in the digest.

Send everything that needs a human to Slack as one grouped digest using Send a Message. One message per run, not one message per comment. Group the items by category with complaints at the top, and for each item quote the comment text, name the platform and which post it was left on, link to the post where possible, and include a suggested reply I can copy and paste. Put a one line summary at the very top: how many new comments were found, how many were auto-replied, how many need a person, and how many were skipped as spam.

For anything classified as a buying signal, also check whether the commenter is already in my CRM. Run HubSpot Search Contacts on the commenter name or handle. When there is a confident match to a single contact, file a Create Note on that contact recording the comment text, the platform, the post it was left on, and the date, and associate the note with that contact. When there is no match, or the match is uncertain, do not create anything in HubSpot: just flag it in the Slack digest so sales can decide. The point is that social buying intent lands in the CRM instead of getting lost in a feed.

## How to customize

- Change the schedule, which runs twice a day on weekdays by default, and how far back it looks for posts, which starts at 14 days.
- Choose which categories are allowed an automatic reply. Many teams start with praise only and add simple questions once they trust the tone.
- Pick the Slack channel, and decide whether buying signals should also be written to your CRM or just flagged for the team.

## FAQ

### Will it reply to angry or negative comments?

No. Complaints are never answered automatically, and neither is anything the agent is unsure about. Those always go to your Slack digest with a suggested reply you can edit and send yourself.

### Which social platforms does this cover?

Every platform you publish to through bundle.social, including TikTok, YouTube, Instagram, Facebook, X, Threads, LinkedIn, Pinterest, Reddit, Bluesky, and more. It works across all of them in the same run.

### Could it reply to the same comment twice?

No. The agent keeps track of which comments it has already handled, so the afternoon run never repeats what the morning run did.

### What happens if it cannot find the commenter in my CRM?

Nothing is written to the CRM. The buying signal still appears in the Slack digest so your sales team can decide whether to add the person themselves.

### Will this use up my social account limits?

Each connected social account has a daily commenting limit and your plan sets a monthly cap. The agent is built to prioritize the replies most worth sending rather than answering every single comment, and anything it skips still shows up in the digest.

Use this prompt in General Input: https://www.generalinput.com/prompts/social-comment-desk-reply-triage-and-catch-buying-signals