Not only does Formant ingest data, but it can also publish data or events & alerts out to other services. To accomplish this, Formant has a collection of built-in integrations to make it the hub for all of your data workflows. And if we don't have an integration, you can use a generic Webhook to publish to any API endpoint.

The integration options can be found in the Settings panel.

Data integrations

Formant offers two integrations to publish data: AWS S3 and GCP. Formant will continuously upload data it ingests to one of these destinations, saving you from creating your own cloud upload pipeline on your devices.

Telemetry data will be sent as an array of JSON objects. Each array element will have the following fields:

{
    deviceId: Uuid;
    name: string;
    type: T;
    tags: ITags;
    time: Date;
    value: IStreamTypeMap[T]; /* actual datapoint value */
}

📘

Formant will only begin sending datapoints when the data integration is configured. You will not be able to bulk-upload previously ingested data points.

AWS S3 Integration

To integrate with S3, you will need the following information:

  • IAM Account ID (12-digit number), which can be found here
  • The name of your S3 bucket
  • Export path (optional)

You will then need to make a new role policy to allow Formant to upload.

The integrations page will walk you through all of the steps (see "Settings" -> "Integrations" -> "AWS S3"). As always, feel free to reach out via the help bubble in the bottom right of your screen.

GCP Integration

To integrate with Google Cloud Platform, you will need the following information:

  • Service Account JSON Key
  • GCP Storage bucket name
  • A prefix to the bucket path (optional)

The integrations page will walk you through all of the steps (see "Settings" -> "Integrations" -> "Google GCP"). As always, feel free to reach out via the help bubble in the bottom right of your screen.

Event integrations

When you set up an event, you can pass that event along to any of your integrations. The event will come through as a JSON object with all event information. Example:

{
    "eventType": "alert",
    "payload": {
        "id": "e0be1601-0ac2-41f8-b239-1dbe9a2d68db",
        "message": "Oven temperature high",
        "severity": "warning",
        "streamName": "oven.temperature_c",
        "streamType": "numeric",
        "tags": {
            "location": "sf"
        },
        "value": 250,
        "time": "2019-03-09T00:13:22.903Z",
        "deviceId": "c281e95e-c8f1-41b4-b573-e9138eab8900",
        "sourceUrl": "https://app.formant.io/events/e0be1601-0ac2-41f8-b239-1dbe9a2d68db"
    }
}

To see our event integrations, visit Send events to PagerDuty, Send events to Slack, or Integrate with Google Sheets.