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.

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. not in the code. They are always present, unless you disable them in the app configuration.

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’ blueprint 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.
  • protected Setting protected restricts the use of this attribute to certain individuals. You may specify a list of users, channels and usergroups, just like the member setting, however, it’s more common to set it to ${superusers} to make the code 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"
}

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.
  • user: A special select dropdown to select a Slack user.
  • link: A special single line text to store a URL.

A select attribute requires that you add a list of options:

{
  "name": "status",
  "type": "select",
  "label": "Dev Task status",
  "default_value": "not_started",
  "options": [
    {
      "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.

Supercharge your team!

Bridge the collaboration gap with Conclude apps.

Quickstart