Perficient GDC Nagpur Articles / Blogs / Perficient https://blogs.perficient.com/tag/perficient-gdc-nagpur/ Expert Digital Insights Tue, 05 Aug 2025 07:45:27 +0000 en-US hourly 1 https://blogs.perficient.com/files/favicon-194x194-1-150x150.png Perficient GDC Nagpur Articles / Blogs / Perficient https://blogs.perficient.com/tag/perficient-gdc-nagpur/ 32 32 30508587 One Team, One Breath: Celebrating International Yoga Day at Perficient Nagpur & Pune https://blogs.perficient.com/2025/07/22/one-team-one-breath-celebrating-international-yoga-day-at-perficient-nagpur-pune/ https://blogs.perficient.com/2025/07/22/one-team-one-breath-celebrating-international-yoga-day-at-perficient-nagpur-pune/#respond Tue, 22 Jul 2025 07:38:38 +0000 https://blogs.perficient.com/?p=384748

The Yogic Way

What happens when ancient mindfulness practices meet a modern workplace? You get International Yoga Day at Perficient – a thoughtful pause in the middle of our fast-paced workday, filled with movement, calm, and connection.

Yoga, not just a term, not even a physical practice: it’s a celebration of harmony between the mind, body, and spirit. Its beauty lies in its simplicity, just a breath, a stretch, a moment of awareness and yet its impact runs deep, purifying our thoughts, strengthening our inner self, and nurturing emotional resilience.

We experienced the same when we welcomed yoga into our office on the International Yoga Day. With many thoughts and discussions, meetings and on-floor preparations, we celebrated this International Yoga the- The Yogic Way at both Nagpur and Pune offices. From subtle stretches to intentional breathing, it was a shared moment of grounding that left a lasting impression. Organized under the Women in Tech India ERG, the event was a thoughtful blend of mindfulness, creativity, and community spirit.

Yoga for Everyone, Everywhere

At our Nagpur office, the celebration started in a refreshing way across every floor with a serene 20-minute experience. No yoga mats, no complex postures, same workspace, familiar chairs, and movements anyone could enjoy right from their desks.

We dimmed the lights, played gentle, calming music, and the environment become part of the flow. The Yoga instructor guided us through stretches, mindful breaths, and poses perfect for the workplace. Shoulder rolls that melted away stress, twists that aligned the spine, neck releases – small movements that made a big difference.

Click to view slideshow.

At our Pune office, we hosted a 45-minute yoga session for everyone right at their workstations. A refreshing 45-minute yoga session that blended chair yoga, stretching exercises, Surya Namaskar, and meditation – offering a perfect mid-day reset to boost both physical vitality and mental clarity. The session was thoughtfully designed to accommodate all fitness levels, making it easy for everyone to participate and benefit. From energizing stretches to calming mindfulness practices, the experience helped reduce stress, improve posture, and foster a sense of balance and well-being.

Click to view slideshow.

Despite packed schedules, people joined in with genuine enthusiasm. There was curiosity, laughter, a bit of wobbling, and plenty of smiles. Whether someone was trying yoga for the first time or reconnecting with an old habit, the vibe was relaxed, inclusive, and deeply refreshing.

A Blend of Wellness and Creativity

To complement the physical practice of yoga, we also invited teams to reflect on what balance and mindfulness meant to them – creatively. Our Poster + Photo Submission Activity was open to everyone, and the idea was simple to submit:

  • Yoga Asana Photo Showcase: A photo of themself striking their favorite yoga pose
  • Yoga Facts: A fun or insightful fact about yoga or how it’s benefited their well-being
  • Poster Making: A handmade poster or banner that captures the essence of yoga and balance

The submissions were vibrant, heartfelt, and filled with personality. Some colleagues sent in photos striking warrior or tree poses, while others channeled their artistic side through colorful, thoughtful posters. There were wellness quotes, breathing tips, hand-drawn asanas — even doodles of their Yoga Day experience.

The photo boards quickly filled up and turned into mini-inspiration corners in both offices — a refreshing reminder of how wellness can be fun, personal, and proudly on display.

Click to view slideshow.

 

Voices from the Event: Little Wins, Big Impact

To capture the spirit of the day, here are a few reflections shared by our colleagues from Nagpur and Pune:

  • Sachit Naik, Senior Technical Consultant: I really enjoyed the sense of community and calm at the event. Practicing yoga in the office with so many people created a powerful and peaceful energy that was truly uplifting.
  • Punyaa Dixit, Intern Consulting: As an intern, this was my first time participating in an International Yoga Day celebration at the office, and it was truly refreshing! It reminded me how important it is to move around and include simple exercises in our daily routine – especially during long workdays.
  • Kriti Gupta, Technical Consultant: It was refreshing to see so many colleagues come together with such positive energy. My key takeaway was how just a few minutes of stretching and focused breathing can make a big difference in our day-to-day wellbeing
  • Chinmay Dhuri, Senior Technical Consultant: I don’t regularly practice yoga, but attending the Yoga Day session was a truly refreshing and valuable experience. The session gave me a glimpse into the benefits of yoga, not just physically but also mentally. I’m grateful for the opportunity and it has definitely inspired me to consider including yoga in my routine.

Unified Message of Balance and Unity

The theme of the event was simple yet powerful: Yoga Day.  This celebration wasn’t about mastering yoga. It was about showing up – with curiosity, presence, and a willingness to pause. It served as a reminder that yoga is more than just physical movement – it’s a practice that nurtures mental clarity, emotional balance, and overall well-being. It was about reminding ourselves that wellness doesn’t require fancy gear or hours of time. Sometimes, all it takes is a chair, a deep breath, a stretch, and a little intention.

This celebration was more than just a session – it was a reflection of Perficient’s people-first culture and the impact of employee-led initiatives like WIT India ERG. By creating space for wellness, connection, and creativity, we continue to build a workplace where everyone feels supported – not just in what they do, but in who they are.

]]>
https://blogs.perficient.com/2025/07/22/one-team-one-breath-celebrating-international-yoga-day-at-perficient-nagpur-pune/feed/ 0 384748
My Experience at the Salesforce Nagpur Ohana Gathering – June 2025 https://blogs.perficient.com/2025/07/16/my-experience-at-the-salesforce-nagpur-ohana-gathering-june-2025/ https://blogs.perficient.com/2025/07/16/my-experience-at-the-salesforce-nagpur-ohana-gathering-june-2025/#respond Wed, 16 Jul 2025 10:28:22 +0000 https://blogs.perficient.com/?p=384096

Hello Trailblazers!

Last week, I had the amazing opportunity to attend the “Salesforce Nagpur Ohana Gathering June 2025.” This Meetup was packed with knowledge-sharing, networking, and inspiration. The event brought together passionate Salesforce professionals and featured insightful sessions from four expert speakers. Each session focused on a crucial aspect of the Salesforce ecosystem—from SOQL optimization to Financial Services Cloud.

In this blog post, I’ll be sharing my personal experiences, key takeaways, and insights into the exciting developments and inspiring moments that made this event unforgettable.

So, stay tuned for all the details—you won’t want to miss it!

Salesforce Nagpur Ohana Gathering June 2025:

The Salesforce Nagpur Ohana Gathering was a power-packed joint event hosted by the Salesforce Architect Group Nagpur and the Salesforce Developer Group Nagpur. This vibrant meetup brought together Trailblazers from across the region to learn, connect, and grow as a community.

The event featured four insightful and engaging sessions, each led by experienced speakers who shared practical knowledge and real-world applications across various Salesforce domains. From advanced SOQL techniques to the latest in Flows and Financial Services Cloud, the sessions catered to both developers and admins, offering something valuable for everyone.

Let’s dive into a quick recap of each session and explore the key takeaways that made this event truly unforgettable.

 

  1. SOQL Secrets: Staying Sharp within Salesforce Limits

    This session offered a deep dive into the art of writing efficient SOQL queries while staying within Salesforce’s governor limits. The speaker highlighted common pitfalls that can lead to performance issues, such as unselective queries and poor use of relationships. Real-world examples demonstrated how indexing, selective filters, and query planning can make a huge difference. Whether you’re a beginner or an experienced developer, this talk delivered practical tips to optimize your queries, improve system performance, and avoid hitting those dreaded limits.

