Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maintenance/public launch content #78

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions app/docs/how-to/capture-rating-review-feedback.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ recommend:
type: radiobuttons
label: Would you recommend this product to anyone?
required: true
dataType: boolean
items:
- value: true
label: Yes
Expand Down
27 changes: 17 additions & 10 deletions app/docs/how-to/receive-slack-notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,20 @@ description: "How do I receive Slack notifications?"

This how-to covers how to make use of the [Slack Webhook Action Type](/reference/action-types/slack-webhook/) to receive slack message notifications when someone interacts with one of your apps.


## Enable incoming webhooks in your Slack workspace

First, create an incoming webhook for your slack workspace as outlined in [this official guide](https://api.slack.com/messaging/webhooks). Once your webhook is created, copy and save its URL - you will need it in the next step.

<CaptionedImage
src="/images/how-tos/slack-copy-webhook-url.png"
alt="Slack incoming webhooks configurations page"
width="70%"
/>

## Create the action

Follow the steps below to create an [action](/reference/actions/) for sending email notifications.
Second, follow the steps below to create an [action](/reference/actions/) for sending Slack messages using the webbhook that you created above.

### Step 1: Choose a workspace

Expand All @@ -33,31 +44,27 @@ Select the **Actions** tab within the workspace view and press the **+ New Actio

### Step 3: Select the Slack action type

From the action creation model, select **Slack** from the _Action type_ dropdown list.
In the action creation dialog, select **Slack Webhook** from the _Action type_ dropdown list.

<CaptionedImage
src="/images/modals/personal-office-coffee-machine-edit-app-actions-slack.png"
src="/images/modals/office-create-action-slack.png"
alt="An expanded dropdown containing a list of available action types with 'Slack' highlighted in the Routegy admin app"
width="70%"
/>

### Step 4: Configure the action

Enter the URL for your Slack Outgoing Webhook you wish to use, and click on **+ Create action** to complete the process.

::: tip
Create or view your Slack webhook integrations [here](https://slack.com/apps/A0F7VRG6Q-outgoing-webhooks).
:::
Enter the URL of the Slack Incoming Webhook that your created earlier. Optionally, you can also customize the body and footer of a Slack message. Both _Body_ and _Footer_ fields support [Routegy templating](/reference/templating) that is based on [Jinja2](https://jinja.palletsprojects.com/en/3.0.x/). When all fields are configured, click on **+ Create action** to complete the process.

<CaptionedImage
src="/images/modals/personal-office-coffee-machine-edit-app-actions-slack-save.png"
src="/images/modals/office-create-action-slack-filled.png"
alt="The completed Slack action in the 'New action' dialog with the 'Create action' button highlighted in the Routegy admin app"
width="70%"
/>

## Attach the action to an app

Follow the steps below to attach the Webhook action created above to one or more [apps](/reference/apps/).
Finally, follow the steps below to attach the Slack Webhook action created above to one or more [apps](/reference/apps/).

### Step 1: Choose an app

Expand Down
2 changes: 1 addition & 1 deletion app/docs/how-to/receive-sms-notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ From the action creation model, select **SMS** from the _Action type_ dropdown l

### Step 4: Configure the action

Enter a _name_, _description_ (optional) and desired phone number. You can also customize a text _Message_ format by providing your own [Jinja2 template](https://jinja.palletsprojects.com/en/3.0.x/) that follows the [Routegy templating guide](/reference/templating). _Phone Number_ can be set to a static value (e.g. 555-555-5555) or to any variable available in the [templating context](/reference/templating.html#values). For instance, if your app pattern includes an element named `phone_number` nested in a fieldset named `contact_info`, you can just enter `contact_info.phone_number`, and Routegy will send a text message to a phone number collected by your app from a user.
Enter a _name_, _description_ (optional) and desired phone number. You can also customize a text _Message_ format by providing your own [Jinja2 template](https://jinja.palletsprojects.com/en/3.0.x/) that follows the [Routegy templating guide](/reference/templating). _Phone Number_ can be set to a static value (e.g. 555-555-5555) or to any variable available in the [templating context](/reference/templating.html#values). For instance, if your app pattern includes an element named `phone_number` nested in a fieldset named `contact_info`, you can just enter <span v-pre>`{{ contact_info.phone_number }}`</span> into the _Phone Number_ field, and Routegy will send a text message to a phone number collected by your app from a user.


::: tip
Expand Down
32 changes: 31 additions & 1 deletion app/docs/reference/action-types/jira.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,34 @@ description: "How do Jira action types work?"

# Jira

Docs coming soon!
The Jira action type is used to create Jira issues for every [event](/reference/events/) created by an [app](/reference/apps/). Issues can be created in Jira Software, Jira Service Management and Jira Work Management projects.

Jira action configuration option includes user, project and issue information.

### User configuration

|Field|Description|
|---|---|
|Username|Email associated with the Jira account to use|
|API Token|API token generated at <https://id.atlassian.com/manage-profile/security/api-tokens>|

### Project configuration

|Field|Description|
|---|---|
|URL|URL of the Atlassian site (e.g. https://yourcompany.atlassian.net)|
|Key|Jira project key|

### Issue configuration

|Field|Description|
|---|---|
|Summary|Jira issue summary. This field supports [Routegy templating](/reference/templating)|
|Description|Jira issue description. This field supports [Routegy templating](/reference/templating)|
|Type|Jira issue type. Has to be a valid type [issue type for a given project](https://support.atlassian.com/jira-cloud-administration/docs/what-are-issue-types/#Default-issue-types).|
|Priority|Jira issue priority|
|Labels| Optional. A list of Jirra [issue labels](https://confluence.atlassian.com/jirasoftwareserver/editing-and-collaborating-on-issues-939938928.html#Editingandcollaboratingonissues-Trackingissueswithlabels)|

## Guides

* [How-to: Create Jira issues](/how-to/create-jira-issues/)
32 changes: 2 additions & 30 deletions app/docs/reference/action-types/slack-webhook.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,38 +5,10 @@ description: "How do Slack webhook action types work?"

# Slack webhook

The Slack webhook action type is used to send a message to Slack for every [event](/reference/events/) created by an [app](/reference/apps/).
The Slack webhook action type is used to send a message to Slack for every [event](/reference/events/) created by an [app](/reference/apps/). Messages are sent using [incoming webhooks](https://api.slack.com/messaging/webhooks) for Slack apps.

::: tip
Slack messages can be configured using [templating](/reference/templating/).
:::
You can customize the body and footer of the message, both of which support [Routegy templating](/reference/templating).

## Guides

* [How-to: Receive slack notifications](/how-to/receive-slack-notifications/)

## Screenshots

### Create

<CaptionedImage
src="/images/modals/office-create-action-slack.png"
alt="The 'New action' dialog with the 'Slack' action type selected in the Routegy admin app"
width="75%"
/>

### Configure

<CaptionedImage
src="/images/modals/office-create-action-slack-filled.png"
alt="The 'New action' dialog with the 'Slack' action type configured in the Routegy admin app"
width="75%"
/>

### Example

<CaptionedImage
src="/images/actions/personal-office-coffee-machine-slack.png"
alt="A Slack message generated by an interaction with a Routegy app named 'Coffee machine'"
width="75%"
/>
4 changes: 2 additions & 2 deletions app/docs/reference/action-types/sms.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ The SMS action type is used to send text messages to a configured phone number f
You can customize the message of the SMS with [Routegy templating](/reference/templating).


## Sending messages to dynamic addresses
## Sending messages to dynamic phone numbers

It's possible to use a value collected by an app's pattern. To do so, create an SMS action as normal, but in the *Phone number* field place a reference to the value using the syntax <span v-pre>`{{ valueName }}`</span>. For example, if you have a [multi-page wizard](/reference/patterns#multipage-patterns) with a page named `step1` and an input called `customerPhone`, you can send an SMS to the collected address using <span v-pre>`{{ step1.customerPhone }}`</span> in the *Phone number* field.
It's possible to use a value collected by an app's pattern as phone number. To do so, create an SMS action as normal, but in the *Phone number* field place a reference to the value using the syntax <span v-pre>`{{ valueName }}`</span>. For example, if you have a [multi-page wizard](/reference/patterns#multipage-patterns) with a page named `step1` and an input called `customerPhone`, you can send an SMS to the collected address using <span v-pre>`{{ step1.customerPhone }}`</span> in the *Phone number* field.

## Guides

Expand Down
5 changes: 2 additions & 3 deletions app/docs/reference/action-types/trello.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@ description: "How do Trello action types work?"

The Trello action type is used to create cards in a configured board/list for every [event](/reference/events/) created by an [app](/reference/apps/).

::: tip
Trello cards can be configured using [templating](/reference/templating/).
:::

Configuration options include Trello API key token, the ID of the Trello list where the new card will be create, and a card name and description for the new card. Both name and description support [Routegy templating](/reference/templating).

## Guides

Expand Down
18 changes: 9 additions & 9 deletions app/docs/reference/apps.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,26 @@ An app is the point where interactions occur within groups of a workspace.

Each app is linked to a [code](/reference/codes). This enables referencing an app by an opaque value (E.g. URL) that can be encoded into links, QR codes, NFC tags, API clients, etc.

## Pattern

Every app is linked to a [pattern](/reference/patterns), which defines the interactions and data that are exposed and collected by an app. You can think of a pattern as a template, and each app with that pattern is an instance of that template.

## Name and description

An app has `name` and `description` fields which define a "call to action", indicating to a person its purpose and what happens when they interact with it. These fields are displayed when someone interacts with your app, so it's important to be descriptive and concise. For example, a `name` might be "Access request" and the `description` might be "The repo request hub for Acme, Co."

## Events and actions

A person interacting with an app will potentially create an [event](/reference/events). The event contains information gathered by the app as defined by the app's pattern, and it will trigger any [action](/reference/actions) that is tied to the app.

## Attributes

You can optionally define key-value pairs of information for an app. This information is available to the pattern when an app is accessed as well as events triggered by the app. For example, you may have a key:value pair of `printer_id:0001` that is used in the UX by the pattern to confirm to a person that the app they're accessing corresponds to the proper context, as well as in actions for help in routing, categorizing, etc.
You can optionally define key-value pairs of information for an app. This information is available to the pattern when an app is accessed as well as event actions triggered by the app. For example, you may have a key:value pair of `printer_id:0001` that is displayed by the pattern to confirm to a person that the app they're accessing corresponds to the proper context. Attributes can also be used in actions for help in routing, categorizing, etc.

::: warning
Attributes are publicly available and should be treated as such. If you're unsure about how best to process sensitive data, please contact us at [support@routegy.com](mailto:support@routegy.com).
:::

## Pattern

Every app is linked to a [pattern](/reference/patterns), which defines the user experience when interacting with it. It can used to (optionally - see [instant patterns](/reference/patterns#instant-events)) prompt the user for additional information.

## Events and actions

A person interacting with an app will potentially create an [event](/reference/events). The event contains information gathered by the app as defined by the app's pattern, and it will trigger any [action](/reference/actions) that is tied to the app.

## Examples

| Code (URL) | Name | Description | Image |
Expand Down
9 changes: 6 additions & 3 deletions app/docs/reference/patterns.md
Original file line number Diff line number Diff line change
Expand Up @@ -777,7 +777,8 @@ appSettings:
colors:
header: "#2e1046"
headerText: "#eff0eb"
footer: "#eff0eb"
footer: "#2e1046"
footerText: "#eff0eb"
white: "#2e1046"
black: "#eff0eb"
successMessage: Thanks for the report!
Expand Down Expand Up @@ -812,6 +813,7 @@ appSettings:
headerText: '#00fab3'
black: black
footer: black
footerText: white
grey: grey
primary: '#007252'
lightGrey: lightgrey
Expand Down Expand Up @@ -859,11 +861,12 @@ Below is a list of customizable colors along with their default values. When ove
| header | App header background color | <div class="colorBlock" style="background-color:#2e1046"/> |
| headerText | App header text color used for app name and description text displayed in the app header |<div class="colorBlock" style="background-color:#eff0eb"/>|
| footer | App footer background color | <div class="colorBlock" style="background-color:#2e1046"/> |
| footerText | App footer text color used for text displayed in the app footer |<div class="colorBlock" style="background-color:#2e1046"/>|
| white | Background color for contents of an app rendered between the header and the footer | <div class="colorBlock" style="background-color:#eff0eb"/> |
| black | Color used for static text like labels as well as text entered into input elements | <div class="colorBlock" style="background-color:#2e1046"/> |
| grey | Secondary color used for visual elements like outlines of checkboxes and radio buttons | <div class="colorBlock" style="background-color:#ac6dde"/> |
| grey | Secondary color used for outlines of checkboxes and radio buttons and fill color for inactive wizard steps and wizard "back" buttons | <div class="colorBlock" style="background-color:#ac6dde"/> |
| lightGrey | Secondary color used for borders of various input elements when they are not active (not focused) | <div class="colorBlock" style="background-color:#e2cdf3"/> |
| primary | Color used for borders of active (focused) input elements, hover color for radio and checkbox labels, and fill color for radios, checkboxes, and dropdown arrows | <div class="colorBlock" style="background-color:#d410c5"/> |
| primary | Color used for borders of active (focused) input elements, hover color for radio and checkbox labels, and fill color for radios, checkboxes, dropdown arrows, and active/complete wizard steps | <div class="colorBlock" style="background-color:#d410c5"/> |
| buttonText | Text color for buttons | <div class="colorBlock" style="background-color:white"/> |
| success | Background color for elements associated with success actions and notifications (E.g. application submit button) | <div class="colorBlock" style="background-color:#1cd748"/> |
| warning | Background color for elements associated with warning notifications | <div class="colorBlock" style="background-color:#ffe08a"/> |
Expand Down
Loading