Blogs

custom-icon-to-a-tab-in-Salesforce

How to Add a Custom Icon to a Tab in Salesforce

Adding a custom icon to a Salesforce tab makes your org look more personalized and professional. It helps users visually identify tabs faster and creates a polished user experience. While Salesforce provides default icons out of the box, using your own custom icons can reinforce branding and improve navigation clarity. In this guide, we’ll walk you through a step-by-step process to upload and assign custom icons to your Salesforce tabs. These instructions apply to users with administrator access and should be followed carefully for a smooth outcome. Why Add a Custom Icon to Your Salesforce Tab? Custom icons enhance usability and brand consistency across your Salesforce interface. Icons are especially useful in orgs with many custom objects or apps, where visual recognition improves efficiency. A well-chosen icon lets users quickly locate specific areas of your system without relying solely on text. In modern Lightning Experience, tailored icons contribute to a cleaner, more intuitive UI that aligns with your organization’s style and workflows. 🔹 Step 1: Upload Your Icon 🔹 Step 2: Assign the Icon to Your Custom Tab 🎉 Step 3: View Your Custom Tab Open your custom object tab in Salesforce — your personalized icon now appears beautifully beside the tab name! Best Practices for Custom Tab Icons Use Appropriate Image Formats and Sizes Typically, Salesforce tab icons work best when they are optimized for web usage. A lightweight PNG or SVG that’s visually clear at small sizes ensures fast loading and crisp display. Keeping files under 20 KB is recommended to avoid performance delays. Maintain Consistency Across UI Elements Your custom icons should match your overall Salesforce color scheme and styling standards. This creates a cohesive visual experience that aligns with your UI design and reduces cognitive load for users. Follow Naming Conventions When uploading multiple icons, use descriptive names that clearly identify their purpose. This practice helps administrators and developers maintain clarity when selecting icons for future tabs. Troubleshooting Common Issues Icon Not Appearing If your custom icon doesn’t display next to the tab after completing the configuration, first ensure that the image was marked as Externally Available during upload. If it still doesn’t appear, try refreshing your org or checking if permissions are properly configured for document visibility. Compatibility Across Editions Custom tab icons display in both Classic and Lightning Experience; however, the exact steps may differ slightly depending on your org’s configuration and feature availability. Custom object or web tabs generally need to be linked properly to the apps where they should appear. Conclusion Personalizing Salesforce navigation with custom tab icons enhances both aesthetics and usability, making it easier for users to find and interact with objects that matter most. By following the simple steps above, administrators can upload icons, assign them to tabs, and ensure that your org delivers a more polished and professional user experience. Ready to take your Salesforce UI to the next level? Start with well-designed icons, consistent naming, and clear organization — and watch how these small improvements make a big difference in daily usability.

How to Add a Custom Icon to a Tab in Salesforce Read More »

How to Import and Export in the New Standard OmniStudio

