Scheduled Reports: Emails/Webhooks/Slack/Teams: Emails, Webhooks Slack, & Teams

Introduction

Knowi's report scheduling features allow you to schedule dashboard exports as a PDF and/or CSV attachment and sent to you directly via Email, Webhook, Slack, or Microsoft Teams. Say you have a frequently used dashboard that tracks daily KPI metrics. You can schedule an email report to have it delivered as a PDF and/or CSV directly to you and your team's inbox daily.

Sections


Navigating to Scheduled Reports

There are two ways to navigate to the Reports screen from any dashboard:

From the Left Side Bar:

  1. Click on the Reports from the left sidebar.
  2. Click on the New Report + button from the top-right corner.
  3. This takes you to the Report Options window.

From the Dashboard:

  1. Click on the horizontal ellipsis (...) from the top right corner.
  2. Select the Schedule/Send a Report option from the dropdown list.
  3. This takes you to the Report Options window.


Setting up a Scheduled Report

These are the initial steps to setting up a scheduled report. This portion of the process applies to Email, Webhook, Slack Reports, and Teams Reports. Proceeding sections will outline specific steps to set up each of the three report types.

To create a Scheduled Report:

  1. Navigate to the Report Options Screen following the steps from the Navigating to Scheduled Reports section above

  2. Give your Report a name. The name you will enter will be displayed in the Reports screen.

  3. In the Dashboards dropdown, select the dashboard(s) you wish to send in the report.

  4. Optionally include a CSV attachment by clicking on the Add CSV Attachment. This will show additional options

    • a. Give the attachment a Name it will be displayed as
    • b. In the Dataset dropdown, select a dataset you wish to attach as CSV
    • c. (Optional) In the Cloud9QL Query editor, enter additional C9QL to transform the data


  1. In the Report As dropdown, select the Knowi user the report will be executed by (available to Admin users only - allows the report to be run with lower privileges).

  2. (Optional) In the Filters section, enter any User Content Filters that you wish to enforce. This ensures only data applicable to the recipient(s) is contained in the report.

  3. In the Run every section, specify the schedule the report will be sent on. Reports can be scheduled to run every _Hour, Day, Month,_ or _Weekday (M-F)_ intervals.


Email Reports

Email Reports allow you to attach a PDF and/or CSV attachment of a dashboard(s) to an email. The email can be scheduled to be sent at a chosen interval to single or multiple recipients.

Follow the steps below to create an Email Report after completing the steps in the Setting up a Scheduled Report section.

To Create an Email Report:

  1. Under Report Actions, select Send Email.
  2. Enter the Email Subject that will be displayed.
  3. Enter the Email address of the recipient(s). Comma-separated for multiple recipients.
  4. You can optionally add the following:
    • a. Add Email From: Enter the email address from which the email will be sent. This address will reflect as the sender of the email in the recipient's inbox.
    • b. Add Reply To: Enter the email address to which any reply will be sent. Although optional, it is recommended to add an email address in this field.
    • c. Add CC: Enter the email address of recipients who will receive a copy of the email.
    • d. Add BCC: Enter the email address of the recipients that you want to hide from the primary recipient(s).
    • e. Embed Dash Image: In case of a report with one or more dashboards, embed dashboard as image directly into the mail by typing {EmbedDashboardImage} tag or clicking this link to insert tag in the current cursor position.
  5. Write custom HTML to customize the email template (Optional).

Below is an example of what a common setup looks like:

Below is an example of what the actual email received in a specified account looks like:


Using Date Tokens:

Users have the ability to specify the c9_date token in the email report subject and body in the following format:

{$c9_<datetoken><op><number><timeunit>:YYYYMMdd}

For example, {$c9_today-1d:YYYYMMdd} will be translated automatically to yesterday.

If the format is not specified (YYYYMMdd in the example above) - then the default user date-time format is applied.

For more information on supported date tokens and time units, you can refer to the Date Tokens section of our documentation.

Webhook Reports

Webhook Reports allow you to attach a PDF and/or CSV attachment of a dashboard(s) and send it to the endpoint of your own application. The endpoint should be able to accept multipart form data as the results are sent separately as files of different content.

content-type of application/pdf for dashboard results;
content-type of text/csv for dataset results;

The following service provides you with free functional testing and validation facilities of the structure and content of the requests that'll be sent to your real endpoints.

https://webhook.site

Follow the steps below to create a Webhook Report after completing the steps in the Setting up a Scheduled Report section.