Whatsapp Image 2025 07 07 At 12.22.45 Pm (2)

 

  1. Working With Large Data Volume

    This session focused on best practices for handling large data volumes (LDV) in Salesforce without compromising performance. The speaker shared insights on data modeling strategies, indexing, and using tools like skinny tables and Big Objects. Techniques such as asynchronous processing, batch Apex, and data archiving were discussed to manage and optimize large datasets effectively. The session served as a valuable guide for developers and admins looking to scale their orgs efficiently while maintaining speed and reliability.

 

  1. Latest Features and Updates in Salesforce Flows

    This session explored the newest enhancements in Salesforce Flows, showcasing how Flow is becoming the go-to automation tool across the platform. The speaker walked through recent updates like reactive components, HTTP callouts from Flow, and new debugging improvements. Real-world use cases illustrated how these features simplify complex business processes without the need for code. Whether you’re an admin or developer, this session highlighted why staying up-to-date with Flow capabilities is key to building smarter, more efficient automations.

Whatsapp Image 2025 07 07 At 12.22.16 Pm (1)

 

 

  1. Financial Services Cloud

    In this session, attendees got an insightful overview of Salesforce Financial Services Cloud (FSC) and how it transforms customer relationship management in industries like banking, insurance, and wealth management. The speaker showcased FSC’s industry-specific data model, features like Actionable Relationship Center, and powerful tools for client onboarding and financial goal tracking. With real-life examples, the session highlighted how FSC helps financial institutions deliver personalized, compliant, and scalable solutions tailored to client needs.

Whatsapp Image 2025 07 07 At 12.22.17 Pm (1)

All four sessions were highly informative, providing a wealth of knowledge and practical insights for everyone in attendance.

 

Quiz Competition, Swag Distribution & Group Photo Moments

After a series of knowledge-packed sessions, the meetup concluded with a lively and interactive quiz competition. Participants enthusiastically put their learnings to the test, answering questions based on the day’s topics. The atmosphere was filled with energy, laughter, and a healthy dose of competition. To celebrate their quick thinking and sharp memory, the top scorers were awarded exciting swag—adding a spark of joy and recognition to the experience.

As the day came to a close, all attendees gathered for a grand group photo, capturing the spirit of the SF Trailblazer Community. With big smiles and loud “CHEESE!” chants, the moment reflected the vibrant connections, shared passion, and collaborative spirit that define the Trailblazer ecosystem.

Here are some of the memorable highlights from the day, captured in photos—each frame telling a story of learning, laughter, and leadership.

Click to view slideshow.

Conclusion

The Trailblazer Community Meetup was not just a learning experience, but a reminder of the power of community and continuous growth in the SF ecosystem. The sessions provided practical insights and fresh perspectives that I’m excited to apply in my day-to-day work. Huge thanks to the organizers and speakers for delivering such value-packed content. Looking forward to the next one!

Happy Reading!!

]]>
https://blogs.perficient.com/2025/07/16/my-experience-at-the-salesforce-nagpur-ohana-gathering-june-2025/feed/ 0 384096
Keyboard Testing in Accessibility Testing https://blogs.perficient.com/2025/07/08/keyboard-testing-in-accessibility-testing/ https://blogs.perficient.com/2025/07/08/keyboard-testing-in-accessibility-testing/#respond Tue, 08 Jul 2025 05:17:53 +0000 https://blogs.perficient.com/?p=383948

Accessibility testing guarantees that software applications can be used effectively by all individuals, including those with disabilities. Many users rely on keyboards instead of a mouse due to mobility challenges or because they use assistive technologies, such as screen readers. Keyboard accessibility testing confirms that all controls and elements on a page are usable without the use of a mouse. It ensures that the tab order is logical, focus indicators are visible, and users can move through the interface smoothly. This type of testing is crucial for developing inclusive applications that meet accessibility standards and offer a seamless experience for all users.

Why Keyboard Testing Matters

Keyboard testing is crucial for verifying that users who cannot use a mouse can still navigate and interact with the application effectively. People with motor disabilities, visual impairments, or even temporary injuries often rely on keyboards or assistive devices to navigate websites and applications. By ensuring that all features can be accessed using only a keyboard, developers enhance usability for everyone. It also helps ensure the product meets accessibility standards and legal requirements. Ultimately, keyboard-friendly design supports a more inclusive digital experience.

Steps for Performing Keyboard Accessibility Testing

  1. Open the application or webpage you want to test.
  2. Start navigating using the Tab key.
  3. Ensure all interactive elements (links, buttons, forms, etc.) are accessible using the Tab key.
  4. Use Shift + Tab to navigate backward.
  5. Press the Enter or Spacebar key to activate buttons and links.
  6. Use the Arrow keys to navigate between options in radio buttons, dropdowns, menus, sliders, and tab panels.
  7. Always maintain a visible keyboard focus and ensure it moves through elements in a clear and logical sequence.
  8. Use screen readers (like NVDA or VoiceOver) to test combined keyboard and screen reader accessibility.
  9. The Home key takes you to the top of the page, while the End key brings you to the bottom instantly.
  10. In checkbox groups, use the Spacebar to check or uncheck options.
  11. Use Page Up and Page Down to scroll or adjust slider values in larger steps (if supported).

Tips for Effective Keyboard Testing

  1. Start at the top and use Tab to navigate — Begin testing from the top of the page and press Tab to move through all interactive elements without skipping any.
  2. Ensure all interactive elements are focusable — Buttons, links, form fields, and checkboxes must be reachable using the keyboard.
  3. Make focus visible and distinct — Every focused item should have a clear and noticeable outline or indicator.
  4. Avoid focus on hidden or inactive content — Focus should never land on closed dialogs, hidden menus, or off-screen items.
  5. Maintain a logical tab order — Focus should move in a natural, visual order (usually left to right, top to bottom).
  6. Avoid unexpected focus jumps — Interacting with elements should not cause focus to jump unpredictably to other page areas.
  7. Test keyboard control of dropdowns, modals, and menus — Ensure these elements can be opened, navigated, and closed using keys such as Enter, Esc, and Arrow keys.
  8. Use the Arrow keys and Spacebar for grouped controls — Navigate radio buttons, sliders, and checkboxes easily with keyboard keys.

Benefits of Keyboard Testing

  1. Keyboard testing ensures that people who cannot use a mouse can still navigate and interact with your application smoothly.
  2. It helps ensure that assistive technologies, such as screen readers, work effectively alongside keyboard navigation for a better user experience.
  3. Conducting keyboard testing supports compliance with important guidelines such as the Web Content Accessibility Guidelines (WCAG).
  4. Even users without disabilities benefit from efficient keyboard navigation, improving overall ease of use and speed.
  5. Makes the application easier and more user-friendly for everyone.

Conclusion

Ensuring that all features can be accessed and operated using a keyboard is essential for creating inclusive digital experiences.

By carefully testing and following best practices, developers and testers can create experiences that are more inclusive, user-friendly, and compliant with accessibility standards. Prioritizing keyboard accessibility helps build a better website for all users.

]]>
https://blogs.perficient.com/2025/07/08/keyboard-testing-in-accessibility-testing/feed/ 0 383948
Capturing API Requests from Postman Using JMeter https://blogs.perficient.com/2025/06/09/capturing-api-requests-from-postman-using-jmeter/ https://blogs.perficient.com/2025/06/09/capturing-api-requests-from-postman-using-jmeter/#respond Mon, 09 Jun 2025 06:21:51 +0000 https://blogs.perficient.com/?p=382378

Performance testing is a crucial phase in the API development lifecycle. If you’re using Postman for API testing and want to transition to load testing using Apache JMeter, you’ll be glad to know that JMeter can record your Postman API calls. This blog will guide you through a step-by-step process of capturing those requests seamlessly.

Why Record Postman Requests in JMeter?

