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.
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:
- Add Email From: Enter the email address from which the email will be sent. This address will reflect the sender of the email in the recipient’s inbox.
- 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.
- Add CC: Enter the email address of recipients who’ll receive a copy of the email.
- Add BCC: Enter the email address of the recipients that you want to hide from the primary recipient(s).
- Embed Dash Image: In case of a report with one or more dashboards, embed the dashboard as an 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.
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.
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.
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), and the alert notification, and the report will be published to.
Below is an example of what 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.