To Create a Webhook Report:

  1. Under Report Actions, select Webhook and click on the + Add Webhook to open the Add Webhook window.

  2. Under Name, enter the name of the webhook.

  3. Under URL to Invoke, enter the endpoint in your application to invoke that can accept a POST request with JSON (array of objects).

  4. Under Headers, enter any headers for HTTP requests to the URL to Invoke endpoint. There can be one header per line.

    Knowi also provides the following C9 tokens which can be used to identify the report on the Webhook headers.

    $c9_taskDate$: It denotes the date of the report in the (yyyy-mm-dd) format $c9_taskName$: It defines the name of the webhook report. For example: Test webhook $c9_taskId$: It denotes any Id of the report. For example: 2971 $c9_taskType$: This can be either report or alert

    Custom header:

    You can also have your own custom header passing through report content filters. Enter the required details in the fields (Mode, Field Name, Value ).

    Fields Descriptions
    Mode Select the mode from the dropdown menu. **Query Parameter**: Applicable for **Direct Query** modes, these are parameters that will be automatically passed in for this user. Field name must be in format $c9_XXX$ or $c9_XXX(defaultVal)$ where the default will be passed in at runtime if the value is empty. **Filter on Query Results**: Applies the filter on top of the query results to limit the data. Field name is the field name to filter by (without $c9_).
    Field Name Enter the name of the field in the format applicable to the selected mode.
    Value To enter multiple values, enter the value and hit Enter

    To Remove/Add Custom headers:

    • By clicking on the + button, you can add more custom headers
    • By clicking on the - button, you can remove the custom header

  5. Under the Authentication URL, enter the authentication endpoint to get a token, which can be passed into each subsequent query. Only required if the API requires it. This is an absolute URL.

  6. Under Auth Headers, enter any optional authentication-related headers. One Header per line.

  7. Under the Custom POST Body, the user can pass data tokens through the webhook using the POST Body field. Enter a custom post body to be sent out. Data tokens can pass field values from data. If left empty, the post body for the webhook will contain the conditional data saved as JSON or just a default message with the dataset name triggered.

    For example,

    For sending activity samples, we can type %opened% or %customer%, etc., and it will be replaced with the value of the fields of the first row of triggered data.

    Note: The data of token only can pass first record of triggered alert/report data (or conditional data alerted)

  8. Click Save.

Below is an example of the webhook report that is produced based on the values defined.

Reference code sample here.

Slack Reports

Slack Reports allow you to attach a PDF and/or CSV attachment of a dashboard(s) to a list of public channels on your team's Slack workspace including an alert message.

Follow the steps below to create a Slack Report after completing the steps in the Setting up a Scheduled Report section.

To Create a Slack Report:

  1. Under Report Actions, select Slack.
  2. Click + Add Slack to open the Add Slack window.
  3. Under Alert Name, give your alert a name that it will be displayed as.
  4. Under Alert Message, enter a user-defined alert message that will post to Slack. Leaving blank will post a default message.
  5. Under Alert Team, enter the Slack team you want to publish notifications to.
  6. In the Alert Channels dropdown, select the Slack channel(s), the alert notification and report will be published to.

Below is an example of how the common setup looks like:

Below is an example of the results that are actually sent and published to the specified Slack channel(s)


Teams Reports

Similar to Slack reports, you can also send the reports and events into your Microsoft Teams channels or group chats for triggered conditions. Start creating the teams report by selecting the Teams under Report Actions and clicking on the +Add Teams button.


Unscheduled PDF Export of Dashboard

You don't have to create a schedule to export a dashboard. A user can export a dashboard at any time.

To export a dashboard to PDF:

Users can export the dashboard as a PDF file at any time by following the steps discussed below:

  1. Select the dashboard you wish to export.
  2. Navigate to the top right corner menu and click on the horizontal ellipsis.
  3. Select Export as PDF from the dropdown list.
  4. Configure the following (optional) as per your requirements:
    • a. Page Orientation: Set the page orientation to: Landscape or Portrait.
    • b. Margin Size: Set the margin size to: Small, Medium, or Large.
    • c. Layout: Change the Layout to: 'Fit to Width' or 'Fit to one page'. You can also change the layout to "Single Column only".
    • d. Headers & Footers: Add- Page numbers, Report title, Current date, and current time to headers and footers.
    • e. Data Grid Display: Customize how Data Grids with scroll are displayed.
  5. Click on the Save button to save the PDF Settings or Click on the Export PDF button to download the PDF file immediately. Generating the PDF could take some time before downloading.

If the user is a "view-only" user then it doesn't have a "Share" button on the top bar but has separate "Export as PDF" button at the top bar.

If the dashboard is shown as an embedded OEM dashboard (see Embedding/OEM), and it is configured to show a header bar and action buttons, then one of the buttons- "Export to PDF" will export the dashboard to a PDF file.