Tag: No Code

  • No Code Salesforce and NetSuite Integration

    No Code Salesforce and NetSuite Integration

    The first cloud computing software provider is recognized to be NetSuite. You can manage your sales process more effectively with real-time access to your back office thanks to the automatic, real-time connection between Salesforce and NetSuite, which also eliminates data entry tasks, cost overhead, and data duplication.

    In this blog, we will go over the features, benefits, prerequisites, and No Code Salesforce and NetSuite integration process;

    Features of Salesforce and NetSuite

    360-Degree Visibility

    Track the processing of sales orders or keep track of consumer financial activities like credits and refunds in real time.

    Numerous Customizations

    By including the capabilities that are most beneficial for your organization, you can make your integration work for you.

    Extra Features

    Enhance efficiency by synchronizing order cancellations, removing items from the store, etc.

    Unified Product Information

    Real-time product export from NetSuite to Salesforce will provide your sales team access to the most recent product information.

    Standardized product pricing levels

    Easily synchronize product price, numerous pricing tiers, and support for multiple currencies between NetSuite and Salesforce

    Real-time Sales Order Synchronization

    Create quotes and sales orders in NetSuite in real-time from won or closed Salesforce opportunities while automatically syncing the relevant data.

    Easy to deploy

    Immediately deploy to get you moving with the least amount of fuss.

    Prerequisites

    • One’s Salesforce profile.

    • A NetSuite profile.

    • Working knowledge of NetSuite and Salesforce

    Benefits of Salesforce and Netsuite Integration

    • An improvement in productivity and cash flow efficiency

    • Improve Processes

    • Get Vital Customer Data

    • Accuracy of Data

    • Dashboards & Reports for 360° Financial Visibility

    Integration Process

    Make Restlet scripts and add them to the NetSuite platform.

    dont miss out iconDon’t forget to check out: No Code MuleSoft Composer Integration with Salesforce

    A JS script for adding new fields is added to NetSuite as the first step in the NetSuite Salesforce Integration. The following code is necessary to create a new contact (as you must add a new script file for each object you want to synchronize between NetSuite and Salesforce).

    // Create a standard NetSuite record
    function createRecord(datain)
    {
         var err = new Object();
         // Validate if mandatory record type is set in the request
         if (!datain.recordtype)
         {
              err.status = “failed”;
              err.message= “missing recordtype”;
              return err;
         }
         var record = nlapiCreateRecord(datain.recordtype);
         for (var fieldname in datain)
         {
              if (datain.hasOwnProperty(fieldname))
              {
                   if (fieldname != ‘recordtype’ && fieldname != ‘id’)
                   {
                        var value = datain[fieldname];
                        if (value && typeof value != ‘object’) // ignore other type of parameters
                        {
                             record.setFieldValue(fieldname, value);
                        }
                    }
               }
         }
    nlapiLogExecution(‘DEBUG’,’zip=’+datain.zip);
    record.selectNewLineItem(‘addressbook’);
    record.setCurrentLineItemValue(‘addressbook’,’city’, datain.city);
    record.setCurrentLineItemValue(‘addressbook’,’zip’, datain.zip);
    record.setCurrentLineItemValue(‘addressbook’, ‘country’, ‘US’);
    record.setCurrentLineItemValue(‘addressbook’,’label’,’billing address’);
    record.commitLineItem(‘addressbook’);
    record.selectNewLineItem(‘contact’);
    record.setCurrentLineItemValue(‘contact’,’contactrole’,’-10′);
    record.setCurrentLineItemValue(‘contact’, ‘firstname’, datain.firstname);
    record.commitLineItem(‘contact’);
    var recordId = nlapiSubmitRecord(record);
    nlapiLogExecution(‘DEBUG’,’id=’+recordId);
    var nlobj = nlapiLoadRecord(datain.recordtype,recordId);
    return nlobj;
    }

    Salesforce Account Authentication for NetSuite

    Authentication is necessary for all data transfers. To authenticate the NetSuite account for Salesforce, see the sample script in the code below. The majority of times when NetSuite and Salesforce are integrated, it is advisable to carry out the authentication calls using NetSuite credentials and utilize Salesforce to access or transfer data to NetSuite.

    public static void createNSCustomerRecord(account acc){
         HttpRequest req = new HttpRequest();
         HttpResponse res = new HttpResponse();
         String endpoint = currNetSuiteSettings.NSEndpointCreateCustomer__c;
         req.setEndpoint(endpoint);
         string custId;
         //Set Method and Endpoint and Body
         req.setMethod(‘POST’);
         req.setTimeout(119990);
         Http http = new Http();
         String responseBody;
         req.setHeader(‘Content-Type’,’application/json’);
         string NetSuiteProductionAccount = currNetSuiteSettings.NetSuiteProductionAccount__c;
         string NetSuiteProductionUserName = currNetSuiteSettings.NetSuiteProductionUserName__c;
         string NetSuiteProductionPassword = currNetSuiteSettings.NetSuiteProductionPassword__c;
         String authorizationheader = ‘NLAuth nlauth_account=’+NetSuiteProductionAccount+’,
         nlauth_email=’+NetSuiteProductionUserName+’,nlauth_signature=’;
         nlauth_email= nlauth_email+NetSuiteProductionPassword;
         //Construct Authorization and Content header
         req.setHeader(‘Authorization’, authorizationHeader);
         string recordType = ‘customer’;
         string accountId = ”;
         accountId = acc.Id;
         system.debug(‘accountId===>’+accountId);
         //you need the minimum field pattern for whatever entity you are posting, refer to their API guide
         req.setBody
         (‘{“recordtype”:”‘+recordType+'”,”entityid”:”‘+acc.name+'”,”accountId”:”‘+accountId+'”);
         system.debug(‘setBody’+req);
         try {
              res = http.send(req);
              responseBody = res.getBody();
              system.debug(‘responseBody’+responseBody
              JSONParser parser = JSON.createParser(responseBody );
              while (parser.nextToken() != null) {
              System.debug(‘Current token: ‘ + parser.getCurrentToken());
              // Advance to the next value.
              parser.nextValue();
              // Get the field name for the current value.
              String fieldName = parser.getCurrentName();
              if(fieldName == ‘id’)
              {
                   // Get the textual representation of the value.
                   System.debug(‘fieldName ==id’);
                   custId = parser.getText();
                   system.debug(‘custId====>’+custId);
                   break;
               }
         }
    try {
         List <account> acc1 = [select NetSuiteCustomerId__c from account where id= :acc.id];
         if(acc1.isEmpty() == false) {
              acc1[0].NetSuiteCustomerId__c = custId;
              update acc1;
              }
         } 
    catch(System.CalloutException e) {
         System.debug(‘Callout error: ‘+ e);
         }
    } 
    catch(System.CalloutException e) {System.debug(res.toString());}
    }

    Execute Classes Between Salesforce and NetSuite in Batches

    Although the entire sync procedure can be carried out in real-time, running it in batches is the ideal choice. To make and execute these batches, use the following code.

    global class NetSuiteBatchApexWebCalloutClass Implements Database.Batchable<account>, Database.AllowsCallouts{global List<account> accountsToTarget;
    private NetSuiteBatchApexWebCalloutClass(){}
    Global NetSuiteBatchApexWebCalloutClass(Set<String> accRecIds)
    {
         accountsToTarget = [SELECT Id, Name,owner.Name,NetSuiteCustomerId__c FROM Account where Id IN : accRecIds];
    }
    global Iterable<account> start(database.batchablecontext BC){
         return (accountsToTarget);
    }
    global void execute(Database.BatchableContext BC, List<account> scope){
         for(Account a : scope){
         NetSuiteWebserviceCallout.createNSCustomerRecord(a);
         }
    }
    global void finish(Database.BatchableContext info){ }//global void finish loop
    }

    dont miss out iconCheck out another amazing blog by Apphienz here: Introducing Einstein GPT: Salesforce CRM’s First Generative AI

    Voila! Salesforce and NetSuite and integrated seamlessly. If you are looking to integrate Salesforce with third-party apps, look no further and get in touch with our seasoned experts at Apphienz. We are rated amongst the top Salesforce partners providing personalized and customized Salesforce services like Managed services and support, Salesforce integrations, Salesforce app development, etc.

    Visit our website to know more about us and get in touch with us in case of any further queries. We will get back to you at the earliest.

  • All you Need to Know About No Code Salesforce and Aircall Integration

    All you Need to Know About No Code Salesforce and Aircall Integration

    If you’re looking for a way to improve your customer service and sales process, you should consider integrating Aircall with Salesforce. Aircall is a cloud-based phone system that allows you to make and receive calls from your computer or smartphone. It integrates with Salesforce, so you can easily track all your calls and customer interactions in one place. This can help you to improve your sales process by providing you with important insights into your customer’s buying behavior.

    Why do we Need a Salesforce Integration?

    Salesforce is a powerful CRM tool that can help businesses keep track of their customer data, but it can be difficult to integrate with other systems. Aircall is a phone system that can be easily integrated with Salesforce, making it a valuable tool for businesses that use both systems.

    There are several benefits to integrating Aircall with Salesforce, including:

    1. Access to Customer Data: By integrating Aircall with Salesforce, businesses can have access to important customer data in one central location. This makes it easier to track customer interactions and follow up on leads.

    2. Improved Efficiency: Having all of your customer data in one place can help you work more efficiently and avoid duplicate work. Integration between Aircall and Salesforce can automate tasks like creating new records and updating contact information, saving you time.

    3. Better Decision-making: With all of your customer data in one place, you’ll be able to make better decisions about your marketing and sales strategies. You can segment your customers based on criteria like purchase history or interactions with your team, and target your efforts accordingly.

    4. Increased Sales: By understanding your customers better and being able to more efficiently target them with relevant messages, you’re likely to see an increase in sales. The integration between Aircall and Salesforce can help you close more deals and grow your business.

    How to Integrate Aircall with Salesforce?

    Aircall is a cloud-based phone system that offers features like call recording, automatic call distribution, and VoIP calling. Salesforce is a customer relationship management (CRM) platform that helps businesses track and manage customer data.

    Prerequisites:

    • You must be using either the Salesforce Enterprise or Unlimited plan (not a Group or Essentials plan), or a Professional plan by contacting your Salesforce Account Executive to purchase API access if you do not wish to use the Omni-Channel feature.

    • If you do wish to use Omni-Channel, you will need to be using an Enterprise or Unlimited plan.

    • Have top-level Salesforce administrator privileges or full object-level and full-field-level security permissions.

    • Have the Salesforce license.

    • You must be using the same e-mail for both Aircall and Salesforce (Otherwise calls will be assigned to the Admin of the account instead of the right user).

    dont miss out iconDon’t forget to check out: Salesforce Integration | GET Method | Salesforce

    Integrating Aircall with Salesforce can help businesses streamline their customer communications and better manage their customer relationships. Here’s how to do it:

    • Log in to the Aircall Dashboard

    • Go to Integrations & API and select Salesforce v3 from the Discover integrations section

    • Click Install integration

    • Click Authorize

    • Select a number that should be linked to your integration, then click Add Number

    • Choose your environment: Sandbox or Production, then click Connect to Salesforce

    • If you are not logged in already, you will be directed to log in to Salesforce and authorize Aircall to access your account

    • Install the Aircall CTI within Salesforce for the Sandbox or Production environment by clicking Install CTI

    • Once the installation is complete, return to the Aircall Dashboard and click on Configure CTI to be directed to more instructions on setting up your CTI

    • Once you are ready, click Next Step

    • Install the Omni-Channel Package by clicking Install Omni-Channel package. This step is optional and can be done at a later time.

    • After installing, click Next Step to be directed to more instructions on setting up Omni-Channel

    • Once you are ready to continue, click Next Step again

    • Click on Open Salesforce Settings

    • In Salesforce, verify that the Visible checkboxes are checked for all Profiles, then click Save

    • Click Finish

    When you’ve finished these steps, your integration will be working!

    Return to the dashboard to continue configuring your settings or click Create a test call log to test it out.

    dont miss out iconCheck out another amazing blog by Appheinz here: Everything You Need to Know About Customer Data Platform

    What Are The Benefits of This Solution?

    Another big benefit is that it makes it much easier to track call data and customer interactions. With everything in one place, you can see exactly how each call went, who was involved, and what follow-up (if any) is needed. This data can be extremely valuable for sales and customer service teams, as it can help them identify areas where they need to improve.

    Finally, the integration can save your company money. Using Aircall’s VoIP capabilities, you can avoid expensive long-distance fees when making calls to customers or prospects outside your country.

    Conclusion

    After testing and reviewing Aircall, we’ve concluded that it’s a great addition to Salesforce. Aircall allows you to manage your calls within Salesforce and provides valuable features like call recording and transcription. Overall, we think Aircall is a great choice for businesses looking for a sales-focused telephone system. 

    We are a Salesforce consulting partner that helps clients maintain their Salesforce Instance and provides consultation and training to help them develop new applications. Contact us right away at Apphienz, visit our website, or send us an email at info@apphienz.com to find out more about how we can assist you.

  • No Code Salesforce and Zoho Integration

    No Code Salesforce and Zoho Integration

    Global businesses can manage their business processes to create enduring customer relationships now. With the help of Zoho CRM, a cloud-based, omnichannel customer relationship management platform, you can communicate with clients using Zoho CRM’s email, live chat, phones, etc. an internet platform that can be tailored to different industries’ sizes and shapes. Additionally, Zoho CRM integrates more than 40 Zoho products with add-ons for more than 300 third-party programs, including Salesforce, G Suite, Office 365, and other well-known programs.

    Additionally, when two mightly platforms are integrated, they perform these tasks efficiently and seamlessly. In this blog, we will go through the No Code Salesforce and Zoho integration process.

    Benefits of Integrating Salesforce and Zoho

    In order to connect your apps without writing any code, use the Zoho Flow integration platform to link Zoho with Salesforce. Your tasks are automated, allowing you to spend more time doing what is best for you. Make complex workflows automatically in a short amount of time. Workflow development is simple with an intuitive builder. Set triggers, add actions, and use delays and agreements.

    Features of Salesforce and Zoho integration

    • Your Salesforce and Zoho Desk accounts and contact details will be synced. You can choose Salesforce as the primary data source or set the sync to be bidirectional.

    • View important Salesforce information, like potentials, notes, and activities, in the same window as the support ticket.

    • Within a contact or account in Zoho Desk, view the customer profile imported from Salesforce.

    Integration Prerequisites

    The Standard, Professional, or Enterprise edition of Zoho Desk must be used.
    If API access is enabled, your Salesforce organization must be using the Enterprise, Unlimited, Performance, Professional, or Developer edition.

    Integration Process  

    • Locate Administrator access to your Zoho Desk account.

    • The Setup icon can be found in the top bar.

    • Select Others from the Marketplace section of the Setup Landing page.

    • Click Salesforce on the Others page.

    Salesforce Integration
    • Click Integrate on the page for Salesforce Integration.

    • The opportunity to enter the Salesforce credentials appears in a new window.

    • Click Log In after providing your Salesforce administrator login information.

    • The Zoho Desk screen will change to the subsequent action, just like in Step 2.

    • The fields from Zoho Desk and Salesforce must be mapped before choosing the sync type. The Contacts and Accounts module will initially come pre-mapped with the standard fields for your convenience.

    • Choose a sync type. Two-way sync is the default option.

    Salesforce administrator
    • Identify the Salesforce fields that correspond to the fields listed in the Zoho Desk Fields column header.

    • The drop-down menu will allow you to select the correct field.

    • Start the synchronization process by clicking.

    Salesforce fields
    • The integration with Salesforce is successfully completed. Under Configuration Details, click “Edit” to change the sync type or field mapping.

    dont miss out iconCheck out another amazing blog by Apphienz here: Meet The world’s First Real-Time CRM – Salesforce Genie

    Creating Profile-level Permissions Available

    Each Zoho Desk profile can be modified by the administrator to add or remove permissions for Salesforce contacts and accounts.

    Setting Permissions

    • Navigate to Salesforce under Setup > Marketplace > Others.

    • Click Permissions on the Salesforce Integration page.

    Setting Permissions

    Follow these steps under the Permissions tab:

    • To make the Salesforce integration invisible, uncheck the profile’s corresponding ‘Visible’ checkbox.

    • Toggle between Accounts and Contacts by clicking the button. You can choose to show either of them for a particular profile using this option.

    • To grant or deny access to the following items, click the permission-level link (full access or restricted access).

    • Account and contact details

    • Opportunities

    • Notes

    • Events and tasks may be selected or deselected individually.

    Resuming/Pausing Sync

    You can pause and resume syncing with Zoho Desk as needed.

    To stop an ongoing sync:

    • Navigate to Salesforce under Setup > Marketplace > Others.

    • Click Pause Sync on the Salesforce Integration page.

    There will be a pause in the data sync. No data exchange or updates will take place between your Zoho Desk and Salesforce accounts during this time. When you’re ready, resume syncing.

    Viewing the Salesforce data on a ticket is as follows:

    For more information, open a ticket.

    • On the Ticket Details page, select the Salesforce label next to the customer details in the left pane.

    • Salesforce presents the contact’s details.

    Hence, here is all the information you need to integrate Salesforce with Zoho seamlessly. If you are planning to integrate these mighty platforms, get in touch with our experts at Apphienz. Visit our website for more information and write to us for any further queries.

  • Maximizing Digital Adoption on Salesforce Communities

    Maximizing Digital Adoption on Salesforce Communities

    As a user, getting a guided tour of Salesforce-powered communities can be imperative.

    It makes things easy to understand and enhances digital adoption.

    Hence, providing your customers with effective in-app guidance is crucial for user engagement on Salesforce Experience Cloud.

    At the same time, self-service is important for keeping up with the rapid digitalization demands.

    If you want to drive ROI from your technological initiatives, it’s critical to keep your employees and customers at the core of your digital adoption efforts.

    In this blog post, you will learn about limitations in Salesforce in-app guidance and how to overcome those.

    dont miss out iconDon’t forget to check out: Introduction to Salesforce Communities: Licenses and Benefits

    Salesforce In-app Guidance

    Salesforce in-app Guidance allows users to create and customize in-app messages without any installation or coding.

    It aims to onboard new Salesforce users, communicate new feature updates to the users, and enhance overall user adoption.

    Limitations With Salesforce In-App Guidance

    Salesforce in-app guidance is tremendously helpful, however, there are a few challenges that need to be addressed.

    One of the major challenges is limited customization. It restricts users to choose a certain position (at the bottom right of the page) for the floating prompts.

    This makes it tough for drawing the attention of the users.

    Additionally, Salesforce in-app guidance isn’t compatible with Salesforce-powered communities.

    This is where GuideIn comes into play.

    GuideIn – Your Best Bet for Maximized Digital Adoption

    GuideIn is a Salesforce-native, Lightning-ready solution built by Salesforce experts at Grazitti to help you accelerate digital adoption on online communities.

    It enables you to provide your users with easy, guided walkthroughs to onboard users, train employees, and broadcast the changes.

    Here are some notable features of GuideIn:

    • Compatible with public and private Salesforce pages
    • A no-code, Salesforce-native, and LEX-ready solution
    • Offers customizable steps and guided tours
    • Step themes can be modified
    • Intelligent scrolling and continuity
    • Tour progress tracking
    • Custom branding and theme

    Use Cases of GuideIn

    Some use cases offered by GuideIn are:

    User Onboarding: For users, understanding the onboarding process must be simple and effortless. Walkthroughs provide them with a seamless onboarding experience in your Salesforce-powered community.

    Employee Training: Building a community walkthrough will enable you to automate employee training in your Salesforce community.

    Change Broadcasting: You can deploy tours for the purpose of broadcasting changes in your community as it is important to provide users with regular updates.

    Benefits of GuideIn

    GuideIn is beneficial to the community managers as well as community users.

    For community managers, it enhances community engagement and reduces the effort in manual training and support. Additionally, it can be installed and managed quite effortlessly. They can even track your progress.

    GuideIn empowers community users with hassle-free onboarding, easy, guided tours, real-time direction processing, and multilingual support for maximized engagement.

    dont miss out iconCheck out another amazing blog by Grazitti here: Get the Most Out of Your Digital Adoption Efforts On Your Salesforce Community with GuideIn

    Wrapping It Up

    Having a feature-rich Salesforce community is only good if your users and employees know their way around it.

    Hence, the importance of providing the users and employees with guided walkthroughs on Salesforce Experience Cloud cannot be understated.

    And GuideIn does just that.

    Wish to Maximize Digital Adoption by Providing Users and Employees With Guided Walkthroughs? Let’s Talk!

    Whether you want to drive community engagement or just enhance user experience on Salesforce-powered communities, Grazitti’s experts can help. Should you wish to know more, write to us at info@grazitti.com and our product experts will take it from there.

  • Driving Engagement on Salesforce Communities With Walk-Throughs

    Driving Engagement on Salesforce Communities With Walk-Throughs

    Remember visiting an online community with unfriendly navigation?

    How did it feel?

    We bet you didn’t think twice before looking for another community.

    To enable users to adapt to your Salesforce community, you need to keep user experience in mind.

    When looking for ways to increase community engagement, it’s important to consider the level of user difficulty.

    While some will find your community easy to use, there is an entire audience out there who could benefit from a little more direction.

    The solution?

    Provide walk-throughs to customers when they first land in your community.

    In this blog post, you’ll learn more about the importance of walk-throughs, as well as how you can build one for your community in Salesforce Experience Cloud.

    Read on to know more.

    Why You Should Build Community Walk-Throughs

    Maximizing Customer Engagement

    By creating walk-throughs, you can get more customers into your community in a short span of time.

    Providing context to customers about navigating your community will bring increased engagement.

    dont miss out iconDon’t forget to check out: Introduction to Salesforce Communities: Licenses and Benefits

    Driving a Higher ROI

    Creating walk-throughs will also give you insights from users who are already a part of your community.

    This will enable you to understand why some features are more popular in your community than others and prioritize their development.

    Minimizing Costs

    With increased insight from walkthroughs, you’ll make effective decisions to improve community engagement.

    This means that you’ll invest in features that will truly create an impact on your community.

    Reducing Manual Effort

    Manual onboarding takes time and effort.

    By automating the process with a community walkthrough, you can accelerate onboarding efforts.

    How to Drive Engagement in Online Communities

    Seamless Onboarding for New Users

    The community onboarding process should be easy to understand and not require too much effort on the part of users.

    You can achieve this by giving community walk-throughs to new users.

    A walk-through will give customers a seamless experience when they first land in your community.

    Hassle-Free Employee Training

    Employees are engaging customers in communities more than ever before.

    It’s important that you automate employee training in your Salesforce community.

    Building a community walkthrough will enable you to get there.

    Effective Change Broadcasting

    It’s important to update your community frequently.

    Along with this, it is also important to let users know about the latest updates.

    A community walkthrough enables you to broadcast change and improve customer experiences.

    GuideIn: The Future of Customer Experience on Salesforce Experience Cloud

    Enabling you to onboard new users, train employees, and broadcast change on Salesforce communities with guided tours, GuideIn is a Lightning-ready solution.

    Boasting of a rich GUI, it helps you build, administer, update, and track walk-throughs.

    Features

    • No-Code, Salesforce-Native, Lightning-Ready
    • Compatible With Public & Private Salesforce Pages
    • Customizable Steps & Guided Tours
    • Modifiable Step Themes
    • Intelligent Scrolling and Continuity
    • Tour Progress Tracking

    dont miss out iconCheck out another amazing blog by Grazitti Interactive here: Fuel Your B2B Marketing Engine With Salesforce Marketing Cloud

    Wrapping Up

    Building community walk-throughs is essential to maximizing digital adoption.

    With GuideIn, you’ll be able to find out what your customers like and dislike, in order to build highly-engaging community experiences on Salesforce Experience Cloud.

    Want to Maximize Digital Adoption in Your Salesforce Community? Know more!

    Looking to drive community engagement with a walk-through on Experience Cloud?

    Grazitti can help. Get started, today!

    Should you want to know more, just drop us a line at info@grazitti.com and we’ll take it from there.

  • Maintaining Org Security with the Salesforce Health Check

    Maintaining Org Security with the Salesforce Health Check

    You likely fell in love with Salesforce because of its flexibility. With its ‘no-code‘ customizability and extensive range of third-party apps, the platform is endlessly configurable — and while that makes it possible to set up your Org in any number of ways, it also makes it difficult to tighten broad security controls. With loads of custom applications, licenses and unique features that Salesforce provides, regular reviews of security settings are essential.

    Luckily, Salesforce provides a way to do this natively without completely overhauling your system. It’s called the Salesforce Health Check.

    What is a Salesforce Health Check?

    The Salesforce Health Check is a tool that rates the overall security health of your Org, allowing users to identify vulnerabilities and monitor the effectiveness of their security settings — either against Salesforce’s out-of-the-box standard or a custom baseline. The tool scans all of your Org’s settings and notifies you of any security risks that might be affecting the performance or well-being of your Org. Then, it provides a score based on overall system health.

    dont miss out iconDon’t forget to check out: Get Started With Salesforce Health Cloud

    How does the Salesforce Health Check work?

    There are four categories to the health check score: High-Risk, Medium-Risk, Low-Risk and Informational. Your settings are rated on a scale of 100 — the higher the number, the more secure your Org. Since Salesforce is used for a variety of purposes in multiple industries with different requirements, the baseline standard can be adjusted to best fit your organization’s needs.  Either way, after running the scan, Salesforce will provide you with a number of recommendations for improving your score.
    Some common areas the Health Check scans are password policy settings, session settings and file uploaded/download settings. For instance, suppose you changed your minimum password length from the default value of 8 to something less restrictive, like 5, making your users’ passwords more vulnerable to cyber attacks — in this case, your overall score would decrease, and your password minimum length setting would be listed as a risk.

    Other settings that might be listed in your Health Check scan:

    • Maximum invalid login attempts
    • Password complexity requirement
    • Letting users verify their identity via text (SMS)
    • Enable clickjack protection for Setup pages
    • Lockout effective period

    Of course, almost any setting within your Org can be at risk — the ones listed above are usually more common as they are usually more susceptible to security breaches. If your settings have been identified as being at risk after you’ve run the Health Check, you will see them in an itemized list — starting with ones that are High-Risk, and so on. To make it easier for users, Salesforce gives you the option to click Fix Risks to quickly reconfigure the recommended settings.

    dont miss out iconCheck out another amazing blog by Strongpoint here: Protect your Data with Data Classification in Salesforce

    Benefits of the Salesforce Health Check

    As an organization grows, its Salesforce Org and the data it stores are likely to grow in complexity — creating more potential for errors and health vulnerabilities. Running regular Health Checks will help you

    • Keep track of changing security needs
    • Fix system errors for overall system performance
    • Maintain compliance with SOX, HIPAA and related standards
    • Improve ROI and user adoption
    • Increase productivity across all departments
    • Streamline new deployments

    Ultimately, your Salesforce Org should evolve alongside your business — and the Health Check is one more tool that will ensure that security and performance aren’t compromised as that happens. For more tips on improving data security and overall system health, check out Netwrix — a leader in cybersecurity and compliance.

    Have you heard of data classification? It’s an important security tactic that helps to organize and store your data into defined categories according to its sensitivity level. Learn more about this security tactic here.

  • No Code, Salesforce and SharePoint Integration

    No Code, Salesforce and SharePoint Integration

    Salesforce no doubt is the world’s best CRM, it helps organizations building meaningful relationships with their customers. However, there are certain areas where integrating external apps with Salesforce improves the end result dramatically. One such app is SharePoint.

    SharePoint is a web-based collaborative platform that acts as a secure place to store, organize, share, and access information from any device. It can also be used to host websites.

    In this blog, I will share the Step by Step process to integrate Salesforce and Sharepoint without any coding, using Files Connect. Files Connect makes the integration process easy and allows Salesforce users to access, share, and search external data from systems like Quip, Google Drive, SharePoint, or Box.

    Step by Step Process To Integrate Salesforce And SharePoint

    To use one of Microsoft’s cloud-based external data sources, first, create an authentication provider for it in Salesforce and register that provider in an Office 365 app.

    Actions to be taken:

    1. Enable Files Connect

    2. Set user access permission to File Connect by going to Permission for sets

    3. Create an Authentication Provider Using Placeholder Values

    4. Register an Office 365 App

    5. Edit the Authentication Provider in Salesforce

    6. Configure External Data Source

    Enable Files Connect

    Navigate to Setup | Files connect |

    • Enable Files Connect

    • File sharing = Reference

    • Use External Object Search Layout

    • Enable links conversion

    Files Connect

    Set user access permission to Files Connect by going to Permission for sets

    Now set the user access Permission Sets for Files connect. For this navigate to Permission Set for users and enable Files Connect Cloud.

    Permission Sets

    Create an Authentication Provider Using Placeholder Values

    1. In Setup, enter Auth. Providers in the Quick Find box, then select Auth. Providers.

    2. Click New.

    3. For Provider Type, select Microsoft Access Control Service, and then set the following options.

    • Name — Enter the name you want to appear in Salesforce

    • URL Suffix — Enter a suffix you want to appear at the end of the URL path. By default, the suffix reflects the Name entry

    • Consumer Key — Enter a placeholder value

    • Consumer Secret — Enter a placeholder value

    • Authorize Endpoint URL — Enter a placeholder that begins with HTTPS

    • Token Endpoint URL — Enter a placeholder that begins with HTTPS

    • Default Scopes — Leave empty

    4. Click Save. Then, at the bottom of the Auth. Provider detail page, copy the Callback URL entry to a text file. (Use this when registering an Office 365 app.)

    Callback URL

    dont miss out iconDon’t forget to check out: Implementation of Outlook Integration | Salesforce Step-by-Step Guide

    Register an Office 365 App

    Office 365 App
    1. Log in to your Office365 account as an administrator and click on SharePoint. URL: https://www.office.com/
     
    SharePoint

    2. Create a new Site by clicking on the Create Site button

    Site button

    Provide basic details:

    Documents
    Navigate to Documents and upload some documents. These documents will be visualized in Salesforce after integration.
     
    3. Navigate to the following URL & Set the following options:

    https://your company name.sharepoint.com/site collection path/_layouts/15/appregnew.aspx

    • Client Id — Click Generate, and copy the generated value to a text file.

    • Client Secret — Click Generate, and copy the generated value to a text file.

    • Title — Enter a name for the app.

    • App Domain — Enter the domain name of your Salesforce org.

    • Redirect URL — Enter the Callback URL you copied when creating the Authentication Provider in Salesforce.

    Click Create.

    4. Now you configure the newly created app to access SharePoint resources. Go to following URL & Set the following options

    https://your company name.sharepoint.com/site collection path/_layouts/15/appinv.aspx

    • App Id — Enter the Client Id you copied to a text file, then click Lookup.

    • Title — Keep the default value.

    • App Domain — Keep the default value.

    • Redirect URL — Keep the default value.

    • Permission Request XML — Enter a string with this format.

    For SharePoint Online, replace [SCOPE] with one of these values:
    • http://sharepoint/content/sitecollection/web so users can access a single site (but not its subsites).

    • http://sharepoint/content/sitecollection so users can access a single site collection (including all subsites).

    • http://sharepoint/content/tenant so users can access all site collections.

    SharePoint Online
    Replace [PLACEHOLDER] with one of these values:
    • Read

    • Write

    • Manage

    Click Create.

    dont miss out iconCheck out another amazing blog by Apphienz here: Marketing Success Post Pandemic | Salesforce Success Guide

    Edit the Authentication Provider in Salesforce

    In Salesforce, replace the original placeholder values with the correct ones from the Office 365 app.

    1. In Setup, enter Auth. Providers in the Quick Find box, then select Auth. Providers.

    2. Click Edit next to the authentication provider you created previously.

    3. Change the following values:

    • Consumer Key — Enter the Client ID you copied to a text file.

    • Consumer Secret — Enter the Client Secret you copied to a text file.

    • Authorize Endpoint URL — Enter the URL of the OAuthAuthorize.aspx page in Office 365. The URL format is as follows. https://your company name.sharepoint.com/site collection path/_layouts/15/OauthAuthorize.aspx

    • Token Endpoint URL — Enter a URL in the following format. https://accounts.accesscontrol.windows.net/yourcompanyname.onmicrosoft.com/tokens/OAuth/2?resource=00000003-0000-0ff1-ce00-000000000000/yourcompanyname.sharepoint.com@yourcompanyname.onmicrosoft.com

    4. Click Save. Your authentication provider is now ready to use.

    authentication provider

    Configure External Data Source

    1. Navigate to Setup | External Data Source | and provide details as shown below:

    External Data Source
    2. Click on the Save button.

    3. Click on Sync & validate to see External Object as shown below:

    External Object
    4. Now navigate to the External object tab and visualize the Sharepoint data 🙂
    Sharepoint data
    The step-by-step process makes the integration between Salesforce and Sharepoint easy for the Salesforce Administrators. The process is extremely critical for any organization because it is connected with all the documents.

    In case you are still looking for talented Salesforce experts, Apphienz can help you integrate Salesforce with not only SharePoint but also with many other applications. Connect with team Apphienz for any Salesforce query.

  • TriggerFactory in Salesforce Apex | The Developer Guide

    TriggerFactory in Salesforce Apex | The Developer Guide

    Trigger structures in Apex are something clever. We as a whole realize we need them, we as a whole realize that it is best practice to eliminate rationale from the actual triggers for a few reasons (examined beneath), and we as a whole understand what a torment it is to unit test code sitting straightforwardly in a trigger

    I expected to set up a trigger structure for another client two or three weeks prior. Being the inventive, skilled engineer that I am, my first port of call was, obviously, Google. Why reproduce the wheel? There are heaps of these structures around.

    Use of Trigger Framework

    A trigger overseer system is an approach to eliminate rationale from your triggers and authorize consistency across the stage. The actual system will do the truly difficult work for you regarding sorting out which sort of trigger is at present running and terminating the right rationale. 

    Here is a portion of the benefits of utilizing a trigger structure: 

    • Eliminating trigger rationale from the trigger makes unit testing and upkeep a lot simpler. 
    • Normalizing triggers implies the entirety of your triggers works in a reliable manner. 
    • A solitary trigger for every item provides full power over the request of execution
    • The anticipation of trigger recursion

    It makes it simple for huge groups of engineers to work across an organization with loads of triggers. I as of late worked on an organization that had triggers on around fifty articles, and the way that each trigger was executed in a predictable way made it simple to go in and make changes or add new triggers

    A trigger system is a good thought in the event that you have more than one engineer working in your organization. It empowers the lead/engineer to characterize how every trigger in the application should work. Utilizing a system permits the planner to settle on choices, for example, “each trigger should execute a custom setting which permits us to turn the trigger off”. Or on the other hand maybe the engineer needs to guarantee that any approval which happens in a trigger should be actualized by a technique called “Approve()” on the trigger controller for consistency. I’ve dealt with organizations where various designers have their own particular manner of executing triggers, and it makes troubleshooting incredibly troublesome when one trigger has 1000 lines of code in it, doing 20 distinct errands.

    dont miss out iconDon’t forget to check out: Invoke Apex Class From JavaScript Button in Salesforce

    Trigger Framework Requirements

    Since I’ve groaned about every other person’s systems, here’s my attempt at something a digit less difficult. 

    • The structure ought to be straightforward. Any engineer ought to have the option to perceive how the structure functions without pursuing a heap of standard code and remarks. 
    • A solitary overseer for each object to deal with all occasions in bulkified structure (no requirement for single record usage). 
    • An interface for the trigger controllers to uphold consistency. 
    • No mind-boggling trigger production line rationale, we’ll utilize some fundamental reliance infusion all things considered. 
    • Need the capacity to turn off triggers. This capacity should be upheld on each trigger. 
    • Starting execution of the system on another organization should be amazingly straightforward. 
    • In spite of the system being lightweight, it should be extensible so it tends to be added to as the prerequisites of the organization develop.
    • Designers just need to stress over composing their trigger controller class. They shouldn’t have to need to change or even comprehend the hidden rationale of the actual structure (no compelling reason to put another IF explanation in a TriggerHanderFactory class, for instance).

    Interface for trigger

    The interface directs which techniques each trigger controller should execute, regardless of whether these strategies have no code in them. By actualizing the strategies in this class, the TriggerFactory (talked about underneath) can be sure that the trigger controller has a technique for every one of these occasions: 

    • Before/After Insert
    • Before/After Update
    • Before/After Delete
    • After Undelete
    • IsDisabled
    public interface ITriggerHandler{
        void BeforeInsert(List<SObject> newRecord); 
        void BeforeUpdate(Map<Id, SObject> newRecord, Map<Id, SObject> oldItems); 
        void BeforeDelete(Map<Id, SObject> oldRecord); 
        void AfterInsert(Map<Id, SObject> newRecord); 
        void AfterUpdate(Map<Id, SObject> newRecord, Map<Id, SObject> oldRecord); 
        void AfterDelete(Map<Id, SObject> oldRecord); 
        void AfterUndelete(Map<Id, SObject> oldRecord); 
        Boolean IsDisabled();  
    }

    The Trigger Factory

    public class TriggerDispatcher {
        public static void Run(ITriggerHandler handler) {
            if (handler.IsDisabled())
            return;
            if (Trigger.IsBefore ){
                if (Trigger.IsInsert)
                handler.BeforeInsert(trigger.new);
                if (Trigger.IsUpdate)
                handler.BeforeUpdate(trigger.newMap, trigger.oldMap); 
                if (Trigger.IsDelete)
                handler.BeforeDelete(trigger.oldMap);
            }         
            // After trigger logic
            if (Trigger.IsAfter) {
                if (Trigger.IsInsert)
                handler.AfterInsert(Trigger.newMap);
                if (Trigger.IsUpdate)
                handler.AfterUpdate(trigger.newMap, trigger.oldMap);
                if (trigger.IsDelete)
                handler.AfterDelete(trigger.oldMap);
                if (trigger.isUndelete)
                handler.AfterUndelete(trigger.oldMap);
            }
        }
    }

    Trigger Handler

    public class AccountTriggerHandler implements ITriggerHandler{   
        public static Boolean TriggerDisabled = false; 
        public Boolean IsDisabled(){
            if (TriggerSettings__c.AccountTriggerDisabled__c = true)
            return true;
            else
            return TriggerDisabled;
        }
        public void BeforeInsert(List<SObject> newItems){
            for (Account acc : (List<Account>)newItems){
                if (acc.Name.contains('test'))
                acc.Name.addError('You may not use the word "test" in the account name');
            }
        }
        public void BeforeUpdate(Map<Id, SObject> newItems, Map<Id, SObject> oldItems) {}
        public void BeforeDelete(Map<Id, SObject> oldItems) {}
        public void AfterInsert(Map<Id, SObject> newItems) {}
        public void AfterUpdate(Map<Id, SObject> newItems, Map<Id, SObject> oldItems) {} 
        public void AfterDelete(Map<Id, SObject> oldItems) {}
        public void AfterUndelete(Map<Id, SObject> oldItems) {}
    }

    dont miss out iconCheck out another amazing blog by Aditya here: Lightning DataTable in Salesforce | The Developer Guide

    Apex Trigger

    trigger AccountTrigger on Account (before insert, before update, before delete, after insert, after update, after delete, after undelete)
    {
        if(checkRecursive.runOnce()){
            TriggerDispatcher.Run(new AccountTriggerHandler());
        }
    }

    Stop Recursive Trigger

    public Class checkRecursive {
        private static boolean run = 0;
        public static boolean runOnce() {
            if(run<2) {
                run=run=1;
                return true;
            } else {
                return run;
            }
        }
    }

     

    triggerfactory