Chapter 8: Supercharge CRM with Marketplace Extensions, Custom Functions, and Integrations

Now that you have designed and configured the necessary modules of your CRM, the opportunities to further extend the reach and value of your CRM do not and should not end there. We have countless opportunities to enrich the data, extend the functionality or automate other business processes by integrating with other systems.

In this chapter, we will explore the main ways to achieve this while opening our eyes to what is available. We will learn where and how to access yet more ways to enhance your experience of Zoho and how to increase the benefits it can deliver for our business.

You will learn about the Zoho Marketplace and the multitude of extensions that are available, along with some hand-picked favorites. You will gain insights into the ability to create your own custom functions, with some examples to get you started. Finally, in this chapter, we will discuss other types of third-party integrations you can and should think about and how you may approach them.

Topics covered within this chapter include the following:

  • Introducing Zoho Marketplace
  • Highlights and valuable extensions from the Marketplace
  • Introducing Deluge and custom functions
  • Custom function examples
  • Integrating Zoho with other third-party software

Introducing Zoho Marketplace

In July 2016, Zoho launched an online store, a place for users to purchase extensions and custom-built applications. Their launch partners included software companies such as DocuSign, Eventbrite, Mailchimp, SurveyMonkey, and Zendesk, among many others. Five years on, there are now over 1,000 applications (or extensions as they are commonly known), most of which are free.

Zoho has developed several extensions that enhance the CRM experience by providing a seamless link between Zoho CRM and some of its other business applications. Extensions provide feature enhancements, integrations with third-party software, and many other solutions for common business needs.

There are two ways to access the Marketplace, either by visiting https://marketplace.zoho.com/home or, more conveniently, directly from within your CRM by navigating to Setup | Marketplace | All.

When accessed from within Zoho CRM, you can search by category (from the drop-down list) or by entering some keywords into the Search apps bar in the top-right corner. You will have a tab listing the extensions you currently have installed and another tab containing a list of those extensions that have an update available. This page looks like this:

Figure 8.1 – Marketplace home page accessed from within Zoho CRM

Figure 8.1 – Marketplace home page accessed from within Zoho CRM

Each extension has its own listing page, the layout of which is consistent across all extensions. Upon landing on a page, you will be presented with an overview, which may include a video, screenshots, ratings and reviews, and some information about the vendor. Most of the extensions provide a button in the top right to install the extension; in some cases, there is a link to the vendor's website. An example listing page is as follows:

Figure 8.2 – An example listing page of a Zoho CRM extension within the marketplace

Figure 8.2 – An example listing page of a Zoho CRM extension within the marketplace

Now you understand more about what the Zoho Marketplace is, and why it was created. Use this knowledge of how to navigate to help you understand the extensions, including how to assess what each one does and how it may add value to your CRM. Let's now take a look at some of the popular extensions that will add value to your CRM.

Highlights and valuable extensions from the marketplace

As mentioned earlier, there are over 1,000 extensions to choose from. In this section, you will find some hand-picked extensions selected for their broad appeal, along with some details of what each one does and how it will benefit you.

Zoho Sign for Zoho CRM

This extension integrates the Zoho Sign application with your CRM. It allows a user to use any mail-merge or inventory template and send it for an electronic signature from within a CRM record. It also alerts the user within the CRM when a document has been signed/rejected and conveniently attaches the signed document to the CRM record.

This is a great extension that improves the user experience through automating what previously might have been manual tasks while improving the experience of your buyer. How much easier is it for them to sign a document electronically than having to print, sign, scan, and return the signed document by email or post? It saves time and helps close more deals.

Google Drive

This extension integrates Google Drive with your CRM. The way this works is great – every time you create a Lead, Deal, Contact, or Account, the tool creates a folder with a corresponding name in Google Drive with a link to the folder inside the actual CRM record. This saves time by automating what would have been a manual process. The folders and contained documents are accessible from the CRM application, so it means that your team can upload and view any related documents from any device or location.

Global Email Finder for Zoho CRM

This extension is a great tool for finding and validating lead and contact emails from within your CRM. Having a valid email address is valuable for your marketing, sales, and customer service teams, and it's a really good example of how a marketplace extension can help enrich the data within your CRM.

Global Address Finder for Zoho CRM

One of the most common issues found in many CRM databases is missing or incorrect address information. This can cause varying degrees of frustration or missed opportunities for marketing, sales, and operational teams. Global Address Finder helps to solve this problem by connecting your CRM to a worldwide database of addresses for over 200 countries. From within a CRM record, the user may start typing the address (or postcode/zip code) and select the desired address from a list, push a button, and have all the address fields in the record updated automatically. This extension is a great time-saver that reduces data entry and validates vital customer data.

SMS Magic

