Slack
Ask Memtro from Slack: mentions, direct messages, threads that continue, and commitments you can settle with a button.
Memtro can answer inside Slack. Mention it in a channel or send it a direct message and it replies in a thread, with your memory and your tools, as you. Follow-ups in the thread continue the same conversation, which also appears under Chat. "Remember that …" is understood, and "my commitments" lists what you owe with a button to settle each.
1. The Slack app
Use the app behind the Slack connector, or create one at api.slack.com. Give the bot these token scopes: app_mentions:read, chat:write, chat:write.customize, im:history, im:read, im:write, reactions:write, users:read, users:read.email, and channels:read with channels:join so it can put itself into every public channel. Under Event Subscriptions, set the request URL to https://platform.memtro.com/api/slack/events and subscribe the bot to app_mention and message.im. Under Interactivity, set the request URL to https://platform.memtro.com/api/slack/interactions. Install the app in the workspace, or reinstall it if it was installed before these scopes were added.
Self-hosting: set SLACK_SIGNING_SECRET to the app's signing secret. Both endpoints refuse requests without a valid signature.
2. Connect the workspace
On Dashboard → Connections, connect Slack as a shared connection: sign in with Slack, which asks for both the user and the bot token, or paste the two tokens. The bot token is what the Slack app uses to find your organisation; a connection made before this works as soon as the app is reinstalled with the new scopes.
3. Which channels it hears
A mention is only delivered from a channel the app is in, and Slack has no setting that puts an app in every channel. The connection has one instead: on the Slack connection under Dashboard → Connections, turn on Join every public channel. The app joins each public channel at once and any new one in the nightly run, so a mention anywhere in the workspace is answered. Join now does a single pass without changing the setting. A big workspace is joined fifty channels at a time, because that is about what Slack allows a minute; the rest follow on the next press or that night.
Private channels are the one thing this cannot reach: nothing joins a private channel uninvited, so there it is still /invite @Memtro.
4. Who is speaking
Memtro matches the Slack account to a member of the organisation by the email address on the Slack profile. Someone who is not a member is told, in the thread, to ask an administrator for an invitation. Everything then runs as that member: their permissions, their connection grants, their routing, their memory.
Using it
- Ask in a channel:
@Memtro what did we agree with Trust Payments last week?The answer arrives in a thread under your message. - Ask in a direct message: the same, without the mention.
- Remember something:
remember that Baltic's variable rate is 1.4%is saved to memory the way it would be in Chat. - Your commitments:
my commitmentslists what you owe, due soonest first, with Mark done and Mark ignored on each. Settling needs the "Settle and record commitments" permission; without it the list comes without buttons and says why. - Carry on: reply in the thread and the conversation continues with its history. It is saved under Chat as "Slack: …".
What it does not do
- It answers mentions and direct messages only; channel chatter without the mention is left alone, in every channel it is in.
- It never joins a private channel on its own.
- It acts as the member it matched, never as the workspace. Nothing it is asked bypasses a grant.