ArcSite + Zoho CRM
Updated over a week ago

This article describes how to intergrate your Zoho CRM account with ArcSite and how objects are synced between the two software.

Key Points:

  • The integration is a two-way connection meaning that information can be sent in both directions

  • Starting in a Zoho Record, you can push / create an ArcSite project with client details and have it assigned to a specific sales person

  • Once the work is finished in ArcSite, uploading it to the cloud will enable you to then push the created documents and diagram back as attachments into the relevant Zoho Record

  • ArcSite provides Webhooks for further customization

Sections

Integrating Zoho CRM into ArcSite

Associating Zoho CRM Records with ArcSite Projects

Validating the Integration

Once you've successfully created the project and associated with the Zoho CRM record, you can verify the integration status in ArcSite follow these steps:

  1. Check if the Project created via the API appears in the Project List. If it's missing, this indicates a project creation failure.

    Untitled
  2. Within the ArcSite app, create a Drawing within the Project and upload it to the Cloud.

  3. On the ArcSite user site, select the uploaded Drawing.

  4. In the Takeoff & Estimate Tab, ensure the Send to Zoho CRM button is visible.

    Untitled
  5. If the Send to Zoho CRM button appears, it confirms the successful association, allowing the Project to push proposal PDF as attachment to associated Zoho CRM record.

  6. If the button is missing, this indicates a project association failure. Please check the associate API for more information.

Data Pushing Details

Push Proposal PDF file

  • When to Push: After user exports the Proposal PDF in the app, we will pop up a dialog to ask user whether to push Proposal PDF file or not.

  • How It Works: If user choose “Yes”, this proposal PDF file will be pushed as a new attachment in the associated Zoho CRM record.

  • How to Verify: Check the file in the Attachments section of the associated Zoho CRM Record.

APIs for Zoho CRM

Associate Zoho CRM Record with ArcSite Project

curl -X POST 'https://api.arcsite.com/v1/zoho_crm/associate_project' \ -H 'Authorization: Bearer **your_api_token_here**' \ -H 'Content-Type: application/json' \ -d '{ "zoho_module": "Deals", "zoho_record_id": "598254512451545", "project_id": "36029621653386360" }'

The above command returns JSON structured like this:

{ "id": "36029621653386360", "name": "nac", "created_at": "2022-01-16T03:31:39", "updated_at": "2022-01-16T03:31:39", "job_number": "heeloo", "customer": { "name": "hello", "phone": "122112", "second_phone": "122112", "email": "dev@arctuition.com", "second_email": "dev@arctuition.com", "address": { "street": "address", "city": "city", "county": "county", "state": "state", "zip_code": "200544" } }, "work_site_address": { "street": "street", "city": "city", "county": "county", "state": "state", "zip_code": "300433" }, "sales_rep": { "name": "Wang", "email": "dev@arctuition.com", "phone": "122112" } }

This endpoint establishes an association between a Zoho CRM record and an existing ArcSite project.

HTTP Request

POST https://api.arcsite.com/v1/zoho_crm/associate_project

Parameters

Parameter

Type

Description

zoho_module

String

(required) The Name of the Record in Zoho CRM, the value should one of Deals, Quotes and Leads.

zoho_record_id

String

(required) The ID of the record in Zoho CRM.

project_id

Int

(required) The ID of the existing ArcSite project.

An ArcSite Project can only be associated with one Zoho CRM record, and attempting to associate it again if it's already associated will result in a failure.

Webhooks and Customization for Zoho CRM

Prompt after exporting proposal in App for Zoho CRM

This webhook is triggered after exporting a Proposal PDF in the ArcSite App and the user chooses “Yes” or “No” when prompted.

This webhook will only be triggered if:

  • The project is associated with a Zoho CRM record.

  • This webhook has been added.

    Untitled

  • And the user export Proposal PDF.

    Untitled

  • The user choose the "Yes" or "No" in the app when prompted.

    Untitled

Prompt after exporting proposal in App Webhook Payload

Parameter

Type

Description

project_id

String

(required) The project id of the project

drawing_id

String

(required) The drawing of the project

zoho_module

String

(required) The name of the Zoho CRM module, the value should one of Deals, Quotes and Leads.

zoho_record_id

Boolean

(required) The record ID in Zoho CRM

yes_no

Boolean

(required) User Selection

A Customization Example:

Let’s say you want to create a Quotes record with product line items in Zoho CRM, when you push over the Proposal PDF attachment.

Implementation Steps:

payload = get_payload_from_webhook() # extract drawing_id, zoho_module_name and zoho_record_id from payload drawing_id = payload.drawing_id zoho_module_name = payload.zoho_module_name zoho_record_id = payload.zoho_record_id if payload.yes_no is False # Do nothing or other logic else # Fetch all Line Items info using drawing_id ine_items = request_arcsite_drawing_line_items_api(drawing_id) # Create Zoho CRM Quotes or other record with the line items data
  1. Complete Basic Integration and add the Proposal Exported in App Webhook.

  2. ArcSite sends payload data to your webhook URL. You should to extract the yes_no from the payload and handle the logic like the sample code right side.

  3. Extract Drawing ID and zoho_module and zoho_record_id from the payload.

  4. Fetch all Line items info using the drawing_id via Drawing Line Items API.

  5. Create Quotes record with Drawing Line Items Data

    • Deal_Name: Use the zoho_module and zoho_record_id to fetch the Deals record name from Zoho CRM.

    • Discount: Use the sum of discount and markup from the drawing line items data.

    • Tax: Use line items sum oftax as the Tax of Quotes record.

    • Quoted_Items: Use the line items data to create the Quoted_Items of Quotes record

      • Product_Name: Use the name of the line item, you can use the name to fetch the product from Zoho CRM.

      • Quantity: Use the quantity of line item

      • Price_Book_Name: Use the zoho_product_id fetched before to get or create PriceBook data from Zoho CRM.

  6. Optionally, modify the record status or add other custom features.

Connecting to Zoho CRM in ArcSite

Users access the Integrations page and initiate the connection process using the Zoho CRM Integration Card.

By clicking "Connect to Zoho CRM," ArcSite will automatically redirect users to the Zoho authorization page.

Upon completing the authorization process, users will be automatically redirected back to the Integrations page, where it will indicate that Zoho CRM is now connected.

Did this answer your question?