Using Integrations and Webhooks for Project Collaboration & Organizational Coordination

I’ve been relatively obsessed as of late with cross-platform integrations in Trello and, more recently, Rocketchat (a free and open source Slack alternative) for coordinating the many tasks involved in the day-to-day affairs of my two main project-babies: Omni Commons and Sudo Mesh. There comes a point where it all became too much to juggle – and despite my appreciation for decentralization, I need a high-level overview – a map. A map with links. And media attachments. Also it needs to have a pretty UI. I turned to Trello, and then I started playing with the possibilities.

I will now proceed to attempt something of an instructable for maximizing the utility of webhooks in project management platforms:

Step 1: Create a Team
A Team in Trello consists of Members and Boards. Boards might be differentiated by sub-projects, departments, working groups, or committees – or, if your team’s not quite so structured, perhaps simply topic areas. Smaller teams or those who prefer to have all of their tasks in one place might choose to use only one board for all tasks.

For example, Sudo Mesh is a Team consisting of the following Boards: Communications, Events, Node Mounts, Github Repos, and Internal Logistics/Bureaucracy/Brainstorms. While some members are subscribed to all Boards, many are subscribed only to one or two areas of focus.

Step 2: Design your Boards
Each Board is made up of Lists – a simple, standard method is to create Lists for ‘To Do’, ‘Doing’, and ‘Done’ – Kanban style or whatever it’s called. Tasks are added as Cards to the ‘To Do’ List, moved to ‘Doing’ when a member begins working on the task, and then moved to ‘Done’ upon completion. Here’s an example from Omni’s Bookkeeping Board:
To Do, Doing, and Done Trello Lists

However, there are as many ways to organize this as you can imagine. It might be best to have a List or two consisting of static assets, as seen in the ‘Internal Logistics/Bureaucracy/Brainstorms’ Board below. This Board is something of a catch-all for important documents, overall project milestones, and random ideas for future features. In essence, it’s something of a merge of a strategic plan, a business plan, and organizational assets:

Sudo Mesh Internal Logistics Board: Lists are Current Fundraising Projects, Project Milestones, Finance&Fundraising, Governance, Brainstorms, and Inventory

Another example of a combination of task management and shared documentation is the ‘People’s Open Events’ Board below:
Sudo Mesh Events: Lists are Followups/To Do, Upcoming Events, Workshop Assets, Office Hours, and Past Events

I tend to make the first List the main ‘To Do’ List. Members can join a Card indicating they’re taking on the task, and any Team Member can comment or add attachments (including links) to any Card. The ‘Workshop Assets’ List contains the Cards ‘Handouts’, ‘Flyers’, ‘Presentations’, and ‘Swag’. Each Card has several attachments to documents, images, video recordings and slideshows from past presentations – simultaneously a resource of materials we can reuse for the next workshop as well as inspiration for future workshops.

As we learn about conferences and other events we may want to participate in or present at, they can be added as cards to the ‘Upcoming Events’ List. Once an event has passed, Members can add video recordings, presentations, handouts and signup sheets to it’s Card, which gets moved to the ‘Past Events’ List. All events are dated using the ‘Due Date’ Card option, and a full calendar can be viewed by clicking the Calendar link in the top right – a Trello ‘Power-Up’ feature available to paying users or those given free Power-Ups after an invited member makes a new Trello account. Which brings us to…

Step 3: Create Card Flows and Integrations
This is the ‘secret sauce’ of Trello that I’ve yet to find as powerful an alternative to among the various open source options currently available. If you max out on Power-Ups, you can always use Zapier for further integrations (free accounts allow for up to 5 integrations). Between Trello’s Power-Ups and Integrations and Zapier, there’s seemingly no end to the number of possible integrations with other platforms and tools used for team collaboration and communication.

Using the Internal Logistics/Brainstorms/Bureaucracy Board above as an example, I set up the following integrations:
* The Calendar Power-Up, which attaches cards with due dates to a calendar view which is then synchronized with our team’s Google Calendar;
* The Google Drive Power-Up, which enables members to directly attach Google Drive files or folders to a Card;
* The Github Power-Up, which enables members to attach Github branches, commits, issues and pull requests to Cards.

Trello Integrations make it easy to create hubs for the many ways we communicate online – from Github to Mailchimp, press inquiries to community outreach, email to social media accounts. Here’s our Communications Board:

Communications Board: Lists are: Email Inquiries, Newsletters, Community Outreach, Press, Social Media, and Github

In this Board, I’ve created the following integrations:
* The Twitter-Trello Zapier integration (aka ‘zap’) automatically adds any public @ mention of our twitter accounts (@sudomesh) as a Card to the List ‘Social Media’;
* The Mailchimp Power-Up allows us to attach our Mailchimp newsletters to Cards, providing an overview of how many people were reached, who opened and how many clicked an internal link;
* The Github-Trello zap is used here to track issues and bugs submitted to our main code repositories;
* The Facebook-Trello zap adds posts and interactions with our Facebook page to the ‘Social Media’ List;
* The Gmail-Trello zap automatically adds any email I label ‘Mesh Inquiry’ to the ‘Email Inquiries’ list;
* The Calendar Power-Up gives our team a sense of how on top of our communications we are, and a historical timeline of public interest, press coverage, code development, and community outreach efforts.