Salesforce’s OmniStudio platform enables rapid development of guided processes, data retrieval components, and user interfaces like OmniScripts, FlexCards, Integration Procedures, and more. However, after Salesforce introduced the new standard OmniStudio following the Industries Cloud migration, many admins and developers discovered that the familiar Import/Export buttons were missing from the OmniStudio Designer. Migrating components between environments — such as from sandbox to production — or sharing reusable assets across projects is a common requirement for Salesforce teams. Without clear guidance, this change in the UI can lead to confusion and slowdowns. This blog explains both your options for importing and exporting components in the new design: using Command Line Interface (CLI) and enabling the classic UI experience. Two Methods to Import/Export When Salesforce introduced the new standard OmniStudio after the Industries Cloud migration, many admins and developers noticed that the familiar Import/Export buttons were missing from the OmniStudio Designer. If you’ve been wondering how to migrate your OmniScripts, Integration Procedures, and FlexCards across orgs, here are the two methods you can use. Method 1: Use Salesforce CLI (Recommended) Salesforce has shifted the official support for Import/Export to the Salesforce CLI (SFDX). This is the preferred approach for automation, CI/CD pipelines, and bulk migration. Example: Export a specific OmniScript: SFDX omnistudio: export -p OmniScript -n “MyTestScript” -o ./export Using the Salesforce CLI is the recommended method for importing and exporting OmniStudio components. The CLI brings automation support, makes it ideal for team workflows, and fits naturally into a DevOps pipeline with version control and continuous deployment. Why Use CLI? Example: Exporting with CLI To export an OmniScript called MyTestScript to your local machine: SFDX omnistudio: export -p OmniScript -n “MyTestScript” -o ./export This command creates a local file (in JSON format) representing the OmniScript’s configuration and metadata. You can use similar commands for FlexCards and Integration Procedures by changing the -p parameter accordingly. Using CLI for Import Once you have the exported JSON files, you can import them into another org using a corresponding CLI command, maintaining structure and relationships. This is particularly useful in CI/CD environments where automated deployments are key. Method 2: Enable UI Import/Export via OmniStudio Settings If you prefer the classic UI experience of clicking buttons, Salesforce still provides a way to bring back the Import/Export feature inside Designer. Steps 1. Navigate to Setup → OmniStudio Settings.2.Enable Managed Package Designer.3.Refresh the OmniStudio Designer page.4.You will now see the familiar Import and Export buttons in the UI. Some users prefer a visual approach rather than command lines. If you are more comfortable with Salesforce’s point‑and‑click environment, you can re‑enable the classic Import/Export buttons by adjusting settings. When to Use UI Import/Export This method restores a familiar experience inside OmniStudio Designer, making it easier to select components, run exports, and track migrations — all through clicks instead of commands. Best Practices for Import/Export Workflows Regardless of the method you choose, the following practices help ensure success: 1. Backup Before You Export or Import Create backups in your source org before migrating components. This prevents accidental loss and lets you restore to a known good state. 2. Test in a Sandbox First Always perform import/export tasks in a sandbox before executing in production. This reduces risk and lets you debug any issues. 3. Maintain Clear Naming Conventions Use consistent naming for components, folders, and exported files. This simplifies searching and tracking when working with many assets. 4. Document Your Workflow Maintain a record of components exported, imported, and any changes applied during the migration process. Documentation supports auditing and future troubleshooting. 5. Use Version Control with CLI If you’re using Salesforce CLI, pair it with a version control system like Git to track configuration changes and enable rollback if needed. Troubleshooting Tips Conclusion Salesforce’s new standard OmniStudio has shifted migration workflows, removing familiar UI import/export buttons from the designer. Fortunately, you have two solid options: use Salesforce CLI for automation and scalability, or re‑enable the classic UI experience through settings when visual control is preferred. Both methods are valid and can be chosen based on your team’s workflow and preferences. By integrating the original blog text verbatim and expanding around it with detailed explanations, examples, and best practices, this version ensures your content stays intact while improving readability, SEO value, and practical usefulness.

How to Import and Export in the New Standard OmniStudio Read More »

Test Post for WordPress

Content management systems play a crucial role in modern digital publishing, and WordPress remains one of the most widely used platforms globally. Whether you’re managing a blog, business website, or enterprise portal, understanding how content formatting works in WordPress is essential for maintaining consistency, readability, and user engagement. This post demonstrates basic WordPress formatting capabilities such as headings, text styling, lists, and links. While the original content serves as a test post, it provides a foundation for understanding how content elements behave within the WordPress CMS. Purpose of a Test Post in WordPress A test post like this is typically used to validate how content appears on the front end of a WordPress site. It allows content editors, developers, and administrators to verify: Theme styling consistency Font sizes and spacing Heading hierarchy List formatting Hyperlink behavior This is especially useful when setting up a new theme, customizing layouts, or validating changes after updates. Understanding Headings and Structure Headings such as “Subheading Level 2” help establish content hierarchy. Proper use of headings improves: Readability for users Accessibility for screen readers SEO through structured content WordPress supports multiple heading levels, allowing authors to create logically organized articles that are easier to scan and understand. Text Formatting Options The original content demonstrates three essential formatting styles: Bold text for emphasis Italic text for highlighting ideas Combined bold and italic for stronger emphasis Using these styles correctly helps draw attention to important points without overwhelming the reader. Lists and Bullet Points Bullet lists are effective for breaking down information into digestible pieces. In WordPress, lists are commonly used for: Feature highlights Instructions Benefits or requirements Proper formatting ensures lists render consistently across devices and browsers. Working with Links Including links, such as the official WordPress site link in the original content, serves several purposes: Provides reference material Improves content credibility Enhances SEO through relevant outbound links WordPress makes link management easy through its visual editor and block-based system. Step-Based Content Presentation The step-by-step format (“Step one, Step two, Step three”) is commonly used for: Tutorials Setup guides Process documentation This format improves clarity and helps users follow instructions sequentially. Why Demonstration Content Matters Demo or placeholder content is essential during development and testing phases. It allows teams to: Preview layout behavior Identify spacing or alignment issues Validate responsiveness across devices Confirm editor usability Once testing is complete, this content can be replaced with live, production-ready material. Best Practices When Using Test Content Clearly label test posts to avoid publishing accidentally Remove or replace demo content before launch Use realistic text lengths to simulate real-world scenarios Validate formatting on both desktop and mobile views Following these practices ensures smoother transitions from development to production. Conclusion This WordPress test post demonstrates fundamental formatting capabilities such as headings, styled text, lists, links, and step-based content. While the original content is intended purely for demonstration, it highlights how WordPress enables flexible, user-friendly content creation. Understanding these basics helps content teams build well-structured, visually consistent, and SEO-friendly pages — laying a strong foundation for scalable digital publishing.

