Skip to main content

#Vlocity16 人がディスカッション中

Hey there,

 

I need to add a text block to one of the steps in my omniscript, but for some reason heading and text block aren't available to use or appear in the display selection... I only see line break. 

 

What do I need to enable to use these?

 

Omniscript designer missing text block and heading

28 件の回答
  1. 2023年7月18日 22:41

    I got an answer from a salesforce dev that solves this for me.

     

    "Once you are in discovery framework mode all of the supported elements need to be created as questions - i.e. they are no longer available in the omniscript designer since you are building a discovery framework assessment and the supported elements need to be represented as questions."

     

    That totally explains why, just a shame there is no documentation that I could find to tell me that in the first place :/

0/9000

I am calling an Integration Procedure from an LWC within an Experience Site, which subsequently calls a Data Mapper to query the "Reference Number" field on the Lead object. 

 

I am encountering the following error: "

Specify a valid bundle name for the Data Mapper and try again.

" 

 

I have already attempted the following troubleshooting steps: 

 

  • Shared the Lead with the guest user via sharing rules and provided the necessary field-level access. 

     

  • Enabled the "Enable consumers and partners to execute OmniScripts, DRs, and Cards through a Community or off-platform" setting for the guest user profile. 

     

Does anyone have any suggestions on how to resolve this? 

 

#Salesforce Developer #Omnistudio #Vlocity

5 件の回答
  1. 10月19日 20:32

    @Mahesh Gurjar ... Hi! Did you resolve this problem? We are having the same problem and have not found the answer yet. We even have some non-admin accounts where everything works and yet some other profiles it won't work.

0/9000

Context: 

  • Uploaded a csv file as a data stream in data cloud
  • Data Lake Object successfully mapped to Data Model Object

Goal: 

  • Display the record data from Data Cloud in a Flexcard on another object in our SF org. 

Problem: 

  • Can't figure out how to access the record data in the DLO or DMO with Data Mapper or Integration Procedure. 
  • The best I could figure out what how to return the DLO itself via the DataLakeObjectInstance object.
  • Can't find any good documentation or examples to walk through this use case. 

How do I configure an Omnistudio Data Mapper or Integration Procedure to pull record data from Data Cloud?

 

image.png

 

 

 

#Vlocity

1 件の回答
  1. 10月10日 13:26

    @Alan Mccarthy DataLakeObjectInstance is the catalog row for the lake object, not the CSV rows. A Data Mapper Extract only queries Salesforce objects, and a DMO is not one of those. That is why the mapper never lists your records.

    Read the DMO from an Integration Procedure, with a Data Cloud query, as a user who can query that data space. Map that response into the FlexCard. Leave DataLakeObjectInstance out of it.

    If the card sits on a Salesforce record and you only need the rows for that record, relate the DMO back to it with a key you already have, and query with that key. A mapper on the CRM object still will not see the lake.

0/9000

Hi everyone. 

 

I'm having an issue checking out carts using the 'checkout' method on CpqAppHandler on  Vlocity  CMT version 900.644 . 

 

To be clear, the error happens in any king of the CpqAppHandler 'checkout' method execution (Omniscripts, Integration Procedures, etc) , but to be able to provide example I'll share the execution output of this Anonymous execution: 

 

Map<String, Object> params = new Map<String,Object>();params.put('cartId', '801Ha00000vHCVOIA4');params.put('ContextId', '801Ha00000vHCVOIA4');Map<String,Object> output = new Map<String,Object>();Map<String,Object> options =  new Map<String,Object>();Map<String, Object> cpqConfigurationSettings = new Map<String,Object>(); cpqConfigurationSettings.put('EnableCoreLogs', true);params.put('cpqConfigurationSettings', cpqConfigurationSettings);vlocity_cmt.CpqAppHandler handler = new vlocity_cmt.CpqAppHandler();handler.invokeMethod('checkout', params, output, options);System.debug(JSON.serialize(params));System.debug(JSON.serialize(output));System.debug(JSON.serialize(options));

 

The execution puts this content on `output`:

{  "messages": [    {      "message": "Illegal assignment from String to Date",      "messageId": "INVOKE-500",      "code": "INVOKE-500",      "severity": "ERROR"    }  ],  "totalSize": 0}

 