Postman is excellent for testing individual API calls manually, while JMeter excels at simulating concurrent users and measuring performance.

Prerequisites:

  • Apache JMeter
  • Postman
  • JDK 8 or later
  • Internet access

Step-by-Step Guide

  1. Launch JMeter and Create a Test Plan: Open JMeter and start by creating a Thread Group under the Test Plan and add the HTTP(S) Test Script Recorder under Non-Test Elements.
    Image11
  2. Add a Recording Controller: Inside your Thread Group, add a Recording Controller and this will collect all the requests captured during the session.
    Image 12
  3. Import the JMeter certificate in postman: Go to Postman > Settings > “Certificates” tab, click and Toggle On for “CA certificates”, locate ApacheJMeterTemporaryRootCA.crt and add.Image 3
  4. Open Postman > navigate to Settings > then go to the Proxy tab. Configure the proxy by setting the port to ‘8888’. Set the proxy server address to ‘https://localhost’ during configuration.Image 4
  5. Start the JMeter Proxy Recorder: Set the port to 8888 in the recorder and hit Start.
    Image 15
  6. Execute API Requests from Postman: Send any API requests from Postman, and you’ll see them appear in the Recording Controller in JMeter. Next, search online for REST APIs that are available for free use. Here, I have taken the example of https://reqres.in/for reference.
    Image 6
  7. Stop the Recording: Click Stop in JMeter’s recorder once you’ve captured all desired traffic.Image 7
  8. Review the Results: Add a Listener like ‘View Results Tree’ under your Thread Group to see the captured request and response data.
    Image 8

Wrapping Up

By recording Postman traffic into JMeter, you’re not only saving time but also setting up your foundation for powerful performance testing. Whether you’re preparing for stress testing or simulating concurrent user traffic, this integration is a valuable step forward.

Happy Testing!!!

]]>
https://blogs.perficient.com/2025/06/09/capturing-api-requests-from-postman-using-jmeter/feed/ 0 382378
Managed Service Offering (MSO) Support Ticketing System https://blogs.perficient.com/2025/04/10/managed-service-offering-mso-support-ticketing-system/ https://blogs.perficient.com/2025/04/10/managed-service-offering-mso-support-ticketing-system/#respond Thu, 10 Apr 2025 06:26:07 +0000 https://blogs.perficient.com/?p=379087

A ticketing system, such as a Dynamic Tracking Tool, can be a powerful tool for MSO support teams, providing a centralized and efficient way to manage incidents and service requests. Here are some more details on the benefits.

  1. Organize and triage cases: With a ticketing system, MSO support teams can easily prioritize cases based on their priority, status, and other relevant information. This allows them to quickly identify and resolve critical issues before they become major problems.
  2. Automate distribution and assignment: A ticketing system can automate the distribution and assignment of incidents to the right department staff member. This ensures that incidents are quickly and efficiently handled by the most qualified support team members.
  3. Increase collaboration: A ticketing system can increase collaboration between customer service teams and other stakeholders. It allows for easy and quick ticket assignment, collaboration in resolving issues, and real-time changes.
  4. Consolidate support needs: Using a ticketing system consolidates all support needs in one place, providing a record of customer interactions stored in the system. This allows support teams to quickly and easily access customer history, track communication, and resolve issues more effectively.
  5. Dynamics Tracking Tool: This shows various reports, such as the Real-Time Tracking Report and Historical Data Report, which are provided to monitor and analyze tracking data efficiently.

Overall, a ticketing system can help MSO support teams to be more organized, efficient, and effective in managing incidents and service requests.

Ticketchart

Benefits of a Dynamic Ticketing Management System

Benefitsofdynamics

 

  1. Prioritization: A ticketing system efficiently prioritizes incidents based on their impact on the business and their urgency. This ensures critical issues are resolved quickly, minimizing downtime and maximizing productivity.
  2. Efficiency: A ticketing system streamlines the incident management process, reducing the time and effort required to handle incidents. It allows support teams to focus on resolving issues rather than spending time on administrative tasks such as logging incidents and updating users.
  3. Collaboration: A ticketing system enables collaboration between support teams, allowing them to share information and expertise to resolve incidents more efficiently. It also enables users to collaborate with support teams, providing real-time updates and feedback on the status of their incidents.
  4. Tracking & Reporting: A ticketing system provides detailed monitoring and reporting capabilities, allowing businesses to analyze incident data and identify trends and patterns. This information can be used to identify recurring issues, develop strategies to prevent incidents from occurring, and improve the overall quality of support services.
  5. Professionalism: A ticketing system provides a professional and consistent approach to incident management, ensuring that all incidents are handled promptly and efficiently. This helps to enhance the reputation of the support team and the business as a whole.
  6. Transparency: A ticketing system provides transparency in the incident management process, allowing users to track the status of their incidents in real time. It also provides visibility into the actions taken by support teams, enabling users to understand how incidents are being resolved.
  7. Continuity: A ticketing system provides continuity in the incident management process, ensuring that incidents are handled consistently and effectively across the organization. It also ensures that incident data is captured and stored in a centralized location, providing a comprehensive view of the incident management process.

A Support System Orbits Around 3-Tiered Support

3tieredsupportsystem

Tier 1

Tier 1 tech support is typically the first level of technical support in a multi-tiered technical support model. It is responsible for handling basic customer issues and providing initial diagnosis and resolution of technical problems.

A Tier 1 specialist’s primary responsibility is to gather customer information and analyze the symptoms to determine the underlying problem. They may use pre-determined scripts or workflows to troubleshoot common technical issues and provide basic solutions.

If the issue is beyond their expertise, they may escalate it to the appropriate Tier 2 or Tier 3 support team for further investigation and resolution.

Overall, Tier 1 tech support is critical for providing initial assistance to customers and ensuring that technical issues are addressed promptly and efficiently.

Tier 2

Tier 2 support is the second level of technical support in a multi-tiered technical support model, and it typically involves more specialized technical knowledge and skills than Tier 2 support.

Tier 2 support is staffed by technicians with in-depth technical knowledge and experience troubleshooting complex technical issues. These technicians are responsible for providing more advanced technical assistance to customers, and they may use more specialized tools or equipment to diagnose and resolve technical problems.

Tier 2 support is critical for resolving complex technical issues and ensuring that customers receive high-quality technical assistance.

Tier 3

Support typically involves highly specialized technical knowledge and skills, and technicians at this level are often subject matter experts in their respective areas. They may be responsible for developing new solutions or workarounds for complex technical issues and providing training and guidance to Tier 1 and Tier 2 support teams.

In some cases, Tier 3 support may be provided by the product or service vendor, while in other cases, it may be provided by a third-party provider. The goal of Tier 3 support is to ensure that the most complex technical issues are resolved as quickly and efficiently as possible, minimizing downtime and ensuring customer satisfaction.

Overall, Tier 3 support is critical in providing advanced technical assistance and ensuring that the most complex technical problems are resolved effectively.

Determine The Importance of Tickets/Incidents/Issues/Cases

The first step in a support ticketing system is to determine the incident’s importance. This involves assessing the incident’s impact on the user and the business and assigning a priority level based on the severity of the issue.

Importanceoftickets

  1. Receiving: The step is to receive the incident report from the user. This can be done through various channels, such as email, phone, or a web-based form.
  2. Validating: This step involves validating the incident and verifying that it is a valid issue that needs to be addressed by the Support team.
  3. Logging: Once the incident has been validated, it is logged into an incident application, which is used to track and manage it throughout the process.
  4. Screening: The next step is to screen the incident and determine the user’s symptoms. This involves asking questions to gather more information about the issue and to identify any patterns or trends that may help resolve the incident.
  5. Prioritizing: Once the symptoms have been identified, the next step is to prioritize the incident based on its impact on the user and the business.
  6. Assigning: After the incident has been prioritized, it is assigned to a support team that will handle it. If the support team cannot handle the incident, it is escalated to a higher-level tier.
  7. Escalating: If the incident requires more advanced expertise or resources, it is escalated to a higher-level tier where it can be resolved more effectively.
  8. Resolving: The support team or higher-level tier works on resolving the incident and provides updates to the user until the issue is resolved.
  9. Closing: Once the incident has been resolved, the ticket is closed by logging the resolution and changing the ticket status to indicate that the incident has been successfully resolved.

