Enable Smart Notifications

Alerts become even more powerful when you connect them with the tools you already use. Integrations give you the power to intelligently route alert notifications to keep your operations teams, developers, and customers informed.

Using integrations

To make the most of your integrations, consider who needs to be informed and set the minimum notification level appropriately. For example, you could:

  • Send alerts with a level of WARN or higher to Slack in a channel dedicated to support.
  • Send ERROR and FATAL alerts to PagerDuty where they are distributed to the operations team to triage and resolve.
  • Send all FATAL alerts to the team's [email protected] email list so that everyone sees them.
  • Log all alerts, including INFO, to your own custom system for comprehensive statistics tracking.

Add an integration

Let's set up an integration! Choose from email, Slack, PagerDuty, IFTTT, or custom webhook.

2212

Email

By default, we send email notifications to the address associated with your account for alerts of level INFO and higher. You can adjust these settings or add additional email addresses by navigating to MENU → TEAM SETTINGS.

To add a new email address, scroll down to the Smart Alerts Integrations section and click ADD.

Set the type to EMAIL, add a descriptive name for your alert, and set the minimum notification level. Provide the email address you'd like the alerts sent to, then click SAVE.


Slack

Freedom's Slack integration is an easy way to broadcast alerts to your team.

Generate a Slack webhook URL

To set up this integration, you'll need to generate a Slack webhook URL. You can check out the instructions from Slack here. Your Slack webhook URL will look like this:

https://hooks.slack.com/services/...

Set up the integration

In the Freedom App, click Settings → Smart Notifications. Scroll down to the Smart Alerts Integrations section and click ADD.

444

Set the type to SLACK WEBHOOK, add a descriptive name for your alert, and set the minimum notification level. Add the Slack webhook URL, then click SAVE.


PagerDuty

The PagerDuty integration enables you to control who receives certain alerts and when they receive them.

Generate a PagerDuty integration key

To set up this integration, you'll need to generate a PagerDuty integration key. You can check out the instructions from PagerDuty here. Be sure to choose Events API v2.

Set up the integration

In the Freedom App, click Settings → Smart Notifications. Scroll down to the Smart Alerts Integrations section and click ADD.

Set the type to PAGER DUTY WEBHOOK, add a descriptive name for your alert, and set the minimum notification level. Add your PagerDuty integration key, then click SAVE.


IFTTT

IFTTT allows you to easily connect services and set up triggers and responses.

Generate an IFTTT key and trigger

To set up this integration, you'll need to generate both an IFTTT key and trigger. First, go to the
IFTTT Webhooks page and click the Connect button. Click the Settings button. Your IFTTT key is the long string at the end of the URL:

https://maker.ifttt.com/use/<YOUR_IFTTT_KEY>

Next, go to the Platform page and select the Applets tab. Click the New Applet button. In the Trigger section, search for Webhooks. Select Receive a web request. Choose a name like freedom_smart_alert for the Field Name. This name is your IFTTT trigger.

Add the action that you would like to trigger and fill in the remaining details, then save and publish your Applet.

Set up the integration

In the Freedom App, click Settings → Smart Notifications. Scroll down to the Smart Alerts Integrations section and click ADD.

Set the type to IFTTT DUTY WEBHOOK, add a descriptive name for your alert, and set the minimum notification level. Fill in your IFTTT key and trigger, then click SAVE.

Payload format

When an alert is sent to the IFTTT interface, the details of the alert are sent as a JSON payload in the following format:

{
    "value1": "`BATTERY ISSUE` alert for `Droid 3`",  
    "value2": "ERROR TRIGGERED",    
    "value3": "https://app.freedomrobotics.ai/#/devices/..."
}
Parameters
value1Issue name and device name
value2Issue level and whether the alert was triggered or cleared
value3Share link for the time when the issue occurred

Custom Webhook

When you build your application using Freedom, you may want to integrate with a custom service, such as one of your own servers.

Set up the integration

In the Freedom App, click Settings → Smart Notifications. Scroll down to the Smart Alerts Integrations section and click the ADD button.

Set the type to CUSTOM WEBHOOK, add a descriptive name for your alert, and select the minimum notification level.

Select the HTTP request type (PUT or POST). Add the URL of your webhook, beginning with https://..., and click SAVE.

Payload Format

When an alert is sent to a custom webhook, the details of the alert are sent as a JSON payload in the following format:

{
    "account": "A0000000000000000000",
    "device": "D0000000000000000000",
    "alert_id": "ALT0000000000000000",
    "name": "LOW_BATTERY",
    "type": "mc.device.data_outside_bounds",
    "action": "clear",
    "level": "warn",
    "attributes": {             // Specified by the trigger
        "voltage": 14.3,
        "current": -3.12,
        "state": "NOT_CHARGING"
    },
    "utc_time": 144032234.23,
    "elapsed_secs": 1213.43    // Only exists on "action": "clear"
}

Test your integration

Now that you've set up your first integration, let's make sure it works. In the Freedom App, click Settings → Smart Notifications. Click Send Test Alert.

Select your device and choose the alert level (you can keep the default name and description). Be sure the alert level is equal to or higher than the minimum alert level for the integration you're testing.

📘

Alert Levels

The hierarchy of alert levels is INFO < WARN < ERROR < FATAL.

Click CREATE to send the test alert. In just a moment, you'll receive an alert notification in your service of choice!