Test Post for WordPress Read More »

Microsoft: Empowering the Digital World

Microsoft is one of the most influential technology companies in the world, playing a pivotal role in shaping the modern digital landscape. With decades of experience in software development, cloud computing, and enterprise solutions, Microsoft continues to empower individuals, businesses, and governments through reliable and innovative technology. From personal productivity tools to large-scale digital transformation platforms, Microsoft’s offerings support a wide range of industries and use cases. A Legacy of Innovation and Productivity Microsoft’s journey began with a clear mission: to make computing accessible and productive for everyone. This mission came to life with the introduction of the Windows operating system, which quickly became the foundation of personal and professional computing worldwide. Windows is known for its user-friendly interface, robust security, and broad compatibility with hardware and software applications. Over the years, Microsoft has continuously enhanced Windows to meet evolving user needs. Each new version has introduced performance improvements, stronger security features, and better support for modern devices. Today, Windows remains a trusted platform for millions of users across homes, educational institutions, and enterprises. Microsoft Office and the Evolution of Work Alongside Windows, Microsoft Office has played a critical role in defining how people work. Applications such as Word, Excel, PowerPoint, and Outlook are essential tools for documentation, data analysis, presentations, and communication. These tools are widely used across industries and have become standard components of everyday business operations. With the transition to Microsoft 365, Office evolved into a cloud-based productivity ecosystem. This shift enabled real-time collaboration, cloud storage, and seamless access across devices. Teams can now work together more efficiently, regardless of location, making Microsoft Office a key driver of modern workplace productivity. Cloud Transformation with Microsoft Azure Microsoft has significantly expanded its influence through cloud computing with Microsoft Azure. Azure provides a comprehensive set of cloud services, including computing, storage, networking, analytics, and artificial intelligence. Organizations use Azure to migrate applications, modernize infrastructure, and build scalable digital solutions. One of Azure’s defining strengths is its hybrid cloud capability. This allows businesses to integrate on-premises systems with cloud services while maintaining security and compliance. Azure supports organizations at every stage of their digital transformation journey, from startups to large enterprises. Collaboration in the Modern Workplace As workplaces evolve, Microsoft Teams has become a central platform for communication and collaboration. Teams brings together chat, video meetings, file sharing, and project collaboration in one unified interface. It enables seamless communication across departments and geographic locations. The platform has proven especially valuable in supporting remote and hybrid work models. By integrating deeply with Microsoft’s productivity tools, Teams helps organizations streamline workflows, improve engagement, and maintain productivity in a connected digital environment. Innovation Beyond Software: Devices and Gaming Microsoft’s innovation extends beyond software and cloud services into hardware and entertainment. Through its Surface devices, Microsoft delivers premium laptops and tablets designed for performance, mobility, and seamless integration with Windows. These devices support professionals, students, and creatives, reflecting Microsoft’s focus on high-quality user experiences. In the gaming industry, Microsoft has made a significant impact through the Xbox platform. Xbox combines advanced hardware, immersive gaming experiences, and cloud gaming capabilities to connect players worldwide. This demonstrates Microsoft’s ability to blend technology with entertainment on a global scale. Advancing Artificial Intelligence Responsibly Artificial intelligence is a core component of Microsoft’s future strategy. AI capabilities are embedded across Microsoft’s products and cloud services, helping organizations automate processes, analyze data, and make informed decisions. From productivity tools to advanced cloud solutions, AI enhances efficiency and innovation. Equally important is Microsoft’s commitment to responsible AI development. The company emphasizes ethical practices, transparency, and data security to ensure technology benefits society while maintaining trust and compliance. Microsoft’s Continued Impact on the Digital World With a strong foundation and a forward-looking approach, Microsoft continues to lead the global technology landscape. Its ability to evolve with changing demands while delivering secure, scalable, and innovative solutions sets it apart. By empowering users and organizations worldwide, Microsoft remains a driving force in shaping the future of the digital world.