In addition to telephone and email, many businesses communicate with prospects and clients via SMS (text messages). If these messages are not managed or tracked within the CRM then it may cause issues, as not everybody in the team will be able to see this communication. Bringing this within the CRM solves the issue and also allows the users to trigger SMS messages automatically with workflow automation. This is one of the most popular and widely installed extensions, so if SMS is used by your business it is certainly worth checking this one out.

Each of these example extensions improves user experience by reducing manual processes, reducing data entry, enhancing data, helping to eliminate data entry issues, and making documents easier to store and locate, all of which make it a better CRM for users to work with, with less effort.

If you think any of the aforementioned extensions will be useful, by all means have a look yourself.

However, make sure to also browse the various categories and set a reminder to check every month or so, because many new extensions are added each month.

Now we have considered perhaps the easiest way of adding features to Zoho CRM, it is time now to introduce you to another method of extending the functionality of your system – custom functions using Zoho's very own scripting language, Deluge.

Introducing Deluge and custom functions

Data Enriched Language for the Universal Grid Environment (Deluge) is Zoho's scripting language for customizing Zoho CRM and other Zoho software. Deluge lets developers add functionality to the CRM, yet the syntax is easy to read and may be recreated or modified by non-developers. Within Zoho CRM we can utilize Deluge by creating custom functions.

Custom functions are user-built functions that can help us to add new features to Zoho CRM as per our requirements. These are written in Deluge and are easy to construct. The syntax and logic are simple to formulate and aid in the continuous development of the code.

Let's consider some challenges we may face that can be resolved using a custom function:

  • Pushing data from parent record to child records

    For example, when a user adds a new contact to an existing account, ABC Foods, we need the Sector from the Account (Food Manufacturing) to map to the sector of our new contact.

    Another common example is needing to pull through the Payment terms from the Account to the Quote and/or Sales order.

  • Updating the value of a field in a module with the same value as a field in a related module

    For example, when a user creates a Quote, we need the Total amount of the quote to also update the value of the Amount in the related Deal record.

  • Updating the Deal name with the value(s) of another field(s) in the Deal record

    This is useful when the structure of a Deal record is logical but could be forgotten or mistyped by users. An example is merging (concatenating) the Account name, Site name, and Site city fields to provide a deal name of Slate Gravel – Deansgate, Manchester.

  • Aggregating the sum of related records from multiple child records to a single account record

    An example of this is rolling up the total amount of all deals won for the account record – sometimes called Total revenue or Lifetime value.

Once you have considered these challenges, you may notice a pattern. One or more of the fields we need to update is a custom field and, often, the content of this field will need to be passed from a related module. Once you see the actual Deluge script you will see how these patterns are visible within there too. In the Custom function examples section, you will find some code that you may copy and paste within your CRM that will help you solve some of these scenarios.

However, while some users may have the aptitude and time to learn how to write in Deluge, it may not suit everyone. So, here is a brief summary of the options available to create custom functions:

We have now considered some of the scenarios where a custom function may help solve the challenge and the various ways to approach writing the function. This knowledge will be of benefit because now you know that if the functionality you require does not exist there are ways and means of solving this. It opens up avenues for further customization of Zoho to meet more of your business needs. This will improve the user experience and effectiveness of the CRM even further.

Let's now take a look at a couple of examples that you may try for yourself.

Custom function examples

In this section, we will work through examples for you to try that will add value to your CRM and also help you understand some of the practical uses of functions. This will help you realize what is possible.

Example 1 – updating the amount deal record

This is an extremely useful example that updates the amount deal record with the total of the related quote whenever a quote is created or edited. Here are the details that you need to consider:

  • Function Type: Function
  • Function Description: Updates the deal amount with the total of any related quote. This will work only when a user has associated a Deal record to a quote (by updating the Deal lookup field in the Quote record).

Now, let's see how to get it to work:

  1. Click Setup | Automations | Actions | Functions | Configure Function.
  2. Select Write your own, then complete the pop-up box that appears as follows:
    Figure 8.3 – Creating a custom function

    Figure 8.3 – Creating a custom function

  3. Copy and paste this code into the white space on the screen that appears upon completing the previous step:

    DealsIDString = DealsID.toString();

    DealsMap = Map:String();

    DealsMap.put("Amount",QuoteAmount);

    updateResp = zoho.crm.updateRecord("Deals",DealsIDString,DealsMap);

    info updateResp;

  4. Click Edit arguments and input QuoteAmount into the first box, followed by # in the next box, to bring up the Add Merge Field popup, as shown here:
    Figure 8.4 – Adding the first key (variable) to the argument

    Figure 8.4 – Adding the first key (variable) to the argument

  5. Select Quotes then Grand Total from the next screen that appears, as shown next:
    Figure 8.5 – Assigning the value we wish to assign to the first variable

    Figure 8.5 – Assigning the value we wish to assign to the first variable

  6. Click on + to add the second key named DealsID, then #, followed by Deals | Deal Id as follows:
    Figure 8.6 – Assigning the second key and value to our function

    Figure 8.6 – Assigning the second key and value to our function

  7. Click Save followed by Save on the screen containing the code when it appears.
  8. Now we need to trigger our function either in an existing workflow or create a new one. So, navigate to Setup | Automation | Workflow Rules | Create Rule.
  9. Complete the pop-up window as follows:
    Figure 8.7 – Creating a new rule to trigger the function

    Figure 8.7 – Creating a new rule to trigger the function

  10. Define the trigger as follows, then click Next:
    Figure 8.8 – Setting the trigger for the function

    Figure 8.8 – Setting the trigger for the function

  11. Select All Quotes, then Next.
  12. Click Instant Actions | Function.
  13. Select your function, click Associate, then click Save.