This error is preceded by this SOQL Execution, but I could not find anything related to it. 

 

16:56:26.442 (6442719116)|VARIABLE_SCOPE_BEGIN|[5]|this|vlocity_cmt.CpqGetSObjectService|true|false16:56:26.442 (6442783560)|VARIABLE_ASSIGNMENT|[5]|this|{}|0x29112d2d16:56:26.442 (6456785749)|SOQL_EXECUTE_BEGIN|[104]|Aggregations:0|SELECT Id, vlocity_cmt__ReferenceNumber__c FROM vlocity_cmt__ContractVersionDiscount__c WHERE vlocity_cmt__ContractVersionId__c in ('') AND (vlocity_cmt__EffectiveStartDate__c = null OR vlocity_cmt__EffectiveStartDate__c < 2026-06-16T19:56:26.623Z) AND (vlocity_cmt__EffectiveEndDate__c = null OR vlocity_cmt__EffectiveEndDate__c > 2026-06-16T19:56:26.623Z) ORDER BY LastModifiedDate ASC NULLS FIRST 16:56:26.442 (6461966408)|SOQL_EXECUTE_EXPLAIN|[104]|Index on ApexExecutionOverlayAction : [ScopeId], cardinality: 0, sobjectCardinality: 1, relativeCost 016:56:26.442 (6461979879)|SOQL_EXECUTE_END|[104]|Rows:016:56:26.470 (6470312090)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:1216:56:26.470 (6470395297)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:816:56:26.470 (6470410031)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:816:56:26.470 (6470460485)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:1616:56:26.470 (6470468450)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:1616:56:26.470 (6470557616)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:1916:56:26.470 (6470565148)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:32 

 

I could not find any assignment from String to Date on the Field Mapper for OrderItem to Asset definition. Or anywhere else. 

 

I would like some guidance on how can I solve this issue. If you need more information about something related to the environment in use, let me know. 

 

Thank you for your attention and time. 

 

 

 

#Vlocity

1 件の回答
  1. 10月10日 13:17

    @Augusto Sigolo that SOQL is a dead end. It returned zero rows, and it already compares dates. The exception is Apex inside the managed checkout, assigning a string into a Date field. You cannot patch CpqAppHandler.

    Checkout walks more than the OrderItem to Asset mapper. It also applies attribute-to-field bindings. The usual case is a product attribute whose value type is Text, mapped onto a Date field. The attribute JSON stores the value as text even when it looks like a date.

    On a cart that fails, open the line attribute JSON and look for a date-shaped string on an attribute bound to a Date field. Fix the attribute value type, or stop mapping that attribute onto the Date field. A string in that JSON throws this on every checkout path, which matches what you are seeing.

0/9000

Hi all, 

 

I'm getting an error message, when previewing my omniscript - specifically on the data mapper post action: "Required fields are missing: [Name]". 

 

 I am trying to update a custom field on the Quote object. When previewing it in the data mapper itself, it updates the records fine. However when previewing in omniscript it throws an error. Does anyone have any insights into this? 

 

NOTE - Omniscript is sample "Single Doc Core - DOCX Serverside(LWC)" with few additional steps.  

Error on Data Mapper Post Action in Omniscript

 

 

 

#Vlocity

1 件の回答
  1. 10月10日 13:11

    @Mahdi Ahbab the mapper preview updates because your test input has the Quote Id. The OmniScript is not sending that Id, so Salesforce tries to insert a Quote, and a new Quote requires Name.

    In the OmniScript preview debug, look at the JSON going into that Post action. If Id is missing, or it sits under a different node than the mapper expects, that is the insert. Map the Quote Id from the script into the mapper input and use it as the upsert key. Do not send Name unless you actually want a new Quote.

    The sample Single Doc Core script has its own data JSON. An extra step will not put Id where the mapper looks unless you mapped that node. The mapper itself is fine. You already proved that in its own preview.

0/9000

I'm in an org using Omnistudio managed package, which means my LWCs do not have the ability to extend NavigationMixin, which would allow the use of OmniNextStep() 

 

According to

https://help.salesforce.com/s/articleView?id=xcloud.os_create_and_map_data_inside_the_custom_lwc_element.htm&type=5

 

 

