Adaptive Cards with Microsoft Teams – JSON Templates Part 4

In a continuation of my earlier article, Adaptive Cards with Microsoft Teams with Examples, we continue with the details of how to create these Adaptive Cards authored with JSON templates. The templates can be used as-is, edited to suit your organization’s needs, or used as a launching point to customize your templates.

Samples and Templates of Adaptive Cards for Microsoft Teams

This is exciting as these select samples and templates are created and offered for Microsoft Teams to show what you can create. These can be copied, edited, and tweaked to create limitless scenarios.

Expense Report with Labels

Data JSON:

{
  "code": "ER-13052",
  "message": "success",
  "created_by_name" : "Matt Hidinger",
  "created_date" : "2019-07-15T18:33:12+0800",
    "submitted_date": "2019-04-14T18:33:12+0800",
    "creater_email" : "[email protected]",
  "status" : "Pending",
    "status_url" : "https://adaptivecards.io/content/pending.png",
  "approver": "Thomas",
    "purpose" : "Trip to UAE",
  "approval_date" : "2019-07-15T22:33:12+0800",
    "approver" : "Thomas",
    "approver_email" : "[email protected]",
    "other_submitter" : "David", 
    "other_submitter_email" : "[email protected]", 

  "expenses": [
    {
      "expense_id": "16367000000083065",
            "approver" : "Thomas",
      "date": "2017-02-21",
      "description": "Air Travel Expense",
      "created_by": "636965431200000000",
      "created_by_name": "PATRICIA",
      "employee_number": "E001",
      "currency_id": "16367000000000097",
      "currency_code": "USD",
      "paid_through_account_id": "16367000000036003",
      "paid_through_account_name": "Employee Reimbursements",
      "bcy_total": 13900.79,
      "bcy_subtotal": 13900.79,
      "total": 300,
      "total_without_tax": 300,
      "is_billable": true,
      "is_reimbursable": true,
      "reference_number": "DD145",
      "due_days": "Due in 15 days",
      "merchant_id": "16367000000074027",
      "merchant_name": "ABS Solutions",
      "status": "approved",
      "created_time": "2019-06-19T18:33:12+0800",
      "last_modified_time": "2017-02-21T18:42:46+0530",
      "receipt_name": "receipt1.jpg",
      "report_id": "16367000000083075",
      "mileage_type": "non_mileage",
      "report_name": "Purchase",
      "is_receipt_only": false,
      "distance": 0,
      "per_diem_rate": 0,
      "per_diem_days": 0,
      "per_diem_id": "",
      "per_diem_name": "",
      "expense_type": "non_mileage",
      "location": "Washington",
      "receipt_type": "jpg",
      "policy_violated": false,
      "comments_count": 0,
      "report_status": "submitted",
      "price_precision": 2,
      "mileage_rate": 0,
      "mileage_unit": "km",
      "receipt_status": "processed",
      "is_uncategorized": false,
      "is_expired": false,
      "gl_code": "LG001",
      "exchange_rate": 66.943366,
      "start_reading": "",
      "end_reading": "",
      "payment_mode": "Check",
      "customer_id": "27927000000075081",
      "customer_name": "ACME Corp.",
      "custom_fields": [
        {
          "customfield_id": "16367000000277001",
          "label": "Other Name",
          "value": "Leg 1 on Tue, Jun 19th, 2019 at 6:00 AM."
        },
        {
          "customfield_id": "16367000000277001",
          "label": "Other Name",
          "value": "Leg 2 on Tue, Jun 19th, 2019 at 7:15 PM."
        }				
      ],
      "project_id": "27927000001243001",
      "project_name": "Coffee Research",
      "transaction_description": "",
      "tax_id": "16367000000086001",
      "tax_name": "Sales Tax",
      "tax_percentage": 2,
      "amount": 207.65,
      "is_inclusive_tax": false,
      "vehicle_type": "Bike",
      "vehicle_id": "17456000000078029",
      "fuel_type": "lpg",
      "engine_capacity_range": "between_1401cc_and_1600cc",
      "is_personal": false,
      "policy_id": "16367000000092011",
      "policy_name": "LIC",
      "documents": [
        {
          "file_name": "receipt1.jpg",
          "file_size_formatted": "71.8 KB",
          "attachment_order": 1,
          "document_id": "16367000000083071"
        }
      ],
      "reimbursement_reference": "",
      "reimbursement_date": "",
      "reimbursement_paid_through_account_id": "",
      "reimbursement_paid_through_account_name": "",
      "reimbursement_currency_id": "",
      "reimbursement_currency_code": ""
    },
    {
      "expense_id": "16367000000083065",
      "date": "2019-06-19",
      "description": "Auto Mobile Expense",
      "created_by": "636965431200000000",
      "created_by_name": "PATRICIA",
      "employee_number": "E001",
      "currency_id": "16367000000000097",
      "currency_code": "USD",
      "paid_through_account_id": "16367000000036003",
      "paid_through_account_name": "Employee Reimbursements",
      "bcy_total": 13900.79,
      "bcy_subtotal": 13900.79,
      "total": 100,
      "total_without_tax": 100,
      "is_billable": true,
      "is_reimbursable": true,
      "reference_number": "DD145",
      "due_days": "Due in 15 days",
      "merchant_id": "16367000000074027",
      "merchant_name": "ABS Solutions",
      "status": "submitted",
      "created_time": "2019-06-19T18:33:12+0800",
      "last_modified_time": "2017-02-21T18:42:46+0530",
      "receipt_name": "receipt1.jpg",
      "report_id": "16367000000083075",
      "mileage_type": "non_mileage",
      "report_name": "Purchase",
      "is_receipt_only": false,
      "distance": 0,
      "per_diem_rate": 0,
      "per_diem_days": 0,
      "per_diem_id": "",
      "per_diem_name": "",
      "expense_type": "non_mileage",
      "location": "Washington",
      "receipt_type": "jpg",
      "policy_violated": false,
      "comments_count": 0,
      "report_status": "submitted",
      "price_precision": 2,
      "mileage_rate": 0,
      "mileage_unit": "km",
      "receipt_status": "processed",
      "is_uncategorized": false,
      "is_expired": false,
      "gl_code": "LG001",
      "exchange_rate": 66.943366,
      "start_reading": "",
      "end_reading": "",
      "payment_mode": "Check",
      "customer_id": "27927000000075081",
      "customer_name": "ACME Corp.",
      "custom_fields": [
        {
          "customfield_id": "16367000000277001",
          "label": "Other Name",
          "value": " Contoso Car Rentrals, Tues 6/19 at 7:00 AM"
        }
      ],
      "project_id": "27927000001243001",
      "project_name": "Coffee Research",
      "transaction_description": "",
      "tax_id": "16367000000086001",
      "tax_name": "Sales Tax",
      "tax_percentage": 2,
      "amount": 207.65,
      "is_inclusive_tax": false,
      "vehicle_type": "Bike",
      "vehicle_id": "17456000000078029",
      "fuel_type": "lpg",
      "engine_capacity_range": "between_1401cc_and_1600cc",
      "is_personal": false,
      "policy_id": "16367000000092011",
      "policy_name": "LIC",
      "documents": [
        {
          "file_name": "receipt1.jpg",
          "file_size_formatted": "71.8 KB",
          "attachment_order": 1,
          "document_id": "16367000000083071"
        }
      ],
      "reimbursement_reference": "",
      "reimbursement_date": "",
      "reimbursement_paid_through_account_id": "",
      "reimbursement_paid_through_account_name": "",
      "reimbursement_currency_id": "",
      "reimbursement_currency_code": ""
    },
    {
      "expense_id": "16367000000083065",
      "date": "2019-06-21",
      "description": "Excess Baggage Cost",
      "created_by": "636967159200000000",
      "created_by_name": "PATRICIA",
      "employee_number": "E001",
      "currency_id": "16367000000000097",
      "currency_code": "USD",
      "paid_through_account_id": "16367000000036003",
      "paid_through_account_name": "Employee Reimbursements",
      "bcy_total": 13900.79,
      "bcy_subtotal": 13900.79,
      "total": 50.38,
      "total_without_tax": 4.3,
      "is_billable": true,
      "is_reimbursable": false,
      "reference_number": "DD145",
      "due_days": "Due in 15 days",
      "merchant_id": "16367000000074027",
      "merchant_name": "ABS Solutions",
      "status": "submitted",
      "created_time": "2019-06-21T18:33:12+0800",
      "last_modified_time": "2017-02-21T18:42:46+0530",
      "receipt_name": "receipt1.jpg",
      "report_id": "16367000000083075",
      "mileage_type": "non_mileage",
      "report_name": "Purchase",
      "is_receipt_only": false,
      "distance": 0,
      "per_diem_rate": 0,
      "per_diem_days": 0,
      "per_diem_id": "",
      "per_diem_name": "",
      "expense_type": "non_mileage",
      "location": "Washington",
      "receipt_type": "jpg",
      "policy_violated": false,
      "comments_count": 0,
      "report_status": "submitted",
      "price_precision": 2,
      "mileage_rate": 0,
      "mileage_unit": "km",
      "receipt_status": "processed",
      "is_uncategorized": false,
      "is_expired": false,
      "gl_code": "LG001",
      "exchange_rate": 66.943366,
      "start_reading": "",
      "end_reading": "",
      "payment_mode": "Check",
      "customer_id": "27927000000075081",
      "customer_name": "ACME Corp.",
      "custom_fields": [		   
      ],
      "project_id": "27927000001243001",
      "project_name": "Coffee Research",
      "transaction_description": "",
      "tax_id": "16367000000086001",
      "tax_name": "Sales Tax",
      "tax_percentage": 2,
      "amount": 207.65,
      "is_inclusive_tax": false,
      "vehicle_type": "Bike",
      "vehicle_id": "17456000000078029",
      "fuel_type": "lpg",
      "engine_capacity_range": "between_1401cc_and_1600cc",
      "is_personal": false,
      "policy_id": "16367000000092011",
      "policy_name": "LIC",
      "documents": [
        {
          "file_name": "receipt1.jpg",
          "file_size_formatted": "71.8 KB",
          "attachment_order": 1,
          "document_id": "16367000000083071"
        }
      ],
      "reimbursement_reference": "",
      "reimbursement_date": "",
      "reimbursement_paid_through_account_id": "",
      "reimbursement_paid_through_account_name": "",
      "reimbursement_currency_id": "",
      "reimbursement_currency_code": ""
    }
  ]
}