Congratulations, you have successfully created a custom function – well done! Your pipeline reports will be more accurate, or you have saved a user what would have been a manual update – either way, we've improved the user experience and effectiveness of this part of the CRM.

Tip

If at first the function does not update the deal amount as expected, then double-check all the code and parameter names, as they are all case and space sensitive.

Next, let's consider another common and valuable example.

Example 2 – automating field values of a new contact

The scenario is that when a user adds an additional contact onto the CRM related to an existing account, we need the new contact to inherit one or more values of the account in the contact record. For example, the sector of the account is manufacturing, so we also need the sector of any related contacts to inherit this sector. This is important for two reasons. Firstly, we need to be able to segment and market to the contacts based on the sector – for example, a marketing communication to prospects in one sector may be different to a communication we send to prospects in another sector. The other reason this function is important is because it automates a manual process and eliminates the chance of human error.

Here are the details that you need to consider:

  • Function Type: Function
  • Function Description: Passes the value(s) of a field in the parent (account) record to any child (contact)

Let's try this function now and see how to get it to work:

  1. Click Setup | Automations | Actions | Functions | Configure Function.
  2. Select Write your own, then complete the pop-up box that appears, as follows:
    Figure 8.9 – Create New Function

    Figure 8.9 – Create New Function

  3. Copy and paste this code into the white space on the screen that appears upon completion of the previous step:

    Resp = zoho.crm.getRecordById("Contacts",ID.toString());

    AccountMap = Resp.get("Account_Name");

    if(AccountMap is not null)

    {

        AccountID = AccountMap.get("id");

        AccountResp = zoho.crm.getRecordById("Accounts",AccountID);

        ContactsMap = Map();

        ContactsMap.put("Sector",AccountResp.get("Sector"));

        info ContactsMap;

        UpdateResp = zoho.crm.updateRecord("Contacts",ID.toString(),ContactsMap);

        info UpdateResp;

    }

  4. Click Edit arguments and then add the argument, as follows:
    Figure 8.10 – Adding the Contact Id argument

    Figure 8.10 – Adding the Contact Id argument

  5. Click Save, followed by Save on the screen containing the code when it appears, as follows:
    Figure 8.11 – The completed function, including arguments

    Figure 8.11 – The completed function, including arguments

  6. Now we need to trigger our function either in an existing workflow or create a new one, so navigate to Setup | Automation | Workflow Rules | Create Rule.
  7. You will see a pop-up window. Complete it as follows:
    Figure 8.12 – Creating a new rule in the Contacts module to trigger the function

    Figure 8.12 – Creating a new rule in the Contacts module to trigger the function

  8. Set up the workflow with the following details:
    Figure 8.13 – Complete workflow rule to trigger this function

    Figure 8.13 – Complete workflow rule to trigger this function

  9. Click Save.

Congratulations, you have now completed another function. With this script, we are pulling data from a parent record (Account) and pushing it into a child record (Contact) when it is created. You are taking the customization of Zoho to the next level.

The code used in this example may be amended by adding additional fields in step 3 if needed, or you may also adapt this code to work on different modules by amending the arguments (in step 4) and field names (in step 3) as required.

By completing this function, you should now understand that as long as a relationship exists between two modules (one is a look-up of another), we may pass any value from one record in a related module to another. This is really useful for customer segmentation, reporting, and workflow automation. It also means that when creating records in related modules (including custom modules) and passing values this way, we are reducing data entry and eliminating the chance of errors. Overall, by adding this type of function we are improving the user experience and increasing the quality and integrity of our database.

Having considered the value of custom functions and the different ways to acquire them, let's now look at another way of supercharging your CRM – integrating with other third-party software.

Integrating Zoho CRM with other third-party software

In this section, we will consider some of the types of software we can integrate with and get you started on how you can achieve this.

Before we begin integrating the software, it is necessary to understand why we should consider integrating Zoho with other business applications.

Reasons to integrate with a third-party application

