Vtiger Insights Designer

BI reporting is the most common requirement for a business that works as a team - to monitor growth and make strategies.

However, with data being voluminous and distributed across different apps, there is a need for a tool that can pull data, transform it, and visualize it in one place.

Vtiger Insights Designer is intended to help you design reports that match your business needs.

Benefits of Insights Designer

1) Create an Insight page with multiple report widgets

2) Position the widgets with easy drag and resize ability

3) Fetch data from different channels.

4) Visualize in different modes

  • Table
  • Pivot
  • Different types of charts

The channels for fetching data are:

  1. Vtiger Webservice query
  2. Custom Rest API’s from Vtiger API Designer
  3. Upload data using a CSV file and visualize them

You can pin the designed Insight to the Dashboard, and you can also share it with other users. For more details on the Designer, read our article.

 
 
 

VTAP Customer use case

 
 

Vtiger’s Module Designer provides you options to add different types of connectors:

  • SMS
  • Phone calls
  • WhatsApp
  • Sync connectors

Today, we will talk about the SMS Connector. It helps you connect to an external REST API provided by a service provider and send SMS messages to customers.

One of the customers wanted to integrate their service provider with the CRM. This service provider is not listed with us but had REST API support to send SMSes and generate the inquiry status of the sent SMS.

We decided to use REST APIs to connect the service provider with Vtiger. Let us go a little deeper and learn how we used an SMS connector to implement this integration.

First, go to Module Designer and select any existing module. Create an SMS connector by providing a name to it. You will see an SMS connector loaded with default XML notations. It has four parts:

  1. config: This section will have details that the user will see in the SMS Configuration settings on the Vtiger Settings page. These details can be used to send an SMS or connect to SMS providers.
  2. provider: This section will define the connection details to the SMS Service provider, like SMS endpoints to send SMSes.
  3. message_send: This section will define how SMSes will be sent to customers.
  4. message_status: This section will have details on how you can query the status of sent SMSes.

The configuration section will have details to help you connect to an SMS provider and send SMSes.

We will use Telnyx SMS API as an example in this article.

Telnyx SMS API request CURL sample is here:

 

Vtiger’s Module Designer provides you options to add different types of connectors:

  • SMS
  • Phone calls
  • WhatsApp
  • Sync connectors

Today, we will talk about the SMS Connector. It helps you connect to an external REST API provided by a service provider and send SMS messages to customers.

One of the customers wanted to integrate their service provider with the CRM. This service provider is not listed with us but had REST API support to send SMSes and generate the inquiry status of the sent SMS.

We decided to use REST APIs to connect the service provider with Vtiger. Let us go a little deeper and learn how we used an SMS connector to implement this integration.

First, go to Module Designer and select any existing module. Create an SMS connector by providing a name to it. You will see an SMS connector loaded with default XML notations. It has four parts:

  1. config: This section will have details that the user will see in the SMS Configuration settings on the Vtiger Settings page. These details can be used to send an SMS or connect to SMS providers.
  2. provider: This section will define the connection details to the SMS Service provider, like SMS endpoints to send SMSes.
  3. message_send: This section will define how SMSes will be sent to customers.
  4. message_status: This section will have details on how you can query the status of sent SMSes.

The configuration section will have details to help you connect to an SMS provider and send SMSes.

We will use Telnyx SMS API as an example in this article.

Telnyx SMS API request CURL sample is here:


  

curl -X POST \

  --header "Content-Type: application/json" \

  --header "Authorization: Bearer YOUR_API_KEY" \

  --data '{

    "from": "+13115552368",

    "to": "+13115552367",

    "text": "Hello, world!"

  }' \

https://api.telnyx.com/v2/messages


  

curl -X POST \

  --header "Content-Type: application/json" \

  --header "Authorization: Bearer YOUR_API_KEY" \

  --data '{

    "from": "+13115552368",

    "to": "+13115552367",

    "text": "Hello, world!"

  }' \

https://api.telnyx.com/v2/messages

 

In the above request, the Authorization bearer API key and the from phone number differ for different customers. You must enable this on the SMS settings page for customers to enter their values. You will now have to move this information to the config section of our XML like below.

 

In the above request, the Authorization bearer API key and the from phone number differ for different customers. You must enable this on the SMS settings page for customers to enter their values. You will now have to move this information to the config section of our XML like below.


  

<config>

        <fields>

            <field name="from" label="From" type="text" required="true" />      

            <field name="Authorization" label="Authorization" type="password" required="true"/>         

        </fields>

    </config>


  

<config>

        <fields>

            <field name="from" label="From" type="text" required="true" />      

            <field name="Authorization" label="Authorization" type="password" required="true"/>         

        </fields>

    </config>

 

We support text, password, and URL type of fields. Setting the attribute of these fields to Required will make entering the information for these fields mandatory. This will ensure that users will fill in the required information.

Now under the provider section, you will add the sms endpoints and the bearer token.

The XML URL node points to the endpoint, and the auth has a bearer token that takes the value from the user config.

Notice the $config.$fields.Authorization? $config means reading the value from the config section. $fields are the pointers to available fields in the config section, and Authorization is the field name given.

 

We support text, password, and URL type of fields. Setting the attribute of these fields to Required will make entering the information for these fields mandatory. This will ensure that users will fill in the required information.

Now under the provider section, you will add the sms endpoints and the bearer token.

The XML URL node points to the endpoint, and the auth has a bearer token that takes the value from the user config.

Notice the $config.$fields.Authorization? $config means reading the value from the config section. $fields are the pointers to available fields in the config section, and Authorization is the field name given.


  

