In this section, we’ll walk through the source code of a real app. We’ll use the interactive app installer and app builder to create an app based on the ‘decision’ blueprint, similar to the steps in the quickstart guide.

This app can be used for making product decisions, where each proposal is discussed and concluded in a separate channel.

Follow these steps to create the app:

  1. Create a channel #product-decisions and invite team members.
  2. In this channel, type the Slack command /c app install to launch the installer.
  3. Choose the “Decision” blueprint and click Install to deploy the app.

image

Upon successful install, Conclude will respond with message that only you can see:

image

Click the Edit button to view or edit the app’s YAML source code in an external editor. The Settings button opens a Slack dialog where you can use interactive tools to modify the app. Click the Share button to announce to the channel that you installed a new app.

You can always view information about installed apps under Conclude Home > Apps.

You have now installed a fully functioning app, which will be available to the members of the #product-decisions channel. Launch the app by clicking its launch button in Conclude Home > Apps, or by typing /c product-decisions in Slack. It will create a new proposal, and invite the members of the #product-decisions channel to participate.

The entire source code of your app is a little less than 25 lines of YAML:

# Configuration settings
name: product-decisions
label: Decision
description: Make a decision
owner: "@Ethan"
members: "#product-decisions"
alert: "#product-decisions"
enable_deadline: true
# List of 3 attributes
attributes:
  - name: title
    type: string
    label: Proposal
    placeholder: What do you propose?
    mandatory: true
  - name: body
    type: text
    label: Description
    placeholder: More details here
  - name: conclusion
    type: text
    label: Decision
    placeholder: What is the decision?
# Presentation settings
subject: proposal   
create_caption: New Proposal

The code consists of 3 distinct sections:

  1. Configuration: The main settings that control the app behavior.
  2. Attributes: An array of data fields that hold information about an activity.
  3. Presentation: For customizing texts and messages.

Configuration

These settings control the behavior of the app:

  • name: Each app should have a unique name, consisting of lower case letters, numbers and underscores. By default, the name is set to the channel name, but you can change this.
  • label: A short text to describe the app.
  • description: A longer text that explains the purpose of the app.
  • owner: The default owner of the activity. If the owner is omitted, new activities will be unassigned. Default setting: the person who installs an app.
  • members: List of members to invite to new activities. Default setting: the members of the channel where you installed the app.
  • alert: Where to send alerts when activities are created, closed or reopened. Default setting: the channel where you installed the app.

The app settings section describes these settings in greater detail.

The owner and members settings are two important roles of an app. They refer to a Slack user and a Slack channel respectively. The source editor highlights Slack channels and users. A red strike-out text means that the channel or user cannot be found.

Note: The role settings in YAML are usually in double quotes, since the right hand value includes special characters, such as '#', which is the start of a comment.


Attributes

The attributes store information for an app. Attributes are implemented as a list of YAML objects ( up to 32 attributes).

An attribute should always have a name, type and label. Two attributes may not have the same name.

Every app should at least have a “title” and a “conclusion” attribute. In our app we also use a “body” attribute to hold more information about the proposal.

Read more about attributes in the attributes section.


Presentation settings

This is the place to customize texts and messages for your app. The subject defines the name of a single activity (e.g. proposal, ticket, etc.).

Open the Conclude Home > Apps > product-decisions > Settings and click the Presentation button to see a complete list of texts and messages, along with their default settings.

Tip for creating more engagement:
Use emojis to create more engagement. Try changing the launch button to ":mega:"!

Supercharge your team!

Bridge the collaboration gap with Conclude apps.

Quickstart