Loading
Salesforce now sends email only from verified domains. Read More
Communications Cloud
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Customization Reference for the Billing and Usage Assistant Lightning Web Components

          Customization Reference for the Billing and Usage Assistant Lightning Web Components

          Build and modify Billing and Usage Assistant with these Lightning Web Components (LWCs).

          Important
          Important Billing and Usage Assistant will be deprecating in Summer `26. This feature is replaced by an Agentforce-based version in the Summer '25 release. To use the Agentforce-based version of this feature, see Agentforce for Communications Billing Resolution.
          Lightning Web Component Description Required Input Sample Input (Default Configuration) Output Customization Information

          CommsOmniCombobox

          Used to create the Inquiry Type dropdown.

          A node with options.

          [{
                          "label": "Unexpected Bill Amount Inquiry",
                          "value": "HighBill"
                      },
                      {
                          "label": "Data Consumption Inquiry",
                          "value": "DataConsumptionInquiry"
                      },
                      {
                          "label": "Call Usage Inquiry",
                          "value": "CallUsageInquiry"
                      },
                      {
                          "label": "Payments and Balance Inquiry",
                          "value": "PaymentsBalanceInquiry"
                      }]
          Four options in the Inquiry Type dropdown.

          To add placeholder text to the Inquiry Type dropdown, add the

          defaultvalue input node with your default option. In the user interface, this text is replaced by your input when you select an inquiry type. For example, to configure Unexpected Bill Amount Inquiry as the placeholder option, add defaultvalue as HighBill. This configuration creates a BillingInquiryAssistantSelect node in the OmniJSON script:

          {
          "BillingInquiryAssistantSelect" : "HighBill",
          "SelectedInquiryTypeLabel" : "Unexpected Bill Amount Inquiry"
          }

          CommsOmniscriptDataTable

          Used to show invoices in a tabular format to convey billing information. Columns and rows

          Here's the default configuration of the columns:

          [
                      {
                          "fieldName": "billNo",
                          "label": "Bill No",
                          "type": "text",
                          "sortable": true
                      },
                      {
                          "fieldName": "billDate",
                          "label": "Bill Date",
                          "type": "date",
                          "sortable": true
                      },
                      {
                          "fieldName": "amountDueValue",
                          "label": "Bill Amount",
                          "type": "currency",
                          "sortable": true,
                          "typeAttributes": {
                              "currencyCode": "EUR",
                              "step": "0.01"
                          }
                      }
           ]

          Here's the default configuration of the rows:

          [
              {
                "billNo": "780123454",
                "category": "normal",
                "id": "CB-121",
                "state": "paid",
                "appliedAmountUnit": "EUR",
                "paymentDueDate": "2023-08-15T00:00:00.000Z",
                "nextBillDate": "2023-09-05T12:00:00.000Z",
                "amountDue": {
                  "value": 52,
                  "unit": "EUR"
                },
                "appliedPayment": [
                  {
                    "appliedAmount": {
                      "value": 52,
                      "unit": "EUR"
                    }
                  }
                ],
                "billDate": "2023-08-05T12:00:56.982Z",
                "amountDueValue": 52,
                "billingPeriod": "monthly",
                "billDocument": [
                  {
                    "id": "DOC_1233",
                    "href": "http://server:port/tmfapi/Document_Management/v5/document/DOC_1233",
                    "attachmentType": "application/pdf",
                    "content": "bill",
                    "description": "Regular Monthly Bill",
                    "mimeType": "application/pdf",
                    "size": 172851,
                    "url": "https://techdicer.com",
                    "validfor": {
                      "startDateTime": "2023-08-05T12:00:56.982Z"
                    },
                    "@type": "Attachment"
                  }
                ],
                "appliedAmountValue": 52
              }
          ]

          When you select a row in the table, the details of that row are stored in the selectedRow node in the OmniJSON data for further processing.

          [
            {
              "billNo": "780123457",
              "category": "normal",
              "id": "CB-124",
              "state": "paid",
              "appliedAmountUnit": "EUR",
              "paymentDueDate": "2023-11-15T00:00:00.000Z",
              "nextBillDate": "2023-12-05T12:00:00.000Z",
              "amountDue": {
                "value": 239,
                "unit": "EUR"
              },
              "appliedPayment": [
                {
                  "appliedAmount": {
                    "value": 239,
                    "unit": "EUR"
                  }
                }
              ],
              "billDate": "2023-11-05T12:00:56.982Z",
              "amountDueValue": 239,
              "billingPeriod": "monthly",
              "billDocument": [
                {
                  "id": "DOC_1236",
                  "href": "http://server:port/tmfapi/Document_Management/v5/document/DOC_1236",
                  "attachmentType": "application/pdf",
                  "content": "bill",
                  "description": "Regular Monthly Bill",
                  "mimeType": "application/pdf",
                  "size": 172851,
                  "validfor": {
                    "startDateTime": "2023-11-05T12:00:56.982Z"
                  },
                  "@type": "Attachment"
                }
              ],
              "appliedAmountValue": 239
            }
          ]
          • To configure the maximum number of rows (bills) that you can select in the table, add the max-row-selection attribute. For example, configure the value as two.

          • To organize and show bills based on a specific criterion or preference, configure the sort-by attribute and add the criterion as its value. For example, you can configure the sorting functionality to show bills in descending order based on their bill amount. Set the sort-by attribute as amountDueValue and the sort-direction attribute as desc.

          commsDateRangeSelection

          Used to select the date range.

          Sets the selectedToDate and selectedFromDate nodes in the OmniJSON:

          {selectedToDate: '2024-03-20T10:07:46', selectedFromDate: '2024-03-01T00:00:00'}

          commsMonthRangeSelection

          Used to select a range of bills and payments for analysis. You can select any number within the configured range, including the lower and upper limits. minimummonth defines the lower limit of the selection range and maximummonth defines the upper limit of the selection range.

          minimummonth : 1

          maximummonth: 6

          The selected number becomes the value of selectedMonthRange in the OmniJSON. For example, you can set the attribute minimummonth as 1 and the attribute maximummonth as 12. If you select 10 as the month range, then 10 becomes the value of selectedMonthRange in the OmniJSON.

          commsBillingInquiryOmniNavigation

          Used for custom navigation within the Omniscript. With this LWC, you can go back to any previous step, but you can't go to any next step. stepname ClearSelectedData

          commsEinsteinConversation

          Used for Einstein Large Language Model (LLM) conversations of the service agent. With this LWC, the agent can ask questions to Einstein relevant to the selected inquiry type.

          usageData—the list of service usage records for the selected inquiry type.

          [
              {
                  "usageType": "Voice",
                  "taxIncludedRatingAmountValue": 12,
                  "destinationNumber": "170123456789",
                  "taxExcludedRatingAmountValue": 10,
                  "durationUnit": "SEC",
                  "destinationCountryCode": "49",
                  "originatingNumber": "676123456789",
                  "usageDateTime": "2023-10-20T17:00:00.000Z",
                  "originatingCountryCode": "43",
                  "taxRate": 20,
                  "taxAmountUnit": "EUR",
                  "duration": 20
              },
              {
                  "usageType": "Voice",
                  "taxIncludedRatingAmountValue": 12,
                  "destinationNumber": "170123456789",
                  "taxExcludedRatingAmountValue": 10,
                  "durationUnit": "SEC",
                  "destinationCountryCode": "49",
                  "originatingNumber": "676123456789",
                  "usageDateTime": "2023-10-10T17:00:00.000Z",
                  "originatingCountryCode": "43",
                  "taxRate": 20,
                  "taxAmountUnit": "EUR",
                  "duration": 30
              }
          ]

          gptResponse:

          {
              "response": "The top 5 charges are:\n\n1. Destination number 1799999999, duration 50 minutes, charge 200 EUR\n2. Destination number 990123467789, duration 5 minutes, charge 15 EUR\n3. Destination number 170123456789, duration 30 seconds, charge 12 EUR\n4. Destination number 170123456789, duration 20 seconds, charge 12 EUR\n5. Destination number 676123456789, duration 30 seconds, charge 10 EUR\n\nAnalysis: The majority of the bill is due to the call made to the number 1799999999, which lasted for 50 minutes and cost 200 EUR. The next highest charge is for a call made to the number 990123467789, which lasted for 5 minutes and cost 15 EUR. The other charges are relatively small in comparison.\n\nRecommendation: To reduce their bill in the future, the customer should try to limit the amount of time they spend on long-distance calls, especially to numbers that charge high rates. They could also consider using a different service provider or plan that offers lower rates for international calls."
          }

          You can modify the EinsteinGPT

          llmParameters:

          {
              "maxTokens" : 2000,
              "model" : "gpt-3.5-turbo-1106",
              "enablePiiMasking" : true
          }
           
          Loading
          Salesforce Help | Article