it appears the only thing I am able to do is bubble an event to pass data. My LWC has a button, and the result of that button has data get bubbled up via an event. 

 

I would like my Omniscript to navigate to the next available step (Or a specific one if necessary) but do not know how to do that. Is it possible? Why would the managed package not give us the ability to let a standalone lwc navigate us to any extent? 

 

#Omnistudio  #Vlocity  #LWC

1 件の回答
  1. 10月6日 10:07

    Hi Michael, 

     

    You don't need NavigationMixin — you need OmniscriptBaseMixin, which is purpose-built for exactly this (works with the managed package too). Your Custom LWC should import and extend it; that gives you omniNextStep(), omniPrevStep(), and omniNavigateTo(step) directly, no event bubbling required. 

     

    ```js 

    import { OmniscriptBaseMixin } from 'vlocity_cmt/omniscriptBaseMixin'; // or your org's namespace 

     

    export default class MyCustomLwc extends OmniscriptBaseMixin(LightningElement) { 

        nextButton(evt) { 

            this.omniNextStep(); 

        } 

     

        goToStep(evt) { 

            this.omniNavigateTo(this.omniScriptHeaderDef.asIndex + 1); // or a step element name as a string 

        } 

    } 

    ``` 

     

    Notes: 

    - omniNavigateTo(step) accepts either a numeric step index or a step's element name as a string. 

    - You can't auto-advance more than one step ahead with omniNavigateTo — it's restricted to adjacent navigation for state-integrity reasons. 

    - The same mixin also gives you methods to read/update the OmniScript's data JSON directly from your component, so you likely don't need the event-bubbling approach at all for data passing either — that's really meant for parent-to-child communication patterns, not LWC-to-OmniScript control. 

     

    To your "why doesn't the managed package allow it" question: it does — this isn't a restriction, it's just that NavigationMixin (the generic Salesforce page-navigation API) was never the right tool here. OmniscriptBaseMixin is the namespaced, OmniStudio-specific equivalent that handles step navigation plus data sync, which NavigationMixin was never designed to do. 

     

    Reference:

    https://help.salesforce.com/s/articleView?id=xcloud.os_extend_the_omniscriptbasemixin_component_17717.htm&language=en_US&type=5

0/9000

I was trying to test out the OmniscriptBaseMixin for my custom LWC that I created, but everytime I try to implement it, it does not work. This is the code:  import { LightningElement } from 'lwc';

import { OmniscriptBaseMixin } from 'omnistudio/omniscriptBaseMixin';

 

export default class TestOmniMixin extends OmniscriptBaseMixin(LightningElement) {

    connectedCallback() {

        console.log('testOmniMixin omniJsonData:', this.omniJsonData);

    }

}    Essentially when I try to add it to my omniscript and I click on preview it just loads forever. And never starts the code. I am not sure what is wrong with it.     Thank you to anyone that can help!    

3 件の回答
  1. 2025年12月19日 17:21

    Hi @Madeline Knecht

    - OmniscriptBaseMixin only works inside an OmniScript runtime. If you access omniJsonData in connectedCallback, the preview hangs  

     

    • Use the LWC only inside an OmniScript
    • Don’t use connectedCallback
    • Access data in renderedCallback instead
    • Make sure the OmniScript type is LWC and you’re previewing the OmniScript, not the LWC

    import { LightningElement } from 'lwc';

    import { OmniscriptBaseMixin } from 'omnistudio/omniscriptBaseMixin';

    export default class TestOmniMixin extends OmniscriptBaseMixin(LightningElement) {

    renderedCallback() {

    console.log('omniJsonData:', this.omniJsonData);

    }

    }

0/9000

Hi everyone,

I have an OmniScript with 10 steps/screens, and each screen has a custom LWC Continue button.

My requirement is:

  • User is currently on Step 7.
  • Step 7 has another button (e.g., Edit Personal Information).
  • When the user clicks this button, I navigate the user back to Step 2.
  • The data on Step 2 is already populated, so the user can review/update it.
  • When the user clicks the Continue button on Step 2, I want to navigate the user directly back to Step 7, instead of continuing through Steps 3 → 4 → 5 → 6.
  • All navigation buttons are implemented using custom LWC components.

Question:

Is there a supported way in OmniScript/LWC to navigate directly from Step 2 back to a specific later step (Step 7) of the same parent OmniScript?

I have looked into OmniScript navigation methods, but I haven't found a supported method that allows me to specify a particular step/index to navigate to.

Has anyone implemented a similar Edit → navigate back to the original step

pattern in OmniScript? If so, what would be the recommended approach?  

#Omnistudio #Salesforce Developer #Vlocity #Financial Services Cloud #Trailhead

3 件の回答
  1. 9月29日 12:22

    Hi @Rahul Khedkar

     

    A common supported approach is to keep the navigation state in the parent OmniScript and treat Step 2 as an edit mode rather than trying to make the Step 2 Continue button directly jump to an arbitrary step index. When Step 7 opens Step 2, store a flag such as returnToStep7 = true in the OmniScript data JSON. Then, on Step 2 Continue, your custom LWC can check that flag and invoke the parent OmniScript navigation logic to return to Step 7; otherwise, it follows the normal Step 2 → Step 3 flow. This avoids hard-coding unsupported step-index navigation inside the LWC and works well for an Edit → Return pattern. If you share your current custom LWC navigation code, I can show the exact implementation for your OmniScript.

0/9000

Hi Everyone, 

 

I am facing an issue with OmniStudio OmniScript in Experience Cloud. 

 

Issue:

The OmniScript works correctly in Preview mode, but inside the Experience Site the component area remains completely blank. 

 

What I Have Already Verified: 

* OmniScript is Active 

* OmniScript is added correctly in Experience Builder 

* Type/Subtype/Language are correct 

* Runtime permissions are assigned 

* OmniStudio permission sets assigned to Experience User 

* No browser console errors now 

* Using $Vlocity.UserId in Data Mapper Input Parameters 

* DataRaptor and Integration Procedure are working in Preview 

* Site is published 

* Cache cleared 

* Community user has permissions 

 

-- Still, the OmniScript itself does not render. 

 

Has anyone faced this issue where OmniScript works in Preview but shows blank in Experience Cloud? 

 

@* Experience Cloud * 

2 件の回答
  1. 9月29日 7:25

    Hii  

       Ritik, 

     

    Preview runs as an admin, but the site runs as your community user. A blank component with no console error usually means the OmniScript's definition or first data call failed for that user, so it is an access problem.

      

    Please try these in order: 

     

    1. Reset the component. In Experience Builder, set Type, SubType and Language again by hand. By default the component picks the first active OmniScript. Then publish.
    2. Redeploy. Deactivate and activate the OmniScript. On the managed package designer with standard runtime, click Deploy Standard Runtime Compatible LWC. Publish the site again.
    3. Isolate the cause. Clone the OmniScript and remove the first prefill Data Mapper or Integration Procedure. If the clone renders, the problem is access for those calls.
    4. Check user-context access. With DefaultRequiredPermission set in OmniInteractionConfig, Data Mappers run as the user and need the required custom permission. The community user needs Read access to all objects and fields used, sharing access to the records, and Apex class access for any classes called.
    5. Find the real error. Use "Log in to Experience as User" on the live site, then check the Network tab and a debug log for that user.
    6. If the site is LWR, confirm OmniStudio standard runtime is enabled. If it still fails, open a case with Salesforce Support.

    Is your site Aura or LWR, and are the users logged in or guests?

    https://help.salesforce.com/apex/HTViewHelpDoc?id=xcloud.os_add_your_omniscript_to_an_experience_page_19992.htm

0/9000

Hi all, 

I am using the OmniStudio Document Template Designer to update a current packing slip. I replaced a line in the actual text of the document, so nothing essential to the functionality. I made a new version of it and then replaced the file with my edited version. When I try to do that, it throws this error:  

Exception (400): List has no rows for assignment to SObject when saving OmniStudio Document Template

I've been trying to troubleshoot this for a bit and cannot seem to figure out the problem. Would anyone know how I can troubleshoot more or potentially fix this? 

Thank you! 

 

 

 

#Vlocity

3 件の回答
  1. 9月29日 6:56

    1. Adding DocGen Designer Permission set. 

    2. File > Library > Docgen Document Template Library > Manage Members > Adding your account as library administrator.

0/9000