The most common reason(s) for integrating with third-party software is to further automate business processes, thus avoiding duplicate data entry and reducing human error. In an ideal world, we may have all of our processes managed within a single application, and in certain industries, industry-specific software can and does manage this. However, historically these systems were expensive and not cost-effective as a small business may have needed only 20% of the capability but would have to pay 100% of the price.

While Zoho has a peerless ecosystem that does allow businesses to manage the entire business from a single platform, the reality is that many Zoho users still have another business application in place.

Let's consider some examples of departments within your business that may benefit from integrating software with Zoho CRM:

  • Marketing: Many Zoho users have to integrate a third-party email campaign application to push leads into Zoho CRM.
  • Operations: This department may benefit from being notified when a new deal has been closed and/or a new job or project is initiated in another application so that they can start planning and scheduling the delivery of the goods or services purchased.
  • Finance: This department will benefit from an invoice being automatically created in the accountancy software application when a deal has been closed.
  • Sales /Account Managers: This department will benefit from having visibility in the CRM if there are invoices outstanding.

In each of these examples, we have a customer at a particular point in a customer journey and a business process to complete. The aim is to effectively manage these processes from end to end with everyone having visibility of where each customer is up to. If it's not possible to achieve all in one system, by using integration we automate the process of moving on to the next stage and eliminate the need for data entry in both systems.

Tip

List the other business applications (software) in use within your organization and identify which ones may add value by being integrated with the CRM, along with the reasons why.

In addition to automating business processes, the other reason you may need to integrate with a third-party application is to extend the functionality of your CRM. Some of the most common features that are not available within Zoho CRM can be easily integrated, including the following:

  • SMS: Mostly for appointment confirmation/reminder
  • Telephony: Used to make and log calls easily from within Zoho CRM
  • Electronic signature: Used to capture customer signatures electronically
  • Document Templates: Used to present information and/or obtain signatures

This is by no means an exhaustive list. The best way to consider the possibilities is to ascertain if your third-party application has been developed or updated within the last 5-10 years. If so, and if the application is fully accessible from any device anywhere, then it is likely that integration is achievable in one of the ways discussed in the next section.

How we can achieve integration

There are four main ways by which we may integrate our CRM with third-party software. Here, they are prioritized by ease of implementation and cost. The easiest and cheapest method is at the top and the most difficult and more expensive is at the bottom:

  • Zoho CRM Marketplace

    As described earlier in this chapter, the Marketplace is a treasure trove of readily available integration. Check this option before any of the others. In some cases, integration can be achieved within minutes.

  • Third-party software vendor integration

    If there is nothing within the Marketplace, then check your vendor's website for details of Zoho CRM integration. Even if it is not listed, it is worth checking with their sales or support teams because this is often the best option available to you.

  • Configuring a plugin or connector

    If there is nothing readily available, quite often the vendor will refer you to a plugin or connector. This is where another third-party software company (or integration specialist) has created an integration between the two systems already, which is available for you to use – normally for a monthly or annual fee. Sometimes such an integration can meet your needs, but you should check the features meet your requirements. If you are unsure that all your needs are met, ask the vendor if customization is available and at what cost. For a small business that wants to keep the costs as low as possible, this is often quite a good option.

    Popular worldwide connector tools include Zoho Flow, Zapier, and Kloud Connectors. Search the internet to find vendors that provide the integration you are seeking. An example search could be something like Integrate Zoho CRM with <insert name of third-party application>. Often, you will find multiple links, so be sure to read the reviews.

  • Develop your own (using the Zoho API)

    If the other options don't provide a solution or you have a bespoke requirement, then this option should provide the flexibility you need. As this option requires a developer resource, it may often be the costliest solution, but not always, so do check if possible.

By now, you should be able to understand the reasons why we should integrate Zoho with third-party applications and also what options we have available to achieve this. This is important for you and your team. Not having to enter the same data into two systems is an achievable objective, and having data from one system update the value or status of another improves the user experience and effectiveness of the systems.

It's now time for a chapter recap!

Summary

In this chapter, you have learned some of the key ways to enhance, extend, and improve your CRM through the integration of third-party applications or by bespoke customization.

You have gained insights into how the Marketplace can be used and why this dynamic online store is somewhere you should visit regularly to identify new ways of adding value to your CRM and your business. You have gained an understanding of the alternative integration options if the Marketplace does not have what you are looking for. You have also been introduced to Deluge and learned some of the practical ways that custom functions can be used to tailor the CRM to meet your requirements.

With all this knowledge, you should understand that your Zoho CRM is not just a CRM system that will support your business today; it is a platform from which you can evolve, develop, and grow your future business.

In the next chapter, we commence Section 3, Six of the Best Zoho Apps to Integrate with Your CRM, of the book by taking a look at Zoho Campaigns. It is one of six great Zoho applications you need to integrate with.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.150.80