Microsoft: Empowering the Digital World Read More »

How to count record in omniscript.

OmniScript is a powerful tool used to create guided, dynamic user experiences by integrating data from various Salesforce sources. Often, data fetched through OmniScript comes from DataRaptors, which can return one or multiple records depending on the query. In many real-time scenarios, it becomes important to count how many records are returned and display or use that count within the OmniScript flow. In this article, we will learn how to count records in OmniScript data coming from a DataRaptor using a Formula element. This approach is useful when you need to validate data presence, control screen visibility, or simply display the total number of records to the user. Understanding the Use Case Consider a scenario where an OmniScript fetches account records using a DataRaptor Extract. Based on the result, you may want to: Display how many records were returned Handle situations where no records are found Drive conditional logic in the OmniScript flow Improve user awareness by showing record counts on screen To achieve this, OmniScript provides a Formula element, which can be used to apply functions like COUNT() on the incoming data. Example Overview In this example, we will: Create an OmniScript Use a DataRaptor Extract as a data source Count the number of records returned Display the record count using a Text Block This method works for any object, as long as the data is returned in a node from the DataRaptor.   Step 1: Create an OmniScript and Add a DataRaptor. Start by creating a new OmniScript based on your business requirement. Once the OmniScript is created: Drag a DataRaptor Extract element onto the OmniScript canvas. Configure the DataRaptor to fetch the required records (for example, Account records). Map all the fields that you want to retrieve from Salesforce. Ensure that the DataRaptor is correctly configured and returns data successfully. Next, add the following elements to the OmniScript: A Formula element (to count records) A Text Block element (to display the result) Once added, select the DataRaptor element on the OmniScript page and map the fields properly as required. Step 2: Identify the Data Node Returned by DataRaptor After configuring the DataRaptor, preview the OmniScript to inspect the data structure. To identify the node where records are coming from: Use a Text Block Pass the node name inside double percentage signs (%%) Example: %%Account%% This will render the data on the screen and help you understand the exact node name returned by the DataRaptor. This step is critical because the COUNT function depends on the correct node reference. Step 3: Add a Formula to Count Records Once you know the node name (for example, Account), you can create a Formula to count the records. Add a Formula element and write the following formula: IF(COUNT(%Account%) <= 0, “0”, COUNT(%Account%))   Explanation of the Formula: COUNT(%Account%) calculates the number of records returned in the Account node The IF condition checks whether the count is zero or less If no records are returned, it explicitly displays 0 Otherwise, it displays the actual count This approach ensures that the OmniScript handles both scenarios—when records exist and when no records are returned. Step 4: Preview the OmniScript and Verify the Output After configuring the formula: Preview the OmniScript Run the DataRaptor Observe the count displayed in the Text Block If the DataRaptor returns records, the formula displays the correct count. If the DataRaptor returns zero records, the formula safely displays 0 instead of blank or undefined values. This ensures a clean and user-friendly experience. Why Use a Formula to Count Records? Using a Formula element to count records in OmniScript offers several benefits: Avoids custom Apex logic Improves performance and simplicity Enables dynamic UI behavior Helps in decision-making and validations Works seamlessly with DataRaptor Extract results This method is especially useful in guided flows where data availability affects navigation or screen visibility. Conclusion Counting records in OmniScript using a DataRaptor and Formula element is a simple yet powerful technique. By identifying the correct data node and applying the COUNT() function, you can dynamically determine how many records are returned and use that information throughout the OmniScript. This approach helps improve data handling, enhances user experience, and ensures your OmniScript behaves intelligently based on real-time data. Whether you are displaying information or driving logic, record counting is an essential skill when working with OmniScript and DataRaptors.

How to count record in omniscript. Read More »

How to Call Apex Class In FlexCard

