Using Mattermost Tool COVID Contact Tracing

Using Mattermost as a tool for COVID-19 contact tracing

VCLB Ghent is a Belgian non-profit organization that serves pupils between the ages of 3 and 18 years old. Every two years, we offer students a free medical checkup. The organization also works with schools to support students that struggle with learning disabilities, behavioral problems, and other issues.

As a multidisciplinary team, VCLB Ghent’s staff does contact tracing for schools in the event of an outbreak of a contagious disease, such as meningitis, hepatitis, or measles. During the first COVID-19 wave, Belgium went into lockdown, and schools were closed in mid-March. Schools were partially opened before the summer holidays, and they reopened fully in the fall—but with a whole lot of precautions implemented to stop the virus.

Stopping outbreaks early

A good test-and-trace strategy is a way to stop outbreaks before they spiral out of control. Due to VCLB Ghent’s experience responding to other outbreaks, the government asked the organization if they could do the contact tracing for the schools in the city where they’re based: Ghent, Belgium.

When the COVID-19 pandemic broke out, the virus spread slowly at first. We were dealing with one or two cases a day, which resulted in about 10 phone calls to high-risk contacts.

As we collected the data, we needed to send anonymized statistics to the state government in an Excel sheet. Our community council wanted other data as well, also in an anonymized Excel sheet. To accommodate these requests, we built a webform in which we filled in the relevant data and we could create the Excel sheets that we had to send. Five of our coworkers could easily manage this. They were located in the same office, and the communication between the team was very informal and easy. During evenings and weekends, one person was on duty.

The virus starts to spread rapidly

Eventually, the COVID-19 numbers started rising. VCLB Ghent went from one or two cases to five or seven cases a day, which resulted in upwards of 60 phone calls to high-risk individuals. At this point, we got more coworkers involved in doing the tracing. 

Our team of 10 contact tracers started using WhatsApp to check who did which case and who was already calling high-risk contacts. To make sure our efforts were sustained, we had to make a schedule to see who was available in the evenings and on the weekends.

But the hardest had yet to come. As the numbers of new cases kept rising, it was getting more and more difficult to keep track of which high-risk individuals were already contacted and who was calling them. 

We had to find a way to manage the different stages of the contact tracing process: Listing the high-risk contacts, calling them, and sending mail to the low-risk contacts. We also had to get a real-time overview of which contact tracer was available for new cases, who was calling, high-risk contacts, and who had worked on a specific case.

Mattermost for contact tracing

The number of infections doubled each week. So, we didn’t have time to rethink and rebuild everything and train our tracers. During a brainstorming session, we came up with the idea of integrating Mattermost to streamline the contact tracing process.

We created a channel in Mattermost for the contact tracers. The webform creates a new post in Mattermost through an incoming webhook each time a new infection is reported.

We also designed five custom emojis, which the tracers used to give the current status of the case. Simply reacting with an emoji was enough to allow us to see who was working on what case. If there were multiple infections in a few days at a particular school, the tracers could easily see who had done the other cases and could contact each other to see if there was a common source of the infections.

Contact tracing in Mattermost

We used Mattermost statuses to see which tracer was available: 

  • Offline – not on duty, 
  • Online – ready to receive new cases, 
  • Away – listing up the high-risk contacts from a case 
  • DND – calling the high-risk contacts 

Since time was of the essence, we had to set it all up in a few days. We were handling more than 30 new cases a day and making about 400 phone calls to high-risk contacts. Shortly thereafter, the government decided to go into lockdown again and closed the schools for two weeks. 

In November, the schools reopened. The decision to lockdown and close the schools lowered the number of infections. 

Still, the workload was too high, so we added more people to our team. Today, we are still handling 20 new cases a day.

Looking ahead, we plan to write a script that uses the Mattermost API to send feedback to the webform when emojis are added to a case. If we can make more programming time available, we will write a plugin to handle this.

Mattermost helps our team to easily get a view on the status of each case and who worked on it. It also improves the communication and knowledge-sharing between the contact tracers, helping us combat the virus. The contract tracers have set up a channel to chat with each other, and they use the primary channel we created for them just for managing the cases. 

For the team at VCLB Ghent, this shows the strength of Mattermost. On one hand, it’s a great communications platform that keeps coworkers connected. But it’s so much more than that, too, because you can integrate it with almost everything.

Learn more about how teams are using Mattermost

To learn more about how other organizations use Mattermost everyday to collaborate and create more integrated workflows, check out our other Customer Stories.


Tom De Moor is the official reviewer of the Dutch translation of Mattermost. He is a technology lover with a broad outlook who uses PHP, Python, NodeJS, MariaDB, MongoDB, and Raspberry Pis on a daily basis. He is also an official drone pilot.