Skip to content

A Slack bot for your team’s memory

Ask your team chat. Get grounded, cited answers.

RecallHQ reads the channels you invite it to. Ask why a decision was made or what you missed, and get a short answer that links to the exact messages behind it.

The playground and demo use a fictional team’s archive. No sign-in. Self-host it instead.

# engBeacon · synthetic demo

You

/recall ask Why did the team switch from MongoDB to Postgres for the pilot?

RecallHQ APP

The team switched to Postgres because reporting and export joins were getting messy with MongoDB. Postgres also made check-in deduplication cleaner through database constraints. The change was limited to the data layer, and the October 2 pilot stayed on schedule.12

1 #eng · Priya Shah · Sep 152 #eng · Priya Shah · Sep 14
Recorded answer · fictional team conversationsAsk your own question ↗
Under the hoodPostgres + pgvectorFull-text searchReciprocal rank fusionOpenRouter Decisions rerankgpt-5.4-mini

How it works

From a Slack thread to an answer you can check.

Read the architecture
  1. 01 · Capture

    Invite the bot

    RecallHQ imports the channel history Slack exposes, then follows new messages, edits, and deletions.

  2. 02 · Index

    Chunk by thread

    Each message, and each thread in pieces of up to 600 tokens, gets an embedding and a full-text index.

  3. 03 · Retrieve

    Two searches, fused

    Vector and keyword search return 30 chunks each. Reciprocal rank fusion merges them.

  4. 04 · Rerank

    Judge relevance

    A decision model scores the top 10 messages for how well each one answers your question.

  5. 05 · Answer

    Cite or stay quiet

    The answer must cite message IDs from the evidence. If a citation doesn’t check out, no answer is shown.

Why teams use it

Less scrolling. Answers you can trust.

See the evaluation

Cited, or not shown

Every claim cites a message ID like [slack:…]. If the model cites anything it wasn’t given, you get “I couldn’t verify an answer” instead of a guess.

Finds the exact error code

Vector search catches paraphrases; keyword search catches 28P01. Both run on every question and are fused by rank.

Catch up on a date range

Recap up to 32 days of a channel as updates, decisions, blockers, and next steps. Partial coverage is flagged, not hidden.

Only channels you’re in

Membership is checked before retrieval and again before delivery. Replies are private to you, and link back to Slack.

Isolation in the database

Postgres row-level security scopes every query to one workspace and your channels. Bot tokens are stored encrypted.

Measured in the open

44 hand-labeled questions over a synthetic team archive. Results are published as they are run, including what isn’t measured yet.

One command

Everything starts with /recall.

All commands

Try it before adding it to Slack.

The Beacon playground uses a fictional campus pilot team. No account needed.

Open playground Read the docs