# Auto-triage Salesforge Primebox replies with labels and Slack alerts

> Every two hours during business hours, sort new Salesforge Primebox replies into buckets, label your inbox, suppress opt-outs, and post a compact Slack digest.

- Workflow type: agent
- Services: Salesforge, Slack Bot, Google Sheets
- Categories: Sales, Operations
- Published: 2026-07-11

## What it does

- Reads every new reply landing in your Salesforge Primebox on a rolling two-hour schedule during business hours.
- Classifies each reply into a fixed set of buckets: interested, out of office, referral, not interested, opt-out or spam, and genuine question for a human.
- Labels the thread in Primebox so your inbox self-organizes, adds opt-outs and spam complaints to your workspace do-not-contact list, and queues referrals and out-of-office return dates in a Google Sheets follow-up tab.
- Posts a short Slack digest that surfaces spam complaints loudly, referrals to chase today, out-of-office return dates hitting this week, and a one-line count of each reply type.

## What you'll need

- A Salesforge workspace with Primebox and at least one active sequence, plus the label names you want the agent to use.
- A Google account with a spreadsheet you can use as the follow-up queue.
- A Slack workspace and the channel you want the digest posted to.

## Prompt

Build me an agent that triages every new reply landing in my Salesforge Primebox, not just the positive ones, and keeps my inbox self-organized.

Trigger: run on a cron every 2 hours during business hours (default 9am to 6pm my local timezone, weekdays only). The schedule and timezone should both be easy to change.

On each run:

1. Call Salesforge List Threads to get threads updated since the previous run (use a rolling watermark, default lookback 2 hours plus a small overlap). For each thread call Salesforge Get Thread to read the latest inbound message and any prior context in that thread.

2. Classify each reply into exactly one of these buckets: interested or meeting requested, out of office (parse a return date if one is present), referral to a colleague (capture the referred person's name and email if visible), not interested, opt-out or spam complaint, or genuine question needing a human. If the model is not confident, leave the reply in an "uncertain" state instead of guessing.

3. Apply the matching Primebox label using Salesforge Update Thread Label. The label ID for each bucket should be configured up front (ask me for the label names or IDs during setup and store them in the workflow config). Uncertain replies stay unlabeled.

4. For opt-out and spam-complaint replies, push the sender email and its domain to my workspace suppression list via Salesforge Bulk Add Do-Not-Contact Entries so they can never be emailed again from any sequence in the workspace.

5. For referrals, append a row to a Google Sheets "Follow-up queue" tab with the referred person's name and email, the original prospect, the referring thread link, and the date. For out-of-office replies with a parsed return date, append a row with the contact, the parsed return date, and the thread link. Use Google Sheets Append Values. The spreadsheet ID and tab name are configuration.

6. Post a compact Slack digest to a channel of my choosing using the Slack Bot Send a Message action. The digest should surface only the actionable stuff, in this order: any opt-out or spam complaints called out loudly at the top of the message, referrals to chase today, out-of-office return dates hitting within the next 7 days, any uncertain replies that need a human look, and finally a one-line summary count of each bucket so I can see the reply mix at a glance. Skip the digest entirely if nothing actionable happened this run.

Idempotency: before labeling or logging a thread, check whether it already carries one of my agent's labels from a previous run and skip it if so. Never label a thread twice and never double-log the same thread to the sheet or the do-not-contact list.

Config I should be able to edit without touching code: cron schedule and timezone, business-hours window, the mapping from bucket name to Primebox label ID, the Google Sheets spreadsheet ID and tab name, the Slack channel ID, and the do-not-contact list scope (workspace by default).

## How to customize

- Change the cadence or business-hours window if two hours is too tight or too loose for your reply volume.
- Rename or add reply buckets (for example split out pricing questions or competitor mentions) and map each one to a Primebox label.
- Point the follow-up sheet and Slack channel wherever your SDR team already lives, and adjust which buckets trigger a Slack callout versus a quiet label-only pass.

## FAQ

### Does this touch positive replies too, or only negative ones?

It touches every reply that lands in your Primebox. Interested replies get a clear label and appear in the digest count so you can act fast, while opt-outs get suppressed and out-of-office replies get queued for retry.

### How does it avoid re-labeling the same thread twice?

The agent skips any thread that already carries one of its own labels from a previous run, so re-running it on the same window is safe and idempotent.

### What happens when the agent is not confident about a reply?

By default it leaves the thread unlabeled and flags it in the Slack digest as needing a human look, rather than guessing and mislabeling a real conversation.

### Will opt-outs actually stop future sends?

Yes. Anyone flagged as an opt-out or spam complaint is added to your Salesforge workspace do-not-contact list, so no sequence in that workspace will email them again.

### Can I run this outside business hours?

Yes. The two-hour business-hours schedule is a starting point. You can widen it to overnight, tighten it to peak reply times, or run it only on weekdays.

Use this prompt in General Input: https://www.generalinput.com/prompts/auto-triage-salesforge-primebox-replies-with-labels-and-slack-alerts