FlexCards are a powerful UI component used to display data dynamically in Salesforce OmniStudio. While FlexCards work efficiently with declarative data sources like DataRaptors and Integration Procedures, there are scenarios where custom business logic is required. In such cases, calling an Apex class from a FlexCard becomes essential. This article explains how to call an Apex class in a FlexCard, when it is needed, and how the data flows from Apex to the FlexCard UI. Why Call an Apex Class from a FlexCard? Although OmniStudio provides strong declarative tools, Apex is required in situations such as: Complex business logic that cannot be handled declaratively Data processing across multiple objects Advanced validations or calculations External integrations that require custom handling Performance optimization for large datasets Calling an Apex class allows FlexCards to display processed, real-time data while keeping the UI responsive. High-Level Architecture The typical flow looks like this: FlexCard calls an Integration Procedure Integration Procedure invokes an Apex class Apex processes the logic and returns data Integration Procedure passes the response back FlexCard renders the data on the UI FlexCards cannot call Apex directly, so Integration Procedures act as the bridge. Step 1: Create an Apex Class Start by creating an Apex class that contains the required logic. The class must: Be declared as global Have a @AuraEnabled method Return data in a format supported by OmniStudio (Map or List) Sample Apex Class global class AccountDataService {          @AuraEnabled     global static List<Account> getAccounts() {         return [             SELECT Id, Name, Industry             FROM Account             LIMIT 5         ];     } }   This example fetches basic Account data that will be displayed in the FlexCard. Step 2: Create an Integration Procedure Next, create an Integration Procedure to call the Apex class. Navigate to Integration Procedures Create a new Integration Procedure Add a Remote Action element Select Apex as the action type Enter the Apex class name and method name Example Configuration: Type: Apex Class Name: AccountDataService Method Name: getAccounts This step enables OmniStudio to execute the Apex logic. Step 3: Configure the Response Mapping Once the Apex method executes, it returns data to the Integration Procedure. Ensure the response is correctly mapped Use the Response Node to capture returned data Validate the response using Preview mode This ensures that the data structure is accessible to the FlexCard. On Preview Tab Step 4: Create or Update the FlexCard Now create or update a FlexCard to consume the Integration Procedure. Open the FlexCard designer Set the Data Source Type to Integration Procedure Select the Integration Procedure created earlier Map the response fields to the FlexCard elements At this stage, the FlexCard is connected to Apex indirectly via the Integration Procedure. Step 5: Display Data on the FlexCard Add UI elements such as: Text fields Data tables Icons or conditional styling Bind these elements to the response nodes returned by the Integration Procedure. For example: {{Account.Name}} {{Account.Industry}}   This displays the data retrieved from the Apex class. Step 6: Preview and Test Preview the FlexCard to verify: Apex class is executed successfully Integration Procedure returns data correctly FlexCard displays the expected output No runtime errors occur Testing ensures smooth data flow from Apex to UI. Best Practices for Calling Apex in FlexCards To ensure performance and maintainability, follow these best practices: Keep Apex logic lightweight and efficient Avoid unnecessary SOQL queries Always handle exceptions in Apex Return only required fields Use Integration Procedures for orchestration Test with large datasets to avoid performance issues These practices help maintain scalable and reliable FlexCard implementations. Common Use Cases Calling Apex from FlexCards is commonly used for: Aggregated or calculated data Conditional record processing External API data handling Custom eligibility checks Complex data transformations This approach extends FlexCard capabilities without compromising flexibility. Conclusion Calling an Apex class in a FlexCard is a powerful technique that enables advanced data handling in OmniStudio applications. While FlexCards do not directly invoke Apex, using an Integration Procedure as a bridge ensures a clean and scalable architecture. By combining declarative tools with Apex logic, developers can build dynamic, high-performing FlexCards that meet complex business requirements while maintaining a responsive user experience.

How to Call Apex Class In FlexCard Read More »

How to use SOSL in FlexCard (Vlocity)

