]po[ Slack Integration

This Slack  integration package automatically generates a Slack channel for each ]project-open[ project, invites project members to this channel, stores channel communication in a searchable format, sends out project notifications and provides a number of slash-commands to simplify hour logging, status updates etc.


(Please click on the hexagons for more information)


Slack and Mattermost

Slack   and it's open-source cousin Mattermost  enterprise messengers that allow for efficient team communication. Both messengers share a common API  that allows ]project-open[ to send and receive messages.


Use Cases & Scenarios

This package currently deals with the following scenarios:

Automatic Project Channel Setup

After creating a new (main-) project, the ]project-open[ server will use the Slack API to create a new channel. By default, the channel will be named after the project_nr of the project, but it may be changed afterwards.

New users will be added automatically to Slack channels after they have been added to a project.

Project Communication Archive

Through the ]project-open[ chat bot, ]po[ receives a copy of all project communication. The bot stores each chats as standard ]po[ forum topics. Forum topics are searchable by default, allowing to quickly retrieve important communication.

Project Notifications

]po[ sends notifications about important events to project channels, including the completion of tasks, tasks running late etc. Each PM can define which events are sent to the channel.


A number of "slash commands" allow users to perform transactions directly from within Slack or Mattermost:

  • /log <hours> on <task> [for <date>]
    Logs hours on a given task
  • /notify [<person>] about <event_spec> [on <task>]:
    Enables notification about a number of available events

We will extend this list according to user requests. Please [contact|contact us] if you have a special use-case.


Natural Language Processing (NLP) Engine

The ]po[ Slack integration is currently only available in English. It employs a simple but efficient NLP  engine based on a case grammar  and semantic roles in order to process a wide variety of language variants in a robust way, employing maximum entropy optimization  in a second step.


Developer Documentation

Please see HowTo Write a NLP Chat-Bot developer documentation about the architecture and the underlying NLP technology of the ]po[ - Slack integration.


Status, Installation and License

The package is currently under development. Please contact us (and include "slack-integration in the request) for details.

You can install the Slack integration package using the following commands (assuming the ]po[ V5.0.x VMware with CentOS 7):

# su - projop
# cd ~/packages
# cvs checkout intranet-slack

After this, please go to /acs-admin/apm/ -> "Install Package", select intranet-slack, click "-> Next" and restart your server as suggested.
After this, please go to Admin -> "Slack Integration" and follow the instructions in order to setup an integration with your Slack or Matermost instance.

The package is released under a dual-license as "GPL V3 or higher" open-source software, and using a commercial license. Please contact us for details.

Package Documentation

Procedure Files



im_package_slack_id       Returns the package id of the intranet-slack module 
im_slack_action       Main entry into Slack integration. 
im_slack_arg_parser       Main parser. 
im_slack_arg_parser_arg_type       Tries to extract an argument of type=type from line at the given pos. 
im_slack_arg_parser_one_arg       Tries to extract an argument from an input line. 
im_slack_available_commands_json       Create a JSON list with the list of available commands, suitable to be used as "attachment" in a Slack reply 
im_slack_commands       Returns a data-structure with the list of available commands, plus there meta-data. 
im_slack_log_hours       Logs hours for the current user on the current project. 
im_slack_test       Checks some standard test cases 

SQL Files

Content Pages

      po.tcl Slack integration page


  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)


 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465
 Mail: info@project-open.com