Integrations
Trama in GRUPIM
Bind a GRUPIM server to a Trama board. Task updates post to a channel; slash commands and issue keys work the other way. Members link their accounts, so whatever they do from chat is done as them.
Connect a server
One bot serves every workspace, so a server is bound with a one-time code issued inside it: proof that the person connecting it runs the server. You need to be an admin of the Trama workspace, and someone with Manage Server in GRUPIM.
Invite the bot
In Trama, open Workspace settingsIntegrationsGRUPIM and choose Invite bot. Adding it to a server needs Manage Server.Get a code
In the server, someone with Manage Server (or Administrator) runs/trama connect, ideally in the channel that should get updates. The bot answers privately with a code likeABCD-EFGH-JKLM: single use, valid for 10 minutes.Check the code
Back in Trama, paste it and choose Check code. You see the server, who asked for the code and its channels, with the one where the command ran already picked.Pick the channel and the board
Choose where updates go and which board the server works with, then Connect GRUPIM.
Link your account
Commands that read or change tasks run as a Trama user, so each member links their GRUPIM account once:
- Run
/trama linkin the server. The bot answers privately with a link that lasts 10 minutes. - Open it while signed in to Trama. Check that the GRUPIM username is yours, then choose Link account.
Workspace admins can also link members by hand, or match GRUPIM and Trama usernames in one go, from the GRUPIM card in Workspace settingsIntegrations.
Commands
| Command | What it does |
|---|---|
| /trama connectManage Server | A code to bind this server to a Trama workspace. |
| /trama linkAnyone | A private link to connect your GRUPIM account to Trama. |
| /boardAnyone | A digest of the bound board: open and overdue cards per column. |
| /task createLinked, can edit the board | Creates a task from a name, with an optional body and column (by name; the board's To do column otherwise). |
| /task showLinked, can see the board | Shows a task by its key. |
| /task moveLinked, can edit the board | Moves a task (key) to a column, by name. |
| /task from-threadLinked, can edit the board | Inside a thread: creates a task whose description holds the thread’s recent messages (up to 30). The title is the thread’s name unless you give one. |
| /assignLinked, can edit the board | Assigns a task (key) to a mentioned user who is linked and already on the board. |
Issue keys in chat
Type a key like ACME-42 in a message and the bot replies with a preview: title, column, assignees and due date, never the description, since the channel may include people who can't see the board. Up to three keys per message.
- Only messages from linked members who can see the board get a preview.
- Messages that already contain a link to the task, and messages from bots, are left alone.
Channel updates
When a card on the bound board is created, moved, commented, assigned or archived, the bot posts an update to the channel. Choose which of these to post under Post when a task is on the GRUPIM card; with none chosen, nothing is posted and the commands still work.
- What members do through the bot is not echoed back: creating a task with
/task createdoesn't post a “created” update. - Cards moved by a pull request (see GitHub & GitLab) post a “moved” update like any other move.
- Disconnecting removes the bot's webhook from the channel.
Permissions
- The bot acts as the linked Trama user: tasks are created by them, comments and moves show their name, and notifications come from them.
- Creating, moving, assigning and
/task from-threadneed edit rights on the bound board./task showand previews need to see it./boardworks before anyone links. /assignonly assigns people who are already on the board; it never adds anyone to it.
How to test
A walk through every part of the integration, for a new setup or after a change.
Connect
A workspace admin invites the bot; a server manager runs/trama connect; the admin pastes the code, picks the channel and the board and connects. A member without Manage Server gets a refusal from/trama connect.Link
Run/trama link, open the link signed in to Trama as a workspace member and confirm. The member shows as linked on the GRUPIM card. Optionally link a second member by hand, or match usernames.Create
As a linked member,/task create. The card appears on the bound board, created by that member (not by whoever installed the bot), and the channel gets no “created” update for it.Preview
As a linked member, type the new key (PREFIX-N) in the channel: one preview, without the description. An unlinked member typing it gets nothing.Show, move, digest, assign
Run/task show,/task moveand/boardagainst that key, then/assignit to a linked member.Unlinked
An unlinked member running/task createis told to run/trama linkfirst;/assignto an unlinked member fails with a clear message.Updates from Trama
Drag the card to another column in Trama: the channel gets “moved to” the new column. Comment on it, then archive it: one update each, if those events are on.From a thread
Inside a thread,/task from-threadcreates a card whose description holds the thread's recent messages.Disconnect
Disconnect in Trama. The webhook is gone from the channel, and the server's commands answer “Guild not connected”.