An attribute is a data field that holds information about an activity, for example a subject headline (title), and a conclusion text. An app may have up to 32 attributes.

An attribute always has a name, type and label, plus a number of option fields. The mandatory title attribute typically looks like this:

  - name: title
    type: string
    label: Subject
    placeholder: Enter subject here
    mandatory: true

Attribute Types

The attribute type must be one of the following:

  • string: A single line text up to 3000 characters.
  • text: A multi-line text area up to 3000 characters.
  • select: A select dropdown with up to 100 choices.
  • button: A button that can be clicked to invoke a trigger.
  • user: A special select dropdown to select a Slack user.
  • link: A special single line text to store a URL.

Predefined Attributes

There are 5 predefined attributes with their types:

  • title (string): The main subject/headline.
  • body (text): A general purpose multi-line text.
  • conclusion (text): Should contain a closing summary of the activity.
  • deadline (text): Activity deadline (implicit attribute)
  • severity (select): Activity severity (implicit attribute).

The title and conclusion attributes must always be present in an app. The title is a single line of text, while the conclusion is a multi-line text field.

You may change the label and other properties of a predefined attribute, but you cannot change its name or type.

deadline and severity are implicit attributes, i.e. they are not part of the attribute list. They are not present by default, but you can enable them in the app settings by setting enable_deadline or enable_severity to true.

Set a deadline to create urgency. An automated notification will be sent to the team when the countdown timer is 20% from reaching zero, but at most 24 hours before the deadline. For example, if you set a deadline in 10 hours, you’ll get a reminder in 8 hours. If you set a deadline in a week you’ll get the notification exactly 24 hours before the deadline expires.

The severity describes the severity level of an activity, and is mainly used for managing incidents. You may repurpose the severity attribute to be used in other areas by renaming its label and option labels. The ‘bug report’ app uses this technique.

Attribute Properties

An attribute has three mandatory properties and several optional properties.

Mandatory Properties

  • name: The attribute’s name, consisting of lower case letters, numbers and underscores.
  • type: The attribute type, explained below.
  • label: A visible label displayed with the attribute.

Optional Properties

  • placeholder: A text displayed inside the input field before the user starts typing.
  • hint: A contextual hint about the format etc. of the attribute.
  • default_value: The default/initial value of an attribute.
  • visible: Controls when the attribute should be displayed (see below).
  • mandatory (boolean): Set mandatory to true if the attribute cannot have an empty value. The built-in title attribute is a mandatory attribute.
  • important (boolean): Setting important to true is a hint that the attribute should be displayed whenever possible. For example, important attributes will be displayed in Conclude Home > Activities.
  • style: For buttons only. The button style can be set to primary or danger.
  • protected: Setting protected restricts the use of this attribute to certain individuals. You may specify a list of users, channels and user groups, just like the member setting, however, it’s more common to set it to ${superusers} to make the app source easier to read and maintain.

The visible setting can be:

  • Not set (default): The attribute will be visible at all times.
  • create: The attribute will be visible when creating a new activity.
  • edit: The attribute will be visible in the activity channel.
  • conclude: The attribute will be visible when concluding the activity.

This example shows how you can make an attribute visible to the members of the activity, but hide it from the user who submitted the activity:

  - name: notes
    type: string
    label: Internal notes
    placeholder: Internal investigation notes
    visible: edit,conclude

Select attribute options list

A select attribute requires a list of options:

  - name: status
    type: select
    label: Dev tasks status
      - name: not_started
        label: ":cloud: Not Started"
      - name: in_progress
        label: ":running: In Progress"
      - name: completed
        label: ":white_check_mark: Completed"

Each option consists of a name identifying the option, and text label. Feel free to use emoji codes in the labels.

When editing an attribute with the interactive app builder, the list of options is presented in a more compact form:

  not_started, :cloud: Not Started
  in_progress, :running: In Progress
  completed, :white_check_mark: Completed

Supercharge your team!

Bridge the collaboration gap with Conclude apps.