Summary

Ticketing systems are essential for businesses that want to manage customer service requests efficiently. These systems allow customers to submit service requests, track the progress of their requests, and receive updates when their requests are resolved. The ticketing system also enables businesses to assign service requests to the appropriate employees or teams and prioritize them based on urgency or severity. This helps streamline workflow and ensure service requests are addressed promptly and efficiently. Additionally, ticketing systems can provide valuable insights into customer behavior, allowing businesses to identify areas where they can improve their products or services.

]]>
https://blogs.perficient.com/2025/04/10/managed-service-offering-mso-support-ticketing-system/feed/ 0 379087
How to Subscribe to Salesforce Reports https://blogs.perficient.com/2025/02/12/how-to-subscribe-to-salesforce-reports/ https://blogs.perficient.com/2025/02/12/how-to-subscribe-to-salesforce-reports/#respond Wed, 12 Feb 2025 09:43:17 +0000 https://blogs.perficient.com/?p=376897

Hello Trailblazers!

Salesforce Reports are a cornerstone of effective data-driven decision-making. They allow you to analyze and visualize business data efficiently. Salesforce offers a subscription feature for reports to ensure you or your team stay updated on important metrics without manually checking them. Subscribing ensures that you receive reports regularly in your email inbox, making it easy to monitor performance and trends.

In this blog, we’ll learn a step-by-step guide to subscribing to Salesforce Reports.

So stay tuned!

Before You Begin:

In the earlier sections of this Salesforce Reports series, we explored What Salesforce Reports are and the various types of Salesforce Reports. I highly recommend revisiting those sections to gain a deeper understanding and maximize your knowledge.

Why Subscribe to Salesforce Reports?

Subscribing to Salesforce Reports provides numerous benefits, including:

  1. Timely Updates: Receive reports at a frequency that suits your business needs.
  2. Automation: Eliminate the need to manually run reports.
  3. Collaboration: Share critical data with stakeholders without additional effort.
  4. Customization: Tailor subscription settings to fit your specific reporting requirements.

 

Prerequisites for Report Subscription

Before subscribing to reports in Salesforce, ensure the following:

  1. Permission to Subscribe: So verify that your profile or role includes the permission to subscribe to reports. If not, contact your Salesforce Administrator.
  2. Access to Report: So you must have view access to the report you wish to subscribe to.
  3. Email Configuration: Ensure your organization’s email settings in Salesforce are correctly configured for outbound emails.

By the end of this blog, I will have shared some images and demonstrated how you can receive automated email updates for Salesforce Reports by subscribing to them. So keep reading for all the details!

Steps to Subscribe to a Salesforce Report

Step 1: Navigate to the Reports Tab

  1. Go to the Reports tab in your Org.
  2. Locate the report you want to subscribe.

Step 2: Open the Desired Report

  1. Click on the report name to open it.
  2. So, review the report to ensure it contains the data you need.

Img1

Step 3: Click on the Subscribe Button

  1. Once you open the report, click the down arrow menu button beside the ‘Edit’ button in the top right corner.
  2. When clicked, a menu will appear.
  3. So click the Subscribe button to initiate the subscription process, as shown below.

Img2

Step 4: Configure Subscription Settings

1. Set Frequency: Choose how often you want to receive the report. So options include:

    • Daily
    • Weekly
    • Monthly

2. Select Time: Here, specify when the report email should be sent.

Img3

3. Add Conditions (Optional):

    • Define conditions for sending the report.
    • For example, “Send only if revenue is less than $10,000.”

Img4

Step 5: Add Recipients

  1. Include Yourself: By default, you will be subscribed to the report.
  2. Add Others: Add additional users, roles, or groups who should receive the report and ensure they have access to it.

Img5

Note: If you would like to learn more about how to give access of the reports to the users, then please follow the provided link.

Step 6: Save the Subscription

  1. Review the settings to ensure accuracy.
  2. Click Save to activate the subscription.

Your subscription will be visible in the “Subscribed” column, as shown below.

Img6

So, you can subscribe to Salesforce Reports.

NoteTo learn how to subscribe to Salesforce Dashboards, please explore the detailed blog post by clicking on the provided link.

Managing Report Subscriptions

  1. View Current Subscriptions

    • Navigate to the Reports tab and open the report.
    • Click on Subscribe to view and manage your existing subscription settings.
  2. Edit Subscriptions

    • Modify the frequency, time, or recipients as required.
    • Save changes to update the subscription.
  3. Unsubscribe from Reports

    • If you no longer wish to receive updates, click Unsubscribe from the subscription settings below.

Img7

Best Practices for Report Subscriptions:

  1. Optimize Frequency: Avoid overloading your inbox by choosing a frequency that matches your reporting needs.
  2. Choose Relevant Recipients: Ensure only stakeholders who need the report are included in the subscription.
  3. Define Conditions: Use filters to trigger report emails only when specific criteria are met.
  4. Test Email Delivery: Confirm that reports are delivered correctly to all recipients.

Result – How do you Receive Emails for Salesforce Reports?

So here, I demonstrate the outcome of receiving Salesforce Dashboard updates via email after subscribing to them.

Click to view slideshow.

Troubleshooting Report Subscription Issues

  1. Emails Not Received

    • Check your spam folder.
    • Verify that your email address is correctly entered in Salesforce.
    • Ensure your organization’s email server is not blocking Salesforce emails.
  2. Permission Errors

    • Contact your Salesforce Administrator to ensure you have the required permissions.
  3. Access Issues

    • Confirm that all recipients have access to the report and its underlying data.

 

Conclusion

Subscribing to Salesforce Reports is an efficient way to stay informed about your business’s performance metrics. So, by automating the delivery of reports, you save time and ensure timely decision-making. So follow the steps in this guide to set up report subscriptions and optimize your reporting workflow.

Happy Reading!

“Positivity is not about ignoring challenges; it’s about facing them with hope, resilience, and the belief that every setback is a step toward something better.”

 

Related Posts:

You Can Also Read:

 

 

]]>
https://blogs.perficient.com/2025/02/12/how-to-subscribe-to-salesforce-reports/feed/ 0 376897
Suspense in Action: Simplifying Async Data Fetching in React https://blogs.perficient.com/2025/01/30/suspense-in-action-simplifying-async-data-fetching-in-react/ https://blogs.perficient.com/2025/01/30/suspense-in-action-simplifying-async-data-fetching-in-react/#respond Thu, 30 Jan 2025 07:03:25 +0000 https://blogs.perficient.com/?p=376219

Building React apps often involves dealing with async data fetching. This can be complex and impact the user experience. React Suspense is here to help, making async data fetching simpler and more efficient. It improves your app’s performance and user experience.

React Suspense streamlines async data fetching. It lets you focus on building your app without data fetching worries. With Suspense, managing async data becomes easier, simplifying your code.

Discovering React Suspense’s benefits for async data fetching reveals its power. It helps create efficient, scalable apps. By using Suspense, you enhance your app’s user experience.

Introduction to React Suspense

React Suspense is a game-changer for async data fetching. It offers many benefits. Suspense makes your apps more efficient and user-friendly, and it’s simple to use and maintain.

Key Takeaways

  • You can simplify async data fetching using React Suspense
  • Suspense improves the user experience of your React applications
  • React Suspense reduces the complexity of async data fetching
  • You can create more efficient and scalable applications with Suspense
  • React Suspense is easy to implement and maintain
  • Suspense is a powerful feature for handling async data

Understanding React Suspense for Async Data

React Suspense changes how we handle async data in React apps. It lets you pause a component tree until certain conditions are met. This makes managing async data easier and improves the user experience.

React Suspense is all about making async data fetching more efficient. It lets you show a fallback UI while data loads. This is great for slow networks or big datasets.

What Makes Suspense Different from Traditional Methods

React Suspense is different because it simplifies handling async data. It avoids the complexity of old methods. These often needed many libraries and custom code.