<provider>

       <url> https://api.telnyx.com/v2 </url>

          <auth>

               <bearer token="$config.$fields.Authorization" />

           </auth>

   </provider>


  

<provider>

       <url> https://api.telnyx.com/v2 </url>

          <auth>

               <bearer token="$config.$fields.Authorization" />

           </auth>

   </provider>

 

We have completed the configuration par. Now we move to - how to send an SMS. For this, we will start with the message_send node. It can be broken down into three parts.

URL, headers, and parameters. These can be compared to request URLs, request headers, and request parameters.

The request type is POST, so we set the method attribute in the request XML node as “post”. URL will be set to the URI endpoint. 

We already have set provider.url with https://api.telnyx.com/v2, so set only /messages as the URL here.

We need to send the content-type, and auth bearer token will be taken from the provider.auth node.

Next, the parameters should be sent as raw data. Each parameter has a name and value. We have spoken about $config.$fields.* above. @recipients and @message are the dynamic values that will be replaced at runtime. Apart from this, if you select an SMS template to send an SMS, you can also pull up @templateid from the template record to send it to the provider. The service provider can map your template to approved templates. 

 

We have completed the configuration par. Now we move to - how to send an SMS. For this, we will start with the message_send node. It can be broken down into three parts.

URL, headers, and parameters. These can be compared to request URLs, request headers, and request parameters.

The request type is POST, so we set the method attribute in the request XML node as “post”. URL will be set to the URI endpoint. 

We already have set provider.url with https://api.telnyx.com/v2, so set only /messages as the URL here.

We need to send the content-type, and auth bearer token will be taken from the provider.auth node.

Next, the parameters should be sent as raw data. Each parameter has a name and value. We have spoken about $config.$fields.* above. @recipients and @message are the dynamic values that will be replaced at runtime. Apart from this, if you select an SMS template to send an SMS, you can also pull up @templateid from the template record to send it to the provider. The service provider can map your template to approved templates. 


  

<message_send>

       <request method="post">

           <url>/messages </url>

           <headers>

                <header name="content-type" value="application/json" />

             

           </headers>

           <parameters raw-post-data="true">

               <parameter name="from" value="$config.$fields.from" />

               <parameter name="to" value="@recipients" />

               <parameter name="text" value="@message" />

           </parameters>          

       </request>

</message_send>


  

<message_send>

       <request method="post">

           <url>/messages </url>

           <headers>

                <header name="content-type" value="application/json" />

             

           </headers>

           <parameters raw-post-data="true">

               <parameter name="from" value="$config.$fields.from" />

               <parameter name="to" value="@recipients" />

               <parameter name="text" value="@message" />

           </parameters>          

       </request>

</message_send>

 

Apart from this, you need to map the response of the send SMS action to capture the unique SMS identifier. You can use this unique SMS ID to query the SMS status and map the SMS provider status values with Vtiger SMS status values. 

In the same way, you can get the status of the sent message using the SMS ID. To implement this, we suggest you go through our documentation which gives you more details.

Here is the link for the complete XML code for the Telnyx sms connector. You can also view our vtap documentation which explains SMS connectors in detail.

Note: You can also create an SMS connector as a new extension module. You can also extend your solution to other Vtiger customers through the Vtiger Marketplace.

 

Apart from this, you need to map the response of the send SMS action to capture the unique SMS identifier. You can use this unique SMS ID to query the SMS status and map the SMS provider status values with Vtiger SMS status values. 

In the same way, you can get the status of the sent message using the SMS ID. To implement this, we suggest you go through our documentation which gives you more details.

Here is the link for the complete XML code for the Telnyx sms connector. You can also view our vtap documentation which explains SMS connectors in detail.

Note: You can also create an SMS connector as a new extension module. You can also extend your solution to other Vtiger customers through the Vtiger Marketplace.

 
 

Vtiger APPtitude 

 

Tools we like

 
 

You can see what your users are doing on your website and view the video of their actions and mouse movements using openreplay

Openreplay is a self-hosted tool that lets you capture user sessions and see everything users do on your web app, down to the smallest detail. It gives a lot of control to the developers to configure what user data should be captured or skipped and other privacy controls.

 

You can see what your users are doing on your website and view the video of their actions and mouse movements using openreplay

Openreplay is a self-hosted tool that lets you capture user sessions and see everything users do on your web app, down to the smallest detail. It gives a lot of control to the developers to configure what user data should be captured or skipped and other privacy controls.

 
 
 

Vtiger Survey

 
 

Your voice matters!

Have you used VTAP? We would like your feedback and suggestions on VTAP low-code and no-code tools. What would you like to see, and what is missing that should be part of the VTAP platform?

Take this survey to share your experience and input.

 

Your voice matters!

Have you used VTAP? We would like your feedback and suggestions on VTAP low-code and no-code tools. What would you like to see, and what is missing that should be part of the VTAP platform?

Take this survey to share your experience and input.

 
 

Coming Soon

 
 

Insights Designer 2.0 will enable insights from Vtiger historical data.

For example, how many contacts’ Status fields were changed from Hot to Inactive, how many deals were moved from one pipeline to another within a certain period, and so on. 

You can plot this data on a chart or tabulate it into tables with details such as which user or group made such changes.

 

Insights Designer 2.0 will enable insights from Vtiger historical data.

For example, how many contacts’ Status fields were changed from Hot to Inactive, how many deals were moved from one pipeline to another within a certain period, and so on. 

You can plot this data on a chart or tabulate it into tables with details such as which user or group made such changes.

 
 

Sign up to receive the latest updates!