Not on this Board but related: using a Google Form-to-Trello zap, any request to host a node sent though our Google Form is added to the Node Mounts Board under the List ‘Needs Followup’ as well as to a Google Spreadsheet tab. That spreadsheet has another tab for manually-input additions from team members, which are also added to the ‘Needs Followup’ Trello List using a Google Sheets-to-Trello zap.

Now, I’m not one to enthusiastically plug corporate, proprietary software tools – I just used what I knew was possible to create a high-level overview of the overwhelming array of code repos, shared etherpad-lite notepads, Google Docs, emails, events, requests, social media accounts, and other assorted sundry communication mediums, tasks and sub-projects that Sudo Mesh encompasses. Now I can see everything in one place, which is great, but how to get the rest of the team on-board?

Step 4: Integrate into Team Collaboration Practices
This can be done in a variety of ways, but one thing is certain: it’s always challenging to get people to use a new digital tool, especially when they’re not being paid to do so. Some strategies and tips I’ve picked up from the past failure of garnering participation in Omni’s Trello Boards and the current comparative success with Sudo Mesh:

Delegate roles and responsibilities.
In the beginning, this may entail the creator of the Trello Team assigning members to Cards. As members gain more familiarity with the platform, some will take to it and may well become stewards of a particular Board – encourage this! Decentralizing the role of ‘Project Manager’ leads to a sense of shared ownership, improves leadership skills and autonomy, and takes the burden off any individuals who may have had too much on their plate to do any one thing particularly well.

Use your system as a guide for structuring meetings and assigning action items.
We recently restructured Sudo Mesh’s weekly meeting format, and I took it as an opportunity to structure updates around our recently-created Trello boards. Here’s our current meeting format, where you can see our Trello Boards linked as a reference in the various project areas we check in on at each meeting. Action items that folks take on at meetings can then be added as Trello cards with assigned members – which anyone can add, thereby reducing the role of an individual top-down “manager” and augmenting that of “collaborator” in the mutual aid process of building the dream.

Set clear goals and develop group processes.
Recently, Sudo Mesh had a strategic planning session, where we discussed our short-term and long-term goals and organizational structures. These goals were then copied to the Trello boards, spread among the various categories of Boards and Lists. From there, we can drill down to the independent tasks needed to accomplish each goal, assigning them due dates and team members. I’m a big fan of abstracting each goal and then refining it in Checklists, of which you can add multiple to each card -you can even save a Checklist and reuse it in future Cards. I created an ‘Outreach Checklist’ in the Events Board so that we don’t forget to send our event flyer to specific local news outlets and mailing lists. Another team member created an ‘Outreach Checklist’ in the Node Mounts Board with a list of questions we should be asking every new node owner before we set off to climb their roof. There’s something inherently, deliciously satisfying in the act of making a checklist and then crossing off action items, refined over time until each recurring task becomes a well-developed, well-documented and efficient group process.

Design for big-picture clarity and historical reference.
As the archive of Trello cards grows, team members have a qualitative timeline and a collective journal of the tangible contributions, conversations, and achievements they’ve made together. It gives the project a sense of coherent narrative that surpasses

Of course, such a narrative is much more compelling, engaging, and authentic/validifiable when it’s: a) dynamic, adaptive and hackable; and b) transparently, openly, and publicly documented and accessible (enter FOSS)…

Step 5: Iterate!
As your project evolves, so will your project management structure. Don’t be afraid to archive old Boards or merge Boards, but I would advise against making too many Boards – recreating the problem of ‘too many things to keep track of’. Most importantly, be open to the very real possibility that this just isn’t the right modality for organizing this project. My experience arises out of an embeddedness in a culture that tends toward being digital tech-heavy, valuing productivity and literacy over communality and orality. Perhaps this is why such a structure, despite multiple attempts, could never thrive among the large and diverse community that makes up Omni Commons – moreso due to the fact that most everyone is there to contribute to their own collective projects. What works best to organize and motivate Omni volunteers are: work parties that happen in the spirit of participatory camaraderie; blackboards for denoting tasks and issues; and flyers for announcing events, campaigns and needs/offers.

But, I digress: back to iteration. Last month, a teammate deployed an instance of Rocket.Chat on our server. Up until then, communications had become increasingly varied and at times extraordinarily frustrating. We’d already had two mailing lists, an IRC channel, a wiki, a blog and a Github organization when we added the spokes that broke the mesh’s web: multiple Signal groups, their continual notifications haunting one’s periphery of attention at any given moment. On top of this newly-added, geographically distanciated layer, we were organizing quarterly workshops and again meeting at least twice a week – frequently more often to work on focused sub-projects alone or in small groups.

If we could just wean ourselves off of the other platforms*, Rocket.Chat satisfies many of our varying communication needs:

  • Provides ability for mobile, private and secure 1-on-1 or group messaging, a la Signal;
  • Preserves chatroom history, a la IRC – and integrates with existing IRC channels;
  • Enables file-sharing, search, archival, and contacts management, a la Gmail – and integrates with email;
  • Is entirely self-hosted, free and open source software.
  • Has hella *integrations!* with *Trello!* and IRC, email, Github… more of a Slack alternative. I’ve already set Github issues to announce to the #bugs channel and updates to the Communications Trello board to post to #comms…
    * the website, wiki and code repositories would be merged with rocketchat in my utopian future