Template JSON: 

{
  "type": "AdaptiveCard",
  "body": [
    {
      "type": "Container",
      "style": "emphasis",
      "items": [
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "items": [
                {
                  "type": "TextBlock",
                  "size": "large",
                  "weight": "bolder",
                  "text": "**EXPENSE APPROVAL**",
                  "style": "heading"
                }
              ],
              "width": "stretch"
            },
            {
              "type": "Column",
              "items": [
                {
                  "type": "Image",
                  "url": "${status_url}",
                  "altText": "${status}",
                  "height": "30px"
                }
              ],
              "width": "auto"
            }
          ]
        }
      ],
      "bleed": true
    },
    {
      "type": "Container",
      "items": [
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "items": [
                {
                  "type": "TextBlock",
                  "size": "ExtraLarge",
                  "text": "${purpose}",
                  "wrap": true,
                  "style": "heading"
                }
              ],
              "width": "stretch"
            },
            {
              "type": "Column",
              "items": [
                {
                  "type": "ActionSet",
                  "actions": [
                    {
                      "type": "Action.OpenUrl",
                      "title": "EXPORT AS PDF",
                      "url": "https://adaptivecards.io"
                    }
                  ]
                }
              ],
              "width": "auto"
            }
          ]
        },
        {
          "type": "TextBlock",
          "spacing": "small",
          "size": "small",
          "weight": "bolder",
          "text": "[${code}](https://adaptivecards.io)"
        },
        {
          "type": "FactSet",
          "spacing": "large",
          "facts": [
            {
              "title": "Submitted By",
              "value": "**${created_by_name}**  ${creater_email}"
            },
            {
              "title": "Duration",
              "value": "${formatTicks(min(select(expenses, x, int(x.created_by))), 'yyyy-MM-dd')} - ${formatTicks(max(select(expenses, x, int(x.created_by))), 'yyyy-MM-dd')}"
            },
            {
              "title": "Submitted On",
              "value": "${formatDateTime(submitted_date, 'yyyy-MM-dd')}"
            },
            {
              "title": "Reimbursable Amount",
              "value": "$${formatNumber(sum(select(expenses, x, if(x.is_reimbursable, x.total, 0))), 2)}"
            },
            {
              "title": "Awaiting approval from",
              "value": "**${approver}**  ${approver_email}"
            },
            {
              "title": "Submitted to",
              "value": "**${other_submitter}**   ${other_submitter_email}"
            }
          ]
        }
      ]
    },
    {
      "type": "Container",
      "spacing": "large",
      "style": "emphasis",
      "items": [
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "items": [
                {
                  "type": "TextBlock",
                  "weight": "bolder",
                  "text": "DATE"
                }
              ],
              "width": "auto"
            },
            {
              "type": "Column",
              "spacing": "large",
              "items": [
                {
                  "type": "TextBlock",
                  "weight": "bolder",
                  "text": "CATEGORY"
                }
              ],
              "width": "stretch"
            },
            {
              "type": "Column",
              "items": [
                {
                  "type": "TextBlock",
                  "weight": "bolder",
                  "text": "AMOUNT"
                }
              ],
              "width": "auto"
            }
          ]
        }
      ],
      "bleed": true
    },
    {
      "$data": "${expenses}",
      "type": "Container",
      "items": [
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "${formatDateTime(created_time, 'MM-dd')}",
                  "wrap": true
                }
              ],
              "width": "auto"
            },
            {
              "type": "Column",
              "spacing": "medium",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "${description}",
                  "wrap": true
                }
              ],
              "width": "stretch"
            },
            {
              "type": "Column",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "$${formatNumber(total, 2)}",
                  "wrap": true
                }
              ],
              "width": "auto"
            },
            {
              "type": "Column",
              "spacing": "small",
              "selectAction": {
                "type": "Action.ToggleVisibility",
                "title": "expand",
                "targetElements": [
                  "cardContent${$index}",
                  "chevronDown${$index}",
                  "chevronUp${$index}"
                ]
              },
              "verticalContentAlignment": "center",
              "items": [
                {
                  "type": "Image",
                  "id": "chevronDown${$index}",
                  "url": "https://adaptivecards.io/content/down.png",
                  "width": "20px",
                  "altText": "Details collapsed"
                },
                {
                  "type": "Image",
                  "id": "chevronUp${$index}",
                  "url": "https://adaptivecards.io/content/up.png",
                  "width": "20px",
                  "altText": "Details expanded",
                  "isVisible": false
                }
              ],
              "width": "auto"
            }
          ]
        },
        {
          "type": "Container",
          "id": "cardContent${$index}",
          "isVisible": false,
          "items": [
            {
              "type": "Container",
              "items": [
                {
                  "$data": "${custom_fields}",
                  "type": "TextBlock",
                  "text": "* ${value}",
                  "isSubtle": true,
                  "wrap": true
                },
                {
                  "type": "Container",
                  "items": [
                    {
                      "type": "Input.Text",
                      "id": "comment${$index}",
                      "label": "Add your comment here"
                    }
                  ]
                }
              ]
            },
            {
              "type": "Container",
              "items": [
                {
                  "type": "ColumnSet",
                  "columns": [
                    {
                      "type": "Column",
                      "items": [
                        {
                          "type": "ActionSet",
                          "actions": [
                            {
                              "type": "Action.Submit",
                              "title": "Send",
                              "data": {
                                "id": "_qkQW8dJlUeLVi7ZMEzYVw",
                                "action": "comment",
                                "lineItem": 1
                              }
                            }
                          ]
                        }
                      ],
                      "width": "auto"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "type": "ColumnSet",
      "spacing": "large",
      "separator": true,
      "columns": [
        {
          "type": "Column",
          "items": [
            {
              "type": "TextBlock",
              "horizontalAlignment": "right",
              "text": "Total Expense Amount \t",
              "wrap": true
            },
            {
              "type": "TextBlock",
              "horizontalAlignment": "right",
              "text": "Non-reimbursable Amount",
              "wrap": true
            },
            {
              "type": "TextBlock",
              "horizontalAlignment": "right",
              "text": "Advance Amount",
              "wrap": true
            }
          ],
          "width": "stretch"
        },
        {
          "type": "Column",
          "items": [
            {
              "type": "TextBlock",
              "text": "$${formatNumber(sum(select(expenses, x, x.total)), 2)}"
            },
            {
              "type": "TextBlock",
              "text": "(-) $${formatNumber(sum(select(expenses, x, if(x.is_reimbursable, 0, x.total))), 2)} \t"
            },
            {
              "type": "TextBlock",
              "text": "(-) 0.00 \t"
            }
          ],
          "width": "auto"
        },
        {
          "type": "Column",
          "width": "auto"
        }
      ]
    },
    {
      "type": "Container",
      "style": "emphasis",
      "items": [
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "items": [
                {
                  "type": "TextBlock",
                  "horizontalAlignment": "right",
                  "text": "Amount to be Reimbursed",
                  "wrap": true
                }
              ],
              "width": "stretch"
            },
            {
              "type": "Column",
              "items": [
                {
                  "type": "TextBlock",
                  "weight": "bolder",
                  "text": "$${formatNumber(sum(select(expenses, x, if(x.is_reimbursable, x.total, 0))), 2)}"
                }
              ],
              "width": "auto"
            },
            {
              "type": "Column",
              "width": "auto"
            }
          ]
        }
      ],
      "bleed": true
    },
    {
      "type": "ColumnSet",
      "columns": [
        {
          "type": "Column",
          "selectAction": {
            "type": "Action.ToggleVisibility",
            "targetElements": [
              "cardContent4",
              "showHistory",
              "hideHistory"
            ]
          },
          "verticalContentAlignment": "Center",
          "items": [
            {
              "type": "TextBlock",
              "id": "showHistory",
              "horizontalAlignment": "right",
              "color": "accent",
              "text": "Show history",
              "wrap": true
            },
            {
              "type": "TextBlock",
              "id": "hideHistory",
              "horizontalAlignment": "right",
              "color": "accent",
              "text": "Hide history",
              "wrap": true,
              "isVisible": false
            }
          ],
          "width": 1
        }
      ]
    },
    {
      "type": "Container",
      "id": "cardContent4",
      "isVisible": false,
      "items": [
        {
          "type": "Container",
          "items": [
            {
              "type": "TextBlock",
              "text": "* Expense submitted by **${created_by_name}** on {{DATE(${formatDateTime(created_date, 'yyyy-MM-ddTHH:mm:ssZ')}, SHORT)}}",
              "isSubtle": true,
              "wrap": true
            },
            {
              "type": "TextBlock",
              "text": "* Expense ${expenses[0].status} by **${expenses[0].approver}** on {{DATE(${formatDateTime(approval_date, 'yyyy-MM-ddTHH:mm:ssZ')}, SHORT)}}",
              "isSubtle": true,
              "wrap": true
            }
          ]
        }
      ]
    },
    {
      "type": "Container",
      "items": [
        {
          "type": "ActionSet",
          "actions": [
            {
              "type": "Action.Submit",
              "title": "Approve",
              "style": "positive",
              "data": {
                "id": "_qkQW8dJlUeLVi7ZMEzYVw",
                "action": "approve"
              }
            },
            {
              "type": "Action.ShowCard",
              "title": "Reject",
              "style": "destructive",
              "card": {
                "type": "AdaptiveCard",
                "body": [
                  {
                    "type": "Input.Text",
                    "id": "RejectCommentID",
                    "label": "Please specify an appropriate reason for rejection",
                    "isMultiline": true,
                    "isRequired": true,
                    "errorMessage": "A reason for rejection is necessary"
                  }
                ],
                "actions": [
                  {
                    "type": "Action.Submit",
                    "title": "Send",
                    "data": {
                      "id": "_qkQW8dJlUeLVi7ZMEzYVw",
                      "action": "reject"
                    }
                  }
                ],
                "$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
              }
            }
          ]
        }
      ]
    }
  ],
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "version": "1.2",
  "fallbackText": "This card requires Adaptive Cards v1.2 support to be rendered properly."
}

Show Card Wizard

Data JSON:

{
  "formTitle": "Please provide the following information:",
  "nameCard": {
    "title": "Name",
    "idPrefix": "name",
    "fields": [
      {
        "label": "First Name",
        "id": "FirstName",
        "required": true
      },
      {
        "label": "Middle Name",
        "id": "MiddleName",
        "required": false
      },
      {
        "label": "Last Name",
        "id": "LastName",
        "required": true
      }
    ]
  },
  "addressCard": {
    "title": "Address",
    "idPrefix": "address",
    "textInputFields": [
      {
      "label": "Address line 1",
      "id": "addressLine1",
        "required": true
      },
      {
        "label": "Address line 2",
        "id": "addressLine2",
        "required": false
      }
    ],
    "columnFields": [
      {
        "label": "City",
        "id": "city",
        "required": false
      },
      {
        "label": "State",
        "id": "state",
        "required": false
      },
      {
        "label": "Zip Code",
        "id": "zip",
        "required": true
      }
    ]
  },
  "contactCard": {
    "title": "Phone/Email",
    "idPrefix": "contact",
    "fields": [
      {
        "label": "Mobile number",
        "id": "mobileNumber",
        "required": false
      },
      {
        "label": "Home number",
        "id": "homeNumber",
        "required": false
      },
      {
        "label": "Email address",
        "id": "emailAddress",
        "required": true
      }
    ]
  }
}

Template JSON: 

{
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "type": "AdaptiveCard",
    "version": "1.0",
    "body": [
        {
            "type": "TextBlock",
            "text": "${formTitle}",
            "wrap": true
        }
    ],
    "actions": [
        {
            "type": "Action.ShowCard",
            "title": "${nameCard.title}",
            "card": {
                "type": "AdaptiveCard",
                "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
                "body": [
                    {
                        "type": "Container",
                        "id": "${nameCard.idPrefix}Properties",
                        "items": [
                            {
                                "$data": "${nameCard.fields}",
                                "type": "Input.Text",
                                "label": "${label}",
                                "id": "${id}",
                                "isRequired": "${required}",
                                "errorMessage": "'${label}' is required"
                            }
                        ]
                    }
                ],
                "actions": [
                    {
                        "type": "Action.ShowCard",
                        "title": "${addressCard.title}",
                        "card": {
                            "type": "AdaptiveCard",
                            "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
                            "body": [
                                {
                                    "type": "Container",
                                    "id": "${addressCard.idPrefix}Properties",
                                    "items": [
                                        {
                                            "$data": "${addressCard.textInputFields}",
                                            "type": "Input.Text",
                                            "label": "${label}",
                                            "id": "${id}",
                                            "isRequired": "${required}",
                                            "errorMessage": "'${label} is required"
                                        },
                                        {
                                            "type": "ColumnSet",
                                            "columns": [
                                                {
                                                    "$data": "${addressCard.columnFields}",
                                                    "type": "Column",
                                                    "width": "stretch",
                                                    "items": [
                                                        {
                                                            "type": "Input.Text",
                                                            "label": "${label}",
                                                            "id": "${id}",
                                                            "isRequired": "${required}",
                                                            "errorMessage": "'${label}' is required"
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ],
                            "actions": [
                                {
                                    "type": "Action.ShowCard",
                                    "title": "${contactCard.title}",
                                    "card": {
                                        "type": "AdaptiveCard",
                                        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
                                        "body": [
                                            {
                                                "$data": "${contactCard.fields}",
                                                "type": "Input.Text",
                                                "label": "${label}",
                                                "id": "${id}",
                                                "isRequired": "${required}",
                                                "errorMessage": "'${label}' is required"
                                            }
                                        ],
                                        "actions": [
                                            {
                                                "type": "Action.Submit",
                                                "title": "Submit"
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    }
                ]
            }
        }
    ]
}

JSON Scripts and Templates: Microsoft.com

  • Tuesday, December 07, 2021 By : Mike Maadarani    0 comment