Chatbot Overview
Conversational Bots
Intents & Entities
Intelligent Bots's Approach Conversational Platform
Bot Concepts and Terminology
Natural Language Processing (NLP)
Bot Types
Bot Tasks
Starting with Platform
How to Access Bot Builder
Working with Bot Builder
Building your first Bot
Getting Started with Building Bots
Using the Dialog Builder Tool
Creating a Simple Bot
Release Notes
Latest Updates
Older Releases
Bot Builder
Creating a Bot
Dialog Task
Working with User Intent & Dialog Node
Working with Entity Node
Supported Entity Types
Working with Composite Entities
Supported Time Zones
Supported Colors
Supported Company Names
Working with Message & Confirmation Nodes
Working with Service Node
Implementing Custom Authentication
Enabling 2-way SSL for Service nodes
Working with Script Node
Working with Agent Transfer Node
Working with WebHook Node
Defining Connections & Transitions
Managing Dialogs
Prompt Editor
Context Object
Session and Context Variables
Action & Information Task
Working with Action Tasks
Working with Information Tasks
Establishing Flows
Alert Tasks
Working with Alert Tasks
Managing Ignore Words and Field Memory
Knowledge Tasks
Building Knowledge Graph
Importing and Exporting Bot Ontology
Knowledge Extraction
Natural Language
Machine Learning
ML Model
Fundamental Meaning
Knowledge Graph Training
Ranking and Resolver
NLP Detection
NLP Settings and Guidelines
Bot Intelligence
Dialog Management
Context Management
Amend Entity
Multi-Intent Detection
Default Conversations
Channel Enablement
Test & Debug
Talking to Bot
Utterance Testing
Batch Testing
Recording Conversations
Publishing your Bot
Analyzing your Bot
Conversation Flows
Bot Metrics
Advanced Topics
Bot Authorization
Language Management
Collaborative Development
IVR Integration
Universal Bots
Enabling Languages
Smart Bots
Sample Bots
Travel Planning
Flight Search
Event Based Bot Actions
Sentiment Analysis
Tone Analysis
Sentiment Management
Bot Settings
Bot Functions
General Settings
PII Settings
Customizing Error Messages
Bot Management
API Guide
API Overview
API List
SDK Overview
SDK Configuration
SDK Security
SDK App Registration Web SDK Tutorial
Message Formatting and Templates
Mobile SDK Push Notification
Using the BotKit SDK
Installing the BotKit SDK
Events for the BotKit SDK
Functions for the BotKit SDK
BotKit SDK Tutorial – Agent Transfer
BotKit SDK Tutorial – Flight Search Sample Bot
Using an External NLP Engine
Web Socket Connect & RTM
Bot Administration
Bots Admin Console
User Management
Managing Your Users
Managing Your Groups
Role Management
Bots Management
Inviting Users
Sending Bulk Invites to Enroll Users
Importing Users and User Data
Synchronizing Users from Active Directory
Security & Compliance
Using Single Sign-On
Cloud Connector
Bot Store
Creating a Bot Account
Adding a Bot
Choosing a Channel for a Bot
Interacting with a Bot
Setting Up Web Service Alerts
Setting Up RSS Alerts
Setting Up the Webhook Bot
Custom Bots
Bots for your Customers FAQs
Bots for your Workforce FAQs
Adding Bots
Contacting Support
Setting Up Filters
Bot Store Settings
  1. Home
  2. Docs
  3. Bots
  4. Bot Building
  5. Action & Info Task
  6. Define a Card Layout with Group By Report

Define a Card Layout with Group By Report

With some tasks, you may want to add a link to a message sent to a user that contains data too large for a message, for example, a message with a picture, abstract, and a link to a full article or report. This topic describes how to define a card layout with group by report that displays a related set of data groups, for example, a weekly appointment calendar summary.
The card layout with group by report type can be displayed to an end-user when the URL for this report type is clicked in a message. In the following illustration, the message sent to the end-user contains a link to the card layout with group by report called My Calendar Weekly Summary. The message contains the title of the summary report, but not the detailed data.
Group By Calendar Report
When the user clicks the link in the message, a card layout with group by report is displayed with a detailed list of grouped items with a card header, optional card description, and a header row as shown in the following illustration for the My Calendar Weekly Summary report as a list of calendar appointments scheduled for the upcoming week.
Using Group By for the Report
To define a card layout with group by report
To complete the following procedure, you must have already defined a task, such as an alert task, or information task, that you want to add a card layout with group by report link to. Complete the steps in the following procedure to define a card layout with group by report.

  1. In Bot Builder, select the task for the Bot that you want to add a card layout with group by report link to.

    Note: Only unpublished tasks can be modified.

  2. Click the Settings  icon, and then click Edit.
  3. On the Bot Response tab for the task that you want to add a card layout with group by report to, click the Expand  icon for the Report Template Definition section.
  4. In the Link Title field, enter the link text to display to the end-user in the task post, for example, My Calendar Weekly Summary.
  5. In the Header field, enter the title of the report to display when the table report is displayed to the end-user, for example, My Calendar Weekly Summary Report.
  6. In the Details field, optionally enter any end-user help information displayed directly below the Header in the report, for example, Here are the description details for my Today’s Summary card layout report.
  7. In the Template drop-down list, select Card Layout With Group By.
  8. Click Edit Template. The Card Layout Configuration dialog is displayed.
  9. In the Card Title text area, enter your custom JavaScript to display the title data for your card, for example, a static title such as print("Today's Summary Report"); or you can use payload keys, for example, print(summary);.
  10. Click Add Item. The Item Configuration dialog is displayed as shown in the following illustration.
    Card Layout with Group By - Item Configuration Dialog
  11. In the Item Name field, enter the first column title, for example, When.
  12. In the  Data Type field, select one of the following data types for the information displayed in the column:
    1. String
    2. Number
    3. Date
  13. Enable Is a link if the data in the column is a hyperlink. When enabled:
    1. In the Link Label field, enter the JavaScript to display the text for the link, for example, print(date); .
    2. In the URL Value field, enter the JavaScript to display the data to output when the Link Label is clicked, for example, print("" + date);
  14. If Is a link is not enabled, then enter the JavaScript to display the value for the column in the Item Value text area, for example,
    if (typeof (date) !== 'undefined') {
     if (date.length > 200) {
     print(date.substr(0, 100) + " ... more");
     } else {
  15. In the Display it as an image section, select Yes if the column value is an image.
  16. In the Display it as HTML section, select Yes if the column value contains HTML content.
  17. In the Group by this column section, click Yes if the report items are to be grouped by this item.
  18. In the Action Payload Key Mapping field, you can display a response key as a link by mapping an action response key, for example, createdDate, to the Item Value field displayed to the end-user as the item When as shown in the previous illustration.
  19. Click Done. The Card Layout Configuration dialog is displayed with the new column added as shown in the following illustration.
    Card Layout with Group By Report - Card Layout Configuration DIalog
  20. Repeat Steps 10 – 19 for each additional column in the report, click Save to save the column configurations, and then click Close.
  21. In the Report Template Definition section, click Save to save the card layout with group by report.

The table is saved Successfully saved response data message is displayed at the top of the page.