FlexCards in OmniStudio provide a powerful way to display Salesforce data dynamically on the UI. While FlexCards commonly use DataRaptors and Integration Procedures as data sources, there are scenarios where SOSL (Salesforce Object Search Language) is more effective. SOSL is particularly useful when you need to search across multiple records or perform text-based searches efficiently. In this article, we will walk through how to use SOSL in a FlexCard to retrieve Account data and display it on the screen. Why Use SOSL in FlexCard? SOSL is designed for searching text across multiple objects or fields quickly. Using SOSL in a FlexCard is beneficial when: You need fast text-based searching You want to retrieve records based on search terms You need to fetch data without complex filters Performance is a priority SOSL works well when searching by names, keywords, or other text fields. Use Case Overview In this example, we will create a FlexCard that uses SOSL as its data source to retrieve Account records. The fetched data will then be displayed on the FlexCard canvas using standard UI elements. Step 1: Create a FlexCard and Select SOSL as Data Source Start by creating a new FlexCard. Open FlexCard Designer Create a new FlexCard Navigate to the Data Source section Set Data Source Type to SOSL After selecting SOSL, configure the SOSL query based on your requirement to retrieve Account data. Once configured: Click on Save & Fetch Verify that the data is successfully returned This step confirms that the SOSL query is working correctly. Step 2: Build the FlexCard UI After fetching the data, move to the Build section of the FlexCard. Navigate to Build > Fields Drag required fields onto the FlexCard canvas Bind the fields to the SOSL response data For example, you can display: Account Name Industry Phone Number The dragged fields automatically map to the returned SOSL data nodes. Step 3: Configure Field Mapping Ensure the fields are correctly mapped to the SOSL response. Verify the data path for each field Use the data tree to confirm field availability Adjust field labels and formatting as required Proper mapping ensures that the FlexCard displays accurate and consistent data. Step 4: Preview the FlexCard Once the UI configuration is complete: Click Preview Validate that Account data appears correctly Confirm that the SOSL query returns expected results Check for performance and formatting issues Previewing helps catch mapping or query errors early. Best Practices for Using SOSL in FlexCard When using SOSL in FlexCards, follow these best practices: Keep SOSL queries efficient and focused Avoid retrieving unnecessary fields Use SOSL for search-based use cases only Test performance with large datasets Ensure proper field-level security access These practices help maintain optimal performance and user experience. Common Use Cases SOSL in FlexCards is commonly used for: Global search functionality Keyword-based record lookup Quick customer or account searches Lightweight data retrieval for dashboards Fast UI response scenarios Conclusion Using SOSL as a data source in FlexCards is a simple yet powerful way to retrieve Salesforce data efficiently. By selecting SOSL in the data source configuration and binding fields to the UI, you can quickly build responsive FlexCards for search-based use cases. This approach reduces complexity while delivering fast and accurate results, making it an excellent option for scenarios where text-based searching is required.

How to use SOSL in FlexCard (Vlocity) Read More »

How to use Blank Card State In Flexcard.

FlexCards in OmniStudio provide a dynamic way to display data fetched from different sources such as DataRaptors and Integration Procedures. However, there are situations where a data source returns zero records. In such cases, showing a blank screen or broken UI can confuse users. To handle this gracefully, FlexCards provide a feature called Blank Card State. In this article, we will learn how to use the Blank Card State of a State element in FlexCard and understand how it helps manage scenarios where no data is returned. What Is Blank Card State? The Blank Card State is used when a FlexCard’s data source returns no records. Instead of showing empty fields or no UI at all, the Blank Card State allows you to display a custom message or layout, informing the user that no data is available. This improves user experience by clearly indicating that: No records were found The search returned no results Input parameters may be missing or incorrect Use Case Overview In this example, we will: Use a FlexCard State element Configure a DataRaptor Extract as the data source Display data when records are available Show a custom message when zero records are returned using the Blank Card State Step 1: Create a FlexCard and Configure DataRaptor Start by creating a new FlexCard. Open FlexCard Designer Create a new FlexCard In the Setup section, select DataRaptor as the data source Next, create a DataRaptor Extract that will fetch Account data. Map all the required fields such as Name, Phone, or other relevant fields Ensure the DataRaptor is correctly configured and tested This DataRaptor will act as the main data source for the FlexCard. Step 2: Configure Interface Name and Input Mapping Move to the Setup section of the FlexCard. In the Interface Name field, search for and select the DataRaptor name Navigate to the Input Map section Add a new input mapping with the following values: Key: AccName Value: Rec This configuration allows the FlexCard to pass a test parameter dynamically. The value entered in the test parameter will be used to search records in the DataRaptor. After completing the mapping: Click Save & Fetch Verify whether records are returned correctly Step 3: Build the FlexCard UI and Configure Blank Card State Now move to the Build section of the FlexCard. Drag the required fields from the Fields panel onto the canvas Add a State element (or clone an existing one) Enable the Blank Card State option in the State element Next, map the same DataRaptor name and input configuration used earlier to this State element. To display a message when no records are found: Drag a Text element inside the Blank Card State Enter a custom message in the Text property, such as: “No records found. Please provide valid input to search.” This message will be displayed whenever the DataRaptor returns zero records. Step 4: Preview and Test the FlexCard Preview the FlexCard to validate the functionality. Test Case 1: With Input Parameter Click Add Test Params Enter an Account name (for example, “Acme”) in the value field If a matching record exists, the FlexCard will display the record details Test Case 2: Without Input Parameter Leave the test parameter blank The DataRaptor query executes with an empty value, similar to: SELECT Id, Name, Phone WHERE Name = ”   This query returns null data The Blank Card State is triggered The custom message is displayed on the screen If we leave it without filling the parametere it will  get the query like “Select id ,Name ,phone where name = ” ”.  with this it return null data. Why Use Blank Card State? Using Blank Card State offers several benefits: Improves user experience Avoids empty or broken UI Clearly communicates no-data scenarios Supports dynamic search-based use cases Reduces confusion during testing and runtime It is especially useful when working with search parameters, filters, or optional inputs. Best Practices Always provide a meaningful message in the Blank Card State Keep the UI simple and informative Test both data and no-data scenarios Ensure input mappings are consistent across states Avoid complex logic inside the Blank Card State Conclusion The Blank Card State in FlexCard is a simple yet powerful feature that helps handle zero-record scenarios effectively. By configuring a State element with a Blank Card State, you can display custom messages and maintain a clean, user-friendly interface even when no data is returned. This approach ensures that FlexCards behave predictably and provide clear feedback to users, making your OmniStudio implementations more robust and professional.

How to use Blank Card State In Flexcard. Read More »

How to delete record in OmniScript through Integration Procedures

OmniScript is widely used to build guided, interactive user experiences in Salesforce. While OmniScript handles user interaction effectively, actions such as deleting records are executed using Integration Procedures. This approach ensures secure, controlled, and reusable logic for data manipulation. In this article, we will learn how to delete a record in OmniScript using Integration Procedures, step by step, with a practical example. Why Use Integration Procedures for Deleting Records? Integration Procedures provide a structured way to perform backend operations from OmniScript. Using them to delete records offers several advantages: Centralized business logic Better security and control Reusability across multiple OmniScripts Clear separation between UI and data operations Improved error handling OmniScript does not directly delete records; instead, it triggers Integration Procedures that perform the delete action. Use Case Overview In this example, we will: Create an Integration Procedure Use a Delete Action to remove a record Pass the record ID from OmniScript Trigger the delete operation from the OmniScript UI Step 1: Create an Integration Procedure Start by creating a new Integration Procedure. Open Integration Procedures Create a new Integration Procedure Drag a Delete Action element onto the canvas Configure the Delete Action In the Delete SObject configuration: Type: Enter the object API name (for example, Account) Path to Id: Provide the path where the record ID will be received This ID will be passed from OmniScript during runtime. Delete Action an Integration Procedures  Note:– We use Response Action for send data an omniscript.   – Drag a response action for send data in response an omniscript. Activate the Integration Procedures. Response Actin in Integration Procedures Step 2: Add a Response Action To send a response back to OmniScript, add a Response Action. Drag a Response Action element onto the canvas Configure it to return success or status information Important Note The Response Action is required so OmniScript can: Confirm whether the delete action was successful Handle UI behavior after deletion After completing the configuration: Activate the Integration Procedure Integration Procedures An OmniScript On preview tab.  – In Context Id – we pass AccountId for send id  an Integration Procedures for delete               account record. Click on Button. On Preview Tab Step 3: Create an OmniScript Now create a new OmniScript. Open OmniScript Designer Create a new OmniScript Drag an Integration Procedure Action element onto the canvas Select the Integration Procedure created earlier. Step 4: Pass Record ID from OmniScript To delete a specific record, OmniScript must send the record ID to the Integration Procedure. In the Integration Procedure Action element Navigate to Remote Properties In Extra Payload, pass the record ID This ID is used by the Integration Procedure to identify which record to delete. Step 5: Test the OmniScript Preview the OmniScript and test the functionality. In the Context ID, pass the AccountId (or relevant record ID) Click the action button to trigger the Integration Procedure Once executed: The Integration Procedure receives the ID The Delete Action deletes the record The Response Action sends confirmation back to OmniScript Best Practices for Deleting Records via OmniScript Always confirm user intent before deleting records Use Response Action for success or error messages Validate record ID before passing it Avoid hardcoding IDs Implement proper access control Test thoroughly in a sandbox environment These practices help prevent accidental data loss and ensure secure operations. Common Use Cases Deleting records via OmniScript is commonly used in: Guided record cleanup flows Customer self-service portals Admin or support workflows Conditional record deletion scenarios Data maintenance processes Conclusion Deleting records in OmniScript through Integration Procedures is a clean and efficient approach that separates UI logic from backend operations. By using a Delete Action within an Integration Procedure and triggering it from OmniScript, you ensure better control, security, and reusability. This method is especially useful when building guided user flows that require controlled data deletion while maintaining a smooth user experience.

How to delete record in OmniScript through Integration Procedures Read More »

How To Lunch Flyout In Flexcard With Button In OmniStudio Salseforce.

FlexCards in OmniStudio allow you to display dynamic, contextual data in a visually appealing way. Sometimes, you may want to launch a child FlexCard from a parent FlexCard using a button click. This is achieved using the Flyout action, which can open a child card as a modal or side panel. In this article, we will explain step by step how to create a FlexCard with a button that launches a Flyout to display another FlexCard. Step 1: Create a Child FlexCard The first step is to create a child FlexCard that will be displayed when the Flyout action is triggered. Open FlexCard Designer and create a new FlexCard Provide a Name and Description for the child FlexCard Click Save to create the card Creat a Flexcard & Save Step 2: Configure Data Source for the Child FlexCard Next, configure the Data Source to fetch data for the child card. Go to the Setup tab Select Data Source Type Write a SOQL query to fetch the required records from Salesforce Click Save & Fetch Once saved, the records will start appearing in the FlexCard preview. Data Source & write SOQL Query As soon as we click on Save and Fetch buttons, the records start getting displayed. Then we click on the Build Options area and drag and drop the selected fields to the canvas, which displays all the records. All Records Show in Dispaly Then we create a parent flexchar and create an action button in it. We create a Flex card with proper Name & Description. And  Drag & Drop  a Action Button. And we are going to action and select action type = flyout, flyout type=Child Card, flyout = Child Card Name, Open flyout type=Modal, Channel Name=Close_modal File Action & Attributes Then we activate the flex card. Fill Action & Attributes Note :-When selecting a Flyout make sure that the componentis Activated and Child Card is enabled (If it is a Flexcard). If the component is not activated or the Child card is not enabled, then the flyout will not display that component in the dropdown list. Click Button Once the user clicks on the “More Details” button, it will launch the flyout modal and display the fields. Show All Details Step 3: Build the Child FlexCard UI Now it’s time to display the fetched data on the child FlexCard: Go to the Build Options area Drag and drop the desired fields onto the canvas Arrange them to display all necessary information At this stage, the child FlexCard is ready with its data and layout. Step 4: Create a Parent FlexCard Now, create a parent FlexCard that will contain the button to launch the Flyout. Create a new FlexCard with a proper Name and Description Drag and drop an Action Button onto the parent FlexCard canvas Step 5: Configure the Action Button to Launch Flyout Configure the button to open the child FlexCard: Select the Action Type as Flyout Set the Flyout Type to Child Card Choose the Child Card Name you created earlier Set the Open Flyout Type as Modal Optionally, set Channel Name to Close_modal if you want to control modal closing behavior Fill in any additional Action Attributes Step 6: Activate the FlexCards Before the Flyout will work: Ensure that both the parent and child FlexCards are activated Make sure the child card is enabled in the FlexCard component settings Note: If the component is not activated or the child card is disabled, it will not appear in the Flyout dropdown list. Step 7: Preview and Test the Flyout Once everything is set up: Preview the parent FlexCard Click on the “More Details” button (or the button you configured) The child FlexCard will open in a Flyout modal, displaying the fields you configured This allows users to see detailed information without navigating away from the main card. Best Practices Always give a meaningful name to your child FlexCard for clarity Ensure the SOQL query is optimized to avoid slow loading Test modal behavior on different devices to ensure responsiveness Use channels if you want to control multiple modal interactions Keep child FlexCard layout simple for quick loading Use Cases Using Flyouts in FlexCards is ideal for: Displaying detailed account or contact information Showing related records without leaving the parent card Quick approval or review actions Enhancing user experience in dashboards or service consoles Conclusion Launching a Flyout in FlexCard using a button is a powerful OmniStudio feature that allows nested, contextual data display. By configuring a parent FlexCard with an Action Button and linking it to a child FlexCard, users can access additional details quickly, improving both usability and efficiency. With proper setup of Data Sources, Flyout configuration, and activation, this approach can enhance any OmniStudio interface with dynamic, interactive data views.

How To Lunch Flyout In Flexcard With Button In OmniStudio Salseforce. Read More »

Scroll to Top