Sunday, June 8, 2014

Fully Integrate Zoho Creator & Zoho Projects via API

This integration is one of the most powerful ones I have seen out there for Zoho API's not only because of its complexity to integrate both systems but also because of its usability in the business world.

There are thousands of Fortune 500 companies investing millions of dollars in creating software to eliminate silos within their corporate walls, but for most of them their systems are still fragmented and not part of a global strategy to manage for performance.... meaning... their CRM does not talk to Invoice, who does not talk to Operations, etc,etc

With this integration you can start breaking the sequence of capturing data more than once, speed up the process of creating business services, assigned them to team leaders and above all impress clients with up to the minute status on their service progress by leveraging every feature Zoho Projects has to offer with the flexibility and scalability of Zoho Creator.

In order to integrate both systems you will need to develop the following API connections.
  • Add a Project
  • Get users from Zoho Projects
  • Get AllProjects
  • Add a Milestone
  • Need to re format Date fields to blend with Zoho Projects date format
  • Get All Milestones
  • Add a Tasklist
  • Get All Tasklists
  • Add a Task
  • Update Project
  • Update Milestone
  • Update Tasklist
  • Update Task

This is easier said than done, but if you think you are up for the task you can always check Zoho Projects API documentation available to anyone on the web. Or, you can select the API scripts ready to use from the Zoho Form below. To get you started I will share the easiest of the API connections "Add a Project".... the script is straight forward Post URL.

params = map();
params.put("projTitle", input.Project);
params.put("projDesc", input.Description);
AddProject = postUrl("https://projectsapi.zoho.com/portal/zohoprojectsname/api/private/xml/project/add?authtoken=0954329c4e9fc469bb7a29d45b9", params,false);
response = AddProject.get("responseCode");
sendmail
(
    To       :  ("admin@youremail.com")
    From     :  zoho.adminuserid
    Subject  :  "Posting New Project"
    Message  :  "Server Response is: " + response
)

Friday, May 9, 2014

How to add Rapleaf data into Zoho Creator



You probably have a large database of emails and contact names, but do you have information about demographics, Annual Income, Preferences, etc?

Rapleaf is a leading US company that provides data tied to an email address with 90% accuracy. If you want to market information with a laser focus approach it is valuable to segment your dripping campaigns based on some customer preferences or median annual income.

Zoho Creator is a leading online database application that enables you to build, custom and deploy amazing databases in record time at the most affordable price point you can imagine.

Combining the two is as easy as creating a function in Zoho Creator using the script below and then integrate the custom function into the reports / views that have the records you would like to push information through.


string API.Rapleaf(string first, string last, string email, string zip)
{
    data = map();
    data.put("api_key", "your_api_key_number");
    data.put("email", encodeUrl(input.email));
    data.put("first", input.first);
    data.put("last", input.last);
    data.put("zip", input.zip);
    rapleaf = getUrl("https://personalize.rapleaf.com/v4/dr/", data,false);
    response = rapleaf.get("responseText");
sendmail
    (
        To       :  zoho.adminuserid, "yourname@domain.com"
        From     :  zoho.adminuserid
        Subject  :  "Send data for " + input.first + " " + input.last
        Message  :  response
    )
    return response;
}

The script above will send you an email with the corresponding email information, but If you are interested in updating your Zoho Creator database with the information you are Getting from Rapleaf send me a message and we can discuss further.

Wednesday, April 16, 2014

How to Round Numbers on .25 Increments in Zoho Creator


Sometimes you require a custom Rounding function to meet your needs. For example, you may very well want to track employee hours, but need to be consistent and round each decimal entries.

The script below allows you to round in increments of .25 so if you were entering hours each .25 = 15 minutes on the hour.

float Calculations.FrankUp(float Hours)
{
    HI = input.Hours.toLong();
    Gap = (input.Hours  -  HI).round(2);
    if ((Gap  <=  0.25)  &&  (Gap  >  0.0))
    {
        return (HI  +  0.25).round(2);
    }
    else if ((Gap  <=  0.5)  &&  (Gap  >  0.25))
    {
        return (HI  +  0.5).round(2);
    }
    else if ((Gap  <=  0.75)  &&  (Gap  >  0.5))
    {
        return (HI  +  0.75).round(2);
    }
    else if (Gap  >  0.75)
    {
        return (HI  +  1.0).round(2);
    }
    else if (Gap  ==  0)
    {
        return (HI  +  0.0);
    }
    return Gap;
}



Friday, February 28, 2014

One actionable step for a successful Zoho CRM setup



French writer Antoine de Saint-Exupery   is a great reminder that often, less is more and the best thing to do when you start setting up your ZOHO CRM system is to ELIMINATE all the fields you are not going to use in each Module. 

Think hard about the fields that you really need and how you are going to use them. It will clear your head, your system & your business process. Good Luck & may the force be with you....




Sunday, February 23, 2014

Possible cause for GENERATEJS_TASK error

Are you getting this error message on your Zoho Creator application? If so, do not worry is easy fixable and most of the times its due to the lack of a referenced table data within the Form you are trying to update.




Most of the times the main cause for GENERATEJS_TASK error is caused when we are trying to open a Form using a function that delivers ID parameters to specific fields within the form. You can update a value on a dropdown but you can not reference that parameter to update a field within a subform or other table within the existing Form. You must first fetch the corresponding data before you can update subform fields.

Lets take a look at the below example. Assume you are working with Form A, which has Filed1, Field2 within Form A you have subform Aa & need to update Subfield1 & Subfield2.

Parameters will travel on your url ID & update Form A Fields1 & 2
https://creator.zoho.com/userid/yourappname/#Form:NameFormA?Field1=1593428000001420284&Field2=1593428000001420288

// First Need to Fetch the corresponding table "On Add/On Load" section of your Form. 
T1 = Table1 [ID == input.Field1]; 
T2 = Table2 [ID == input.Field2]; 
//Now that you have the corresponding data you can update values within a subform.
SubformAa.subfield1 = T1.ID; SubfomrAa.subfield2 = T2.ID;

There are other events that can cause this error to break your app flow. however, this is in my experience the most common one I have seen. Enjoy!!!