The Evolution of Data Fetching in React

Data fetching in React has grown a lot over time. React Suspense makes it more efficient and scalable. It helps create apps that are more responsive and user-friendly.

Core Concepts Behind Suspense

1.React’s Rendering Process

React’s primary job is to render components efficiently. It achieves this by:

  • Creating a Virtual DOM: A lightweight copy of the actual DOM.
  • Diffing: Comparing the old Virtual DOM with the new one to identify changes.
  • Updating the Real DOM: Applying only the necessary updates to the browser’s DOM.

When rendering a component tree, React needs to know the output of each component. If some data is missing (e.g., API responses or dynamically imported components), React has to decide what to render in the meantime. This is where Suspense comes in.

2.The Role of Promises in React Suspense

At the core of Suspense lies React’s ability to handle JavaScript promises.

  • When React encounters a Suspense boundary (a component wrapped in <Suspense>), it expects the components inside it to either:
    • Render synchronously, or
    • Return a promise if they are waiting for data or lazy-loading.
  • If a promise is returned, React pauses the rendering process for that part of the tree until the promise resolves.

3. Steps React Takes Internally

Here’s a detailed breakdown of what happens when Suspense encounters a lazy-loaded component or asynchronous data:

      1: Initial Render

  • React begins rendering the component tree from top to bottom.
  • When it encounters a lazy-loaded component (via React.lazy) or a data-fetching hook (like useSuspenseQuery), it triggers an asynchronous operation that returns a promise.

      2: Suspending the Render

  • If a promise is returned, React marks the rendering as “suspended.”
  • React checks for a Suspense boundary in the parent tree.
    • If a Suspense boundary is found, React renders the fallback content defined in the boundary.
    • If no Suspense boundary exists, React throws an error because it cannot handle the pause without a fallback.

      3: Fallback UI

  • The fallback UI (like a loading spinner) is displayed immediately.
  • Meanwhile, React continues tracking the promise, waiting for it to resolve.

      4: Resuming the Render

  • When the promise resolves:
    • React retries rendering the suspended component.
    • It replaces the fallback UI with the resolved content.

      5: Commit Phase

  • Once the entire tree is rendered (including the resolved content), React commits the final output to the DOM.

4. How Suspense Works with Fiber Architecture

React’s Fiber architecture is what makes Suspense possible. Fiber is a reimplementation of React’s reconciliation algorithm designed for better handling of asynchronous rendering.

Key Features of Fiber in Suspense:

  1. Interruptible Rendering: Fiber allows React to pause and resume rendering as needed. This is crucial for Suspense, as rendering can be paused when waiting for a promise.
  2. Work Units: Each component in the tree is treated as a “unit of work.” When a promise is encountered, React can skip the suspended unit and continue working on other parts of the tree.
  3. Priority Levels: Fiber assigns priorities to updates. For example:
    • User interactions (like clicks) have high priority.
    • Data fetching has lower priority.

This prioritization ensures a smooth user experience even when rendering is paused.

5. Key Internals of Suspense

Promise Handling

React hooks into JavaScript promises using a mechanism called “thenable tracking.”

  • When a component throws a promise, React catches it and:
    • Tracks the promise in an internal queue.
    • Marks the component as “suspended.”
    • Waits for the promise to resolve.

Fallback Rendering

Suspense boundaries maintain a reference to their fallback UI. When React detects a suspension, it replaces the suspended part of the tree with this fallback.

Retry Mechanism

When the promise resolves, React retries rendering the suspended component. This is done efficiently by reusing previously completed parts of the tree and updating only the suspended section.

6. Advanced Concepts

Data Fetching and Suspense

React Suspense doesn’t fetch data on its own. It requires libraries like React Query, Relay, or custom hooks to throw promises during data fetching.

Concurrent Mode

In React’s Concurrent Mode (experimental), Suspense shines even brighter:

  • It enables React to work on multiple rendering tasks simultaneously.
  • Suspense boundaries can coordinate between different states (e.g., transitioning from a loading spinner to actual content smoothly).

Transitions

React can use Suspense to manage transitions. For instance:

  • A transition can show old content while waiting for new data.
  • Once the data is ready, Suspense swaps out the old content for the new one seamlessly.

7. Example of Suspense Internals in Action

Picture1

What Happens Internally:

  1. fetchUserData() returns a promise.
  2. React detects the thrown promise and pauses rendering.
  3. The Suspense boundary renders the fallback UI.
  4. After 2 seconds, the promise resolves, and React retries rendering UserProfile.
  5. The actual content replaces the fallback.

 

Conclusion: Future-Proofing Your React Applications with Suspense

React Suspense is a game-changer for async data fetching. It makes your React apps better and future-proof. It ensures a smooth user experience, handles loading states well, and fixes errors.

To keep your React apps ahead, stay updated with React’s latest. Using React Suspense lets you use new tech and give users top-notch performance. Suspense makes your apps ready for new user needs and tech.

Success comes from always learning and using the best practices. Check out lots of resources, try Suspense in your projects, and follow React’s growth. This way, your apps will always be leading the pack.

 

]]>
https://blogs.perficient.com/2025/01/30/suspense-in-action-simplifying-async-data-fetching-in-react/feed/ 0 376219
The Art of Writing Test Classes in Salesforce Apex https://blogs.perficient.com/2025/01/29/the-art-of-writing-test-classes-in-salesforce-apex/ https://blogs.perficient.com/2025/01/29/the-art-of-writing-test-classes-in-salesforce-apex/#comments Wed, 29 Jan 2025 07:12:17 +0000 https://blogs.perficient.com/?p=376132

Imagine you are building a skyscraper. Before you allow people to move in, you ensure it can withstand earthquakes, high winds, and other stress factors. Similarly, when you develop in Salesforce Apex, you need to test your code to ensure it works seamlessly under all scenarios. This is where the art of writing test classes comes into play. For beginners, understanding test classes is not just about code coverage; it’s about quality and confidence in your applications.

Let’s dive into the story of crafting test classes—one step at a time, simplifying complexities and answering your questions along the way.

Why Are Test Classes Important?

Think of test classes as safety checks for your Salesforce org. Without them, you might deploy code that breaks critical business processes. Here are some key reasons why they are essential:

The Art Of Writing Test Classes In Salesforce Apex Visual Selection

  • Error Prevention: Test classes ensure your code behaves as expected, even in edge cases.
  • Code Coverage: Salesforce requires at least 75% code coverage to deploy Apex to production.
  • Regression Testing: They help ensure new changes don’t break existing functionality.
  • Improved Confidence: Good test classes give developers and stakeholders peace of mind.

Now that we know why test classes matter, let’s learn how to write them effectively.

Getting Started with Test Classes

The Basics

Test classes in Salesforce are written in Apex and are annotated with @isTest. These classes validate the behavior of your Apex code by simulating different scenarios. Here’s a simple example:

@isTest
public class AccountHandlerTest {
    @isTest
    static void testCreateAccount() {
        // Arrange: Set up test data
        Account acc = new Account(Name = 'Test Account');
        
        // Act: Perform the action to test
        insert acc;

        // Assert: Verify the outcome
        Account insertedAcc = [SELECT Id, Name FROM Account WHERE Id = :acc.Id];
        System.assertEquals('Test Account', insertedAcc.Name);
    }
}

Key Concepts to Remember

  1. Isolation: Test classes don’t affect real data in your org. Salesforce provides a separate testing environment.
  2. Data Creation: Always create test data in your test classes. Don’t rely on existing data.
  3. Assertions: Use System.assert methods to validate outcomes. For example, System.assertEquals(expected, actual) ensures the code produces the expected result.

Writing Effective Test Classes

1. Follow the Arrange-Act-Assert Pattern

This is a golden rule in testing. Break your test methods into three clear sections:

  • Arrange: Prepare the data and environment.
  • Act: Perform the action you want to test.
  • Assert: Verify the result.

Example:

@isTest
static void testCalculateDiscount() {
    // Arrange
    Opportunity opp = new Opportunity(Name = 'Test Opp', StageName = 'Prospecting', CloseDate = Date.today());
    insert opp;

    // Act
    Decimal discount = DiscountCalculator.calculateDiscount(opp.Id);

    // Assert
    System.assert(discount > 0, 'Discount should be greater than zero.');
}

2. Use Test.startTest and Test.stopTest

Salesforce limits the number of queries and DML operations you can perform in a single transaction. To ensure your test methods don’t hit these limits, use Test.startTest() and Test.stopTest(). This also helps test asynchronous methods like future calls or batch jobs.

@isTest
static void testFutureMethod() {
    // Arrange
    Account acc = new Account(Name = 'Test Account');
    insert acc;

    // Act
    Test.startTest();
    MyFutureClass.myFutureMethod(acc.Id);
    Test.stopTest();

    // Assert
    Account updatedAcc = [SELECT Status__c FROM Account WHERE Id = :acc.Id];
    System.assertEquals('Processed', updatedAcc.Status__c);
}

3. Test for Positive, Negative, and Edge Cases

Cover all possible scenarios:

  • Positive Test: Validate expected behavior for valid inputs.
  • Negative Test: Handle invalid inputs gracefully.
  • Edge Cases: Test boundaries (e.g., null values, empty lists).

4. Use Mocking for Callouts

Salesforce doesn’t allow HTTP callouts in test methods. Instead, use the HttpCalloutMock interface to simulate responses.

@isTest
static void testCallout() {
    Test.setMock(HttpCalloutMock.class, new MockHttpResponseGenerator());

    // Act
    HttpResponse response = MyCalloutService.makeCallout();

    // Assert
    System.assertEquals(200, response.getStatusCode());
}

5. Check Governor Limits

You can use Limits methods in your test classes to ensure your code efficiently handles large datasets and respects governor limits.

System.assert(Limits.getQueries() < 100, 'Query limit exceeded!');

Common Questions Answered

Q1. How many test classes should I write?

Write enough test classes to cover all your code paths. Every method and branch of logic should be tested.

Q2. How can I achieve 100% code coverage?

While 100% coverage isn’t always realistic, aim to cover every possible branch in your code. Use tools like Developer Console to identify uncovered lines.

Q3. Can I use real data in test classes?

No, it’s a best practice to create your own test data to ensure reliability and isolation.

Q4. How do I handle exceptions in test methods?

Use try-catch blocks to validate that exceptions are thrown when expected.

try {
    MyClass.myMethod(null);
    System.assert(false, 'Expected an exception but none was thrown.');
} catch (Exception e) {
    System.assertEquals('Expected Exception Message', e.getMessage());
}

Wrapping Up

Writing test classes is not just a task to check off your list; it’s an art that ensures the reliability of your Salesforce applications. Start with small, clear methods, cover various scenarios, and always validate your outcomes. Over time, you’ll find yourself building robust, error-free solutions that stand the test of time—just like a well-built skyscraper.

Happy coding!

]]>
https://blogs.perficient.com/2025/01/29/the-art-of-writing-test-classes-in-salesforce-apex/feed/ 1 376132
How to Subscribe to Salesforce Dashboards? https://blogs.perficient.com/2025/01/27/how-to-subscribe-to-salesforce-dashboards/ https://blogs.perficient.com/2025/01/27/how-to-subscribe-to-salesforce-dashboards/#respond Mon, 27 Jan 2025 07:10:13 +0000 https://blogs.perficient.com/?p=376037

Hello Trailblazers!

Salesforce Dashboards are powerful tools that allow users to visualize and analyze data at a glance. To stay updated on key metrics without manually checking dashboards, Salesforce provides a subscription feature. Subscribing to dashboards ensures that you and your team receive timely updates via email, helping you stay informed and make data-driven decisions.

In this blog, we’ll learn how to subscribe to Salesforce Dashboards.

Before you Begin:

In the earlier sections of this Salesforce Dashboards series, we explored what Salesforce Dashboards are, the step-by-step process to create them, and an in-depth look at Dynamic Dashboards in Salesforce. So to ensure a thorough understanding and gain the maximum benefit from this series, I highly recommend reviewing those parts before moving forward.

Benefits of Subscribing to Salesforce Dashboards

  1. Automated Updates: Receive dashboard data directly in your email without manual intervention.
  2. Timely Insights: Get updates on key metrics at regular intervals.
  3. Collaboration: Share insights with team members effortlessly by including them in subscriptions.
  4. Customization: Choose specific schedules and recipients for dashboard updates.

Prerequisites for Subscribing to Dashboards

  1. Permissions: Ensure you have the “Subscribe to Dashboards” permission enabled. Check with your Salesforce Administrator if you are unsure.
  2. Access to Dashboard: You must have view access to the dashboard you want to subscribe to.
  3. Email Configuration: Your Salesforce org must have email delivery settings configured.

At the end of this blog, I have demonstrated how you can receive automated email updates for Salesforce Dashboards by subscribing to them. So stay tuned for all the details!

Steps to Subscribe to a Salesforce Dashboard

Step 1: Navigate to the Dashboard

  1. Go to the Dashboards tab in Salesforce.
  2. Locate the dashboard you want to subscribe to using the search bar or browsing the folders.
  3. Click to open the desired dashboard as illustrated below.

Img1

Step 2: Click on the Subscribe Button

  1. Once the dashboard is open, locate the Subscribe button at the top right corner of the screen.
  2. Click on the Subscribe button to begin the subscription process.

Img2

 

Step 3: Configure Subscription Settings

  1. Set Frequency: Choose how often you want to receive the dashboard updates. Options include:
    • Daily
    • Weekly
    • Monthly
  2. Select Time: Specify the time of day as shown below when the dashboard email should be sent.
  3. Choose Conditions (Optional):
    • Add filters or conditions for triggering the subscription.
    • For example, “Send only if revenue is below $50,000.”

Img3

 

Step 4: Add Recipients

  1. Include Yourself: By default, you will be subscribed to the dashboard.
  2. Add Team Members: Add colleagues or other Salesforce users who should receive the email. Enter their names or select them from the user list.

Note: Only users with access to the dashboard can be added as recipients.

Img4

Step 5: Save the Subscription

  1. Review your subscription settings to ensure everything is correct.
  2. Click Save to activate the subscription.

So you can see your subscription in the Subscribed column as shown below.
Img5

So in this way, you can subscribe to the Salesforce Dashboards.

Note: If you’re interested in learning “how to subscribe to Salesforce Reports”, please explore the detailed blog by clicking on the provided link.

Managing Dashboard Subscriptions

  1. View Existing Subscriptions:
    • Open the dashboard and click on the Subscribe button.
    • You can see and manage your existing subscriptions.
  2. Edit Subscription Settings:
    • Adjust frequency, time, or recipients as needed.
    • Save changes to update the subscription.
  3. Unsubscribe:
    • If you no longer wish to receive dashboard emails, click on Unsubscribe to stop the updates.

Img6

Best Practices for Dashboard Subscriptions

  1. Limit Recipients: Only include essential stakeholders to avoid overwhelming users with emails.
  2. Optimize Frequency: Choose a schedule that aligns with the dashboard’s relevance and data update frequency.
  3. Use Filters Wisely: Apply conditions to ensure emails are sent only when specific criteria are met.
  4. Test Email Delivery: Verify that emails are being sent and received correctly.

Result – How do you receive emails for Salesforce Dashboards?

Here, I’m showing the result of receiving the Salesforce Dashboard after subscribing to it.

Click to view slideshow.

Troubleshooting Subscription Issues

  1. Not Receiving Emails:
    • Check your spam or junk folder.
    • Confirm that your email address is correct in Salesforce.
    • Verify that your organization’s email server is not blocking Salesforce emails.
  2. Permission Issues:
    • Ensure you have the necessary permissions to subscribe to dashboards.
    • Contact your Salesforce Administrator for assistance.
  3. Dashboard Access Issues:
    • Confirm that you have access to the dashboard and its data.

 

Conclusion

Subscribing to Salesforce Dashboards is a simple yet effective way to stay informed about your business metrics. So by following the steps outlined in this guide, you can automate dashboard updates, share insights with your team, and make timely decisions.

Happy Reading!

 “Self-learning is the art of unlocking your potential, where curiosity becomes your guide and perseverance your greatest teacher.”

 

Related Posts:

  1. Subscribe to Dashboards in Lightning Experience
  2. Subscribe to Dashboards by Group or Role

You Can Also Read:

1. Introduction to the Salesforce Queues – Part 1
2. Mastering Salesforce Queues: A Step-by-Step Guide – Part 2
3. How to Assign Records to Salesforce Queue: A Complete Guide
4. An Introduction to Salesforce CPQ
5. Revolutionizing Customer Engagement: The Salesforce Einstein Chatbot

 

]]>
https://blogs.perficient.com/2025/01/27/how-to-subscribe-to-salesforce-dashboards/feed/ 0 376037
How to Create a Bucket Column for the Picklist Type Field in Salesforce Report https://blogs.perficient.com/2025/01/23/how-to-create-a-bucket-column-for-the-picklist-type-field-in-salesforce-report/ https://blogs.perficient.com/2025/01/23/how-to-create-a-bucket-column-for-the-picklist-type-field-in-salesforce-report/#comments Thu, 23 Jan 2025 10:31:55 +0000 https://blogs.perficient.com/?p=375095

Hello Trailblazers!

Salesforce provides powerful reporting tools to analyze and visualize data effectively. Among these tools, the Bucket Field stands out as a feature that enables categorization of data directly within reports.

In this blog post, we’ll focus on creating a Bucket Column specifically for Picklist type fields in Salesforce Reports, offering a step-by-step guide to help users categorize data efficiently.

Before you Begin:

In the previous part of this blog we’ve explored “What is Bucket Field in Salesforce?”, ways to create it and many more. Before proceeding I highly recommend revisiting the earlier section to gain a comprehensive understanding of the fundamentals related to it.

What is a Bucket Column in Salesforce?

A Bucket Column/Field is a feature that allows users to group values of a specific field into categories (buckets) without altering the underlying Salesforce object. Here in this blog, we’re particularly using it for picklist fields, where predefined values can be grouped into broader categories to simplify analysis.

For example:

  • Group opportunity stages into “Early,” “Mid,” and “Closed” categories.
  • Categorize lead sources into “Digital,” “Offline,” and “Referral” groups.

Benefits of Bucket Columns for Picklist Fields

  1. Ease of Use: Group picklist values dynamically without modifying the schema.
  2. Enhanced Insights: Aggregate data into meaningful categories for better analysis.
  3. Time-Saving: No need for custom fields or formula fields to categorize data.
  4. Improved Collaboration: Share reports with categorized data easily across teams.

Note: If you’re interested in learning “How to Share Reports or Report Folders in Salesforce,” you can explore the detailed guide provided in this link. It offers step-by-step instructions to help you seamlessly manage report sharing and collaborate effectively.

Steps to Create a Bucket Column for Picklist Fields

Step 1: Open or Create a Report

  1. Navigate to the Reports tab in Salesforce.
  2. Click New Report or open an existing report that contains the picklist field you want to bucket.
  3. Select the relevant report type (e.g., Opportunities, Leads).
  4. Here we are selecting standard “Leads” report type as shown in the figure below.

Img1

Note: If you are interested in learning “What is a Custom Report Type in Salesforce?” and learn how to create one, I recommend you to explore the detailed guide available through the provided link.

Step 2: Add a Bucket Column

Once you select the report type, it will open the Report Builder.

  1. Navigate to the Outline section in the left-hand panel.
  2. Locate the Columns section and click the dropdown menu.
  3. From the dropdown options, select Add Bucket Column to proceed, as shown in the figure below.

Img2

Note: We’ve previously explored an alternative method for creating a bucket column. If you’d like to learn that approach, kindly refer to the earlier part of this blog post. The relevant link is provided in the “Before You Begin” section and is also included at the end for your convenience.

Step 3: Configure the Bucket Column

  1. Name Your Bucket Column: Enter a descriptive name, such as “Lead Source Group.”
  2. Select the Source Field: Choose the desired picklist field that you want to use for creating a bucket column. (e.g., Lead Source).
  3. Define Buckets:
    • Click Add Bucket to create a new category.
    • Enter a name for the bucket (e.g., “Digital Sources“).
    • Select picklist values to include in this bucket (e.g., “Website,”).
    • Click on “Move to” and choose “Digital Sources” from the options, as illustrated in the figure below.Img3
  4. Repeat for Other Buckets: Create additional buckets for other categories (e.g., “Offline Sources,” “Referral Sources”). It should be like this:Img4
  5. Click Apply to save your configuration.

Step 4: Use the Bucket Column in the Report

  1. Drag the newly created bucket column into the report canvas anywhere you want.
  2. Use it for grouping, filtering, or summarizing data as needed.
  3. If you summarize the report by newly created Bucket Column/Field, it will look like this:

Img5

 

Note: If you would like to learn more about “How to create Summary Reports in Salesforce?”, then please follow the provided link.

Step 5: Save and Run the Report

  1. Save the report by clicking Save
  2. Provide a meaningful name, description, and folder location for the report.
  3. Click Save & Run to visualize your categorized data.

Best Practices for Bucket Columns

  1. Keep Categories Meaningful: Ensure that bucket names are intuitive and easy to understand.
  2. Test with Small Datasets: Verify the categorization before applying it to larger datasets.
  3. Document Your Configuration: Provide descriptions for each bucket to clarify their purpose.
  4. Limit Buckets: Avoid creating too many buckets to maintain report clarity and focus.

 

Conclusion

Bucket Columns in Salesforce Reports are a simple yet powerful way to organize and analyze data dynamically. For Picklist fields, they provide a flexible solution to group values into meaningful categories without altering the underlying schema.

By following the steps in this guide, you can quickly set up bucket columns and unlock deeper insights into your Salesforce data.

Happy Reading!

 “A disciplined mind leads to a focused life; when you control your actions, you control your destiny.”

 

Related Posts:

  1. Bucket Field in Salesforce
  2. Bucket Field Limitations

You Can Also Read:

1. Introduction to the Salesforce Queues – Part 1
2. Mastering Salesforce Queues: A Step-by-Step Guide – Part 2
3. How to Assign Records to Salesforce Queue: A Complete Guide
4. An Introduction to Salesforce CPQ
5. Revolutionizing Customer Engagement: The Salesforce Einstein Chatbot

 

]]>
https://blogs.perficient.com/2025/01/23/how-to-create-a-bucket-column-for-the-picklist-type-field-in-salesforce-report/feed/ 1 375095
Streamline Your Code with Salesforce Apex Collection Conversion Hacks https://blogs.perficient.com/2025/01/21/streamline-your-code-with-salesforce-apex-collection-conversion-hacks/ https://blogs.perficient.com/2025/01/21/streamline-your-code-with-salesforce-apex-collection-conversion-hacks/#respond Tue, 21 Jan 2025 09:24:44 +0000 https://blogs.perficient.com/?p=375916

Imagine you’re building a Lego masterpiece. You’ve got blocks of all shapes and sizes—cylinders, squares, rectangles—but they all need to come together in harmony to create something amazing. Salesforce Apex collections work in a similar way. Collections help you organize and manipulate data efficiently, and sometimes, you need to convert one collection type into another to get the job done.

Today, I’ll take you on a story-driven tour of Salesforce Apex collections and their conversions. By the end, you’ll know exactly when and how to use these tools like a pro—even if you’re just starting out.

Understanding the Cast of Characters

 Visual Selection

In the Apex world, there are three main types of collections:

  1. Lists: Think of these as a row of chairs in a theater. Each chair (element) has a fixed position (index).
    Example: A list of account names—['Acme Inc.', 'TechCorp', 'DreamWorks'].
  2. Sets: Sets are like your box of unsorted chocolates—no duplicates allowed, and order doesn’t matter.
    Example: A set of unique product IDs—{P001, P002, P003}.
  3. Maps: Maps are like dictionaries, with keys and their corresponding values. You can quickly look up information using a key.
    Example: A map of employee IDs to names—{101 => 'John', 102 => 'Alice', 103 => 'Bob'}.

Why Convert Collections?

Let’s say you’re tasked with creating a report of unique leads from multiple campaigns. You initially gather all the leads in a List, but you notice duplicates. To clean things up, you’ll need a Set. Or perhaps you have a Map of IDs to records, and your boss asks for a simple list of names. Voilà—collection conversions to the rescue!

Key Scenarios for Conversions:

  • Removing duplicates (List → Set)
  • Extracting values or keys from a Map (Map → List/Set)
  • Searching with custom logic or preparing data for another operation

The Magic of Conversion

Here’s where the fun begins! Let’s dive into common collection conversions and their Apex implementations.

1. List to Set

Scenario: You have a list of product categories, but some are repeated. You need unique categories for a dropdown.

List<String> categories = new List<String>{'Electronics', 'Books', 'Books', 'Toys'};
Set<String> uniqueCategories = new Set<String>(categories);

System.debug(uniqueCategories);
// Output: {Electronics, Books, Toys}

Key Takeaway: A Set automatically removes duplicates.

2. Set to List

Scenario: You have a Set of user IDs and need to process them in a specific order.

Set<Id> userIds = new Set<Id>{'005xx000001Sv7d', '005xx000001Sv7e'};

List<Id> orderedUserIds = new List<Id>(userIds);

System.debug(orderedUserIds);
// Output: A list of IDs in no specific order

Tip: If order matters, sort the list using List.sort().

3. Map to List (Keys or Values)

Scenario: You have a Map of account IDs to names but need only the names.

Map<Id, String> accountMap = new Map<Id, String>{'001xx000003NGc1' => 'Acme Inc.','001xx000003NGc2' => 'TechCorp'};

List<String> accountNames = accountMap.values();

System.debug(accountNames);
// Output: ['Acme Inc.', 'TechCorp']

Bonus: To get the keys, use accountMap.keySet() and convert it to a list if needed.

4. List to Map

Scenario: You have a list of contacts and want to create a Map of their IDs to records.

List<Contact> contacts = [SELECT Id, Name FROM Contact LIMIT 5];

Map<Id, Contact> contactMap = new Map<Id, Contact>(contacts);

System.debug(contactMap);
// Output: A map of Contact IDs to records

Key Takeaway: This is super handy for quick lookups!

5. Set to Map

Scenario: You need a Map of product IDs (keys) to default stock values.

Set<String> productIds = new Set<String>{'P001', 'P002'};

Map<String, Integer> stockMap = new Map<String, Integer>();

for (String productId : productIds) {
stockMap.put(productId, 100); // Default stock is 100
}
System.debug(stockMap);
// Output: {P001=100, P002=100}

Common Pitfalls (and How to Avoid Them)

 Visual Selection (1)

  1. Null Collections: Always initialize your collections before using them.
    Example: List<String> names = new List<String>();
  2. Duplicate Data: Remember that Sets discard duplicates, but Lists don’t. Convert wisely based on your use case.
  3. Order Dependency: Lists maintain insertion order; Sets and Maps don’t. If order is critical, stick with Lists.
  4. Type Mismatches: Ensure the types match when converting. For example, converting a List<String> to a Set<Integer> will fail.

A Pro’s Perspective

Once you’ve mastered these basics, you’ll start seeing patterns in your day-to-day Salesforce development:

  • Cleaning up data? Convert Lists to Sets.
  • Need efficient lookups? Use Maps and their keys/values.
  • Preparing for DML operations? Leverage List to Map conversions for easy processing.

Quick Tip: If you find yourself repeatedly converting collections, consider creating utility methods for common tasks.

The Final Word

Collections are the backbone of Salesforce Apex, and converting between them is an essential skill. Whether you’re cleaning data, optimizing queries, or preparing for integrations, understanding how and when to convert collections can save you hours of frustration.

Now it’s your turn—try these examples in a developer org or a Trailhead playground. The more you practice, the more intuitive this will become. And remember, every pro was once a beginner who didn’t give up!

Happy coding! 🚀

]]>
https://blogs.perficient.com/2025/01/21/streamline-your-code-with-salesforce-apex-collection-conversion-hacks/feed/ 0 375916
Preparing for Salesforce Spring ’25 Release Updates: Miscellaneous Updates https://blogs.perficient.com/2025/01/21/preparing-for-salesforce-spring-25-release-updates-miscellaneous-updates/ https://blogs.perficient.com/2025/01/21/preparing-for-salesforce-spring-25-release-updates-miscellaneous-updates/#respond Tue, 21 Jan 2025 06:45:45 +0000 https://blogs.perficient.com/?p=375241

The Salesforce Spring ’25 release is just around the corner, bringing a mix of exciting new features, critical updates, and changes designed to enhance the platform’s usability and security. However, with each new release comes the responsibility of preparation, ensuring that your Salesforce environment remains seamless and efficient. Whether you’re a developer, admin, or end user, staying informed and proactive is key to leveraging these updates to their full potential. This blog explores the essential updates in the Spring ’25 release, offering practical steps and tips to help you prepare your Salesforce org, minimize disruption, and make the most of the new features.

Spring Release 2025 Blog Template 1 708x428 1

Image source: Salesforce

General Preparation Tips

  • Use Sandboxes

    Perform all updates in sandboxes before production deployment.

  • Schedule Changes

    Make changes during non-working hours to allow rollback if issues arise.

  • Review Managed Packages

    Check compatibility with package providers for impacted features.

These steps will ensure your Salesforce org is ready for the Spring ’25 release updates with minimal disruptions.

Key Changes in Spring ’25

  1. .Change Einstein Activity Capture Permissions for Sales Engagement Basic Users

  • Impact

    Users with the Sales Engagement Basic User permission set will lose access to Einstein Activity Capture. They need to be assigned the Standard Einstein Activity Capture permission set. Cloned permission sets will also lose access.Einstein Activity1

    Image Source :Salesforce Help

  • Preparation

    • No Code:
      • Create a Permission Set List View showing permission sets with “Use Einstein Activity Capture.”
    • Pro Code:
      • Search metadata for AutomaticActivityCapture references.
    • Adjust permissions in a sandbox first. Ensure users have appropriate access without losing needed permissions from Sales Engagement Basic User.
  • Production Steps

After sandbox testing, update permissions in production and validate Einstein Activity Capture functionality.

  1. Enable ICU Locale Formats

  • Impact

    Salesforce is moving from Oracle’s JDK Locale Formats to ICU Locale Formats, which affect date, time, names, addresses, and number formats.
    Enforcement rolls out until Summer ’25. Users with en_CA locales should ensure ICU formats are enabled. For Formats, follow this guide on Salesforce Help.

  • Preparation

    • Check current formats using Salesforce Help.
    • For JDK Locales:
      • Enable a test run in a sandbox.
      • Update Apex classes, triggers, and Visualforce pages as needed.
    • Test impacted functionality thoroughly before enabling the update.
  • Production Steps

    • After sandbox validation, deploy updates outside working hours.
    • Enable the update well ahead of enforcement to allow rollback if needed.
  1. Verify Your Return Email Address for Sender Verification

  • Impact

    Return email addresses must be verified before being used. Users will receive verification emails once per release until Spring ’25.

  • Preparation

    • No Code and Pro Code:
      • Users should check their email settings at:
        /lightning/settings/personal/EmailSettings/home.
      • If the “Resend Verification Email” option is available, users should click it and follow the email instructions.Return Email1Image Source:  Salesforce
  • Production Steps:

Conclusion

Remember, preparation is not just about addressing immediate impacts but also about future-proofing your Salesforce org for sustained success. Stay informed, collaborate with your team, and leverage Salesforce tools to make this release work to your advantage. With the right approach, you can turn these updates into opportunities to optimize processes and enhance the user experience.

]]>
https://blogs.perficient.com/2025/01/21/preparing-for-salesforce-spring-25-release-updates-miscellaneous-updates/feed/ 0 375241