Tactiq meetings
If you record meetings with Tactiq, Pepper can read the transcripts. Once you confirm it, a promise you make on a call shows up next to the ones you make in chat.
Pepper only reads. It asks Tactiq for read-only access, and it never asks Tactiq to write a summary for you, because that can use up your Tactiq credits.
- A Tactiq account that records your meetings. Full transcripts depend on your Tactiq plan.
- Pepper installed and running (Install Pepper).
- A browser. If Pepper runs on a Mac you reach over SSH, the browser can be on your laptop.
You do this once, in a terminal on the Mac that runs Pepper, from the Pepper folder:
npm run pepper -- connect tactiqPepper prints a sign-in link. Open it, sign in to Tactiq, and allow access. The terminal then says
Connected to tactiq, and the sign-in is saved in data/connections/tactiq.json.
If you're connected to that Mac over SSH from your laptop, Tactiq's sign-in page needs a way back to the Mac, called an SSH tunnel. Pepper prints the exact line. Run it on your laptop, in a second terminal, before you open the link:
ssh -N -L 8977:127.0.0.1:8977 you@your-macLeave it open until the sign-in finishes. More on how this works: signing in to a connection.
Check it with npm run doctor. The tactiq line shows when the sign-in renews next and how many meetings are
stored.
- New meetings, every time Pepper checks for messages (every 2 minutes by default).
- The last 14 days on the first run, then older history on each check, at most 50 meetings at a time, back
to the day your stored messages start. Set
PEPPER_TACTIQ_SINCE=2026-01-01in.env, Pepper's settings file, to go further back. It goes back no more than a year. - A meeting that is still recording is skipped until shortly after it ends. If Tactiq later reports that the meeting ran longer, Pepper reads the transcript again.
- At most 8 transcripts an hour. Tactiq limits how many full transcripts you can read, so a big backlog takes hours, or days, to arrive. If Tactiq says to slow down, Pepper stops and continues on its next check.
- Tactiq's summary, only when one already exists.
- Follow-ups. Pepper looks for promises and requests in meetings from the last 3 days, the same window it uses for chats, so a long backlog of old meetings costs nothing to import. It reads about the first hour of each transcript for this, so a promise late in a long meeting can be missed. A transcript only labels speakers as A, B, C, so Pepper can't tell for sure which lines are yours. Anything it finds in a meeting goes to Review, the dashboard tab where you confirm or dismiss what Pepper found. It never goes straight onto your follow-ups list.
- Ask. When you ask questions like "what did we decide about pricing on Tuesday's call?", Pepper searches your transcripts too.
- Briefs. One line about the meetings since the last brief, like "2 meetings, 1 possible follow-up from them". If the sign-in stops working, the morning brief says so once a day, with the command to fix it.
Transcripts are stored in Pepper's database on your Mac, like your messages. Pepper sends them to the model, at Anthropic, the same way it sends messages: to find follow-ups, facts and decisions, to write briefs, and to answer your questions. Each request Pepper makes to Tactiq for meetings or transcripts carries the line "Pepper syncs its owner's meetings", because Tactiq asks every app to say what it wants.
Exact quotes from Tactiq. On Pepper's dashboard, open Connections, then Tactiq, where you can turn on Let Ask look up exact quotes in Tactiq. Then a question about one meeting can be sent to Tactiq, which finds the exact lines. It's off by default because it's the one case where your own words go to Tactiq, not only to the model. With it off, Ask still searches every transcript stored on your Mac.
Forgetting. /forget <person> in Telegram, which removes someone from what Pepper stores, also covers
meetings. A meeting with only that person is deleted. In a meeting with others, their name is removed from the
transcript and the attendee list. Their words stay in that transcript. Pepper matches by the attendee names
Tactiq lists for a meeting, so a meeting stored without those names isn't matched. A meeting you delete in Tactiq
is cleared from Pepper on a later check, usually within a week, if it was in the last 30 days: its text is deleted
and the meeting is archived. One gap: in a month with more than 50 meetings, that check is skipped.
- For a while: set
PEPPER_TACTIQ=offin.envand restart Pepper. - For good:
npm run pepper -- connect tactiq --removedeletes the saved sign-in. You can also remove Pepper's access in Tactiq's settings.
Either way, the meetings already stored stay. To remove someone, use /forget (see Forgetting above).
| Symptom | Cause | Fix |
|---|---|---|
Doctor: needs sign-in: pepper connect tactiq | The sign-in expired or was revoked, or the sign-in file was copied to a second Mac | Run npm run pepper -- connect tactiq again |
Doctor: off (pepper connect tactiq) | Not connected yet, PEPPER_TACTIQ=off, or the sign-in file was edited or cut short | Check PEPPER_TACTIQ in .env; otherwise connect (above), which replaces the file |
can't listen on 127.0.0.1:8977 | Something else is using that port, often an old tunnel | Close the other tunnel, or set PEPPER_CONNECT_PORT to another port and use that port in the ssh -L line |
| The sign-in page ends with "This site can't be reached" | The SSH tunnel isn't running on the computer with the browser | Start the ssh -N -L line first, then open the link again |
| Meetings appear but no transcripts | They're still within 10 minutes of ending, or the hourly limit is reached | Wait; transcripts arrive on later checks |
| Older meetings are missing | Pepper reads one more day of history on each check | Wait, or set PEPPER_TACTIQ_SINCE |
Beeper chats
Beeper Desktop puts your chat apps (WhatsApp, Signal, Telegram, iMessage and others) in one app on your Mac. Pepper reads the chats you connect through Beeper's local API, a connection to Beeper…
Telegram
Telegram is where you talk to Pepper: briefs, follow-ups, questions, voice notes, and the buttons you tap to say yes. You do this through a bot you make for Pepper. Voice notes need speech-to-text…