The app configuration defines the overall behavior of the app.
|type||Decides who can use the app (custom: channel members, global: anyone)|
|name||App name; lower case letters, numbers and underscores (just like Slack channels)|
|label||A short text to describe the app, used when sending alerts and more|
|description||A longer text that explains the purpose of the app|
|owner||Default owner of an activity, see roles|
|members||List of participants to invite to an activity, see roles|
|alert||Where to send alerts about an activity, see below|
|review||Review an activity before sharing it internally, see review|
|admins||Used for managing Slack permissions, see roles|
|superusers||Used for restricting access to attributes, see roles|
|private||Limits access to the source code of an app, see roles|
|notifications||When to send notification about changes in an activity, see below|
|channel_name||Sets a custom activity channel name instead of #_myapp-*, see below|
|enable_deadline||Set this to true to add a deadline setting to your app|
|enable_severity||Set this to true to add a severity setting to your app|
|error_log||Where to send app error messages|
|rate_limit||Limits the maximum number of activities that can be created every minute|
|web_connector||Accept incoming activities from a web form using http POST|
The app type specifies who should be the audience for the app. Set it to global to allow anyone in your Slack workspace, including guest users, to use the app, even if they are not a member of the channel where you installed the app. One common use case is to install global apps in a private channel. Anyone can create a new activity, for example report an incident, but only app members are able to follow the internal discussion.
Setting the type to custom will make the app available only to the members of the channel where the app is installed.
Go to Conclude Home > Apps or type
/c to see which apps are available to you.
The app name is similar to a Slack channel name. Instead of launching an app from the Conclude Home > Apps
you can type the command:
Apps should have unique names (otherwise the
/c command would not know which app to launch).
The app label is a short text describing the app, and used when presenting information about an app or an activity.
The description is a longer text that explains the purpose of the app. It’s used on the Apps page.
Owner, members, admins and superusers
These settings define user roles. You’ll find more information about roles here.
The private setting restricts access to the app’s source code, see roles.
An app sends out an alert whenever a new activity is created, concluded, or reopened. The alert setting specifies who the alert should be sent to.
The installer sets the default alert value to the channel where you installed the app. If you leave out the alert setting then nobody will receive alerts about the activity.
Like for the member setting described in roles, there’s no limit to how many individual users, channels or user groups you can specify for the alert setting.
You may want to send alerts to a different channel than where you installed the app. For example, for an incident management app installed in the #incidents channel, you can do the following:
Alert messages about the activity will be sent to the #incident-log channel instead of the #incidents channel where you installed the app. This is a good way to reduce noise.
By default, Conclude apps send notifications to the activity channel when the owner, deadline or severity attribute change.
You can override this and instruct Conclude to send channel notifications when certain attributes change:
- owner, deadline, severity: Send a notification if any of these attributes change.
- attribute: Send a notification when any attribute changes.
- none: Never send channel notifications.
You may also set notification for specific attributes. If want channel notification whenever the deadline or an attribute named ‘decision’ changes, you can set:
"notifications": "deadline, decision"
Conclude will create a channel with a unique channel name for every activity, based on the name of the channel where you installed the app.
If you install an app in #incidents, the activity channels will be named #_incidents-1, #_incidents-2 etc. If there is an existing channel with the name, Conclude will use a random suffix, for example #_incidents-2ba3.
Create a custom channel name by setting channel_name. You can even use macro substitution to create a channel name that includes the current date and the title attribute:
If somebody reports “Database error” on November 15, the channel name of the bug report will be “_bug-report_2020-11-15-database_error”. Conclude translates space to underscore.
Enable deadline and severity
If you want to set deadlines or severity levels in your app, you can enable these features by setting enable_deadline and enable_severity to true.
"enable_deadline": true, "enable_severity": true,
Note that we are using boolean values here and not strings.
The error_log setting tells Conclude where to send internal error messages. For example, if a trigger cannot send SMS because of a misconfiguration, Conclude will send an error message.
"error_log": "#conclude-errors, @dev-team"
Error messages can be sent to any number of users, channels and user groups. If error_log is not set, Conclude will send the error message to admins (see roles).
You can limit the maximum number of new activities per minute by setting rate_limit. The example below sets a limit of maximum 12 new activities per minute. The numeric value must be between 1 and 120.
Setting the rate limitation can be useful when accepting activities from external sources, for example, by using a web connector.
Conclude apps live inside your team’s Slack workspace and may only be used by team members. The web connector opens your app to external users by connecting a web form directly to your app. This allows external users to create new activities.
The web connector is unidirectional. In order to respond to the external user, you will need an email address, or a phone number.
Read more about the web connector here.