Skip to main content

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

  • If a proposal is signed in-app or online, the signed document will be automatically pushed into Zoho's Deal/Contact/Lead Attachments section.

  • ArcSite provides Webhooks for further customization

Integration Quick-Start

To get a functional integration, follow these two phases:

  1. Phase 1: Account-Level Authentication (UI)

    • Go to the Integrations page and use the "Connect to Zoho CRM" button. This handles the OAuth handshake and enables the API endpoints. This is a one-time setup.

  2. Phase 2: Project-Level Association (API)

    • For each ArcSite project you wish to sync, you must make a POST call to the .../zoho_crm/associate_project endpoint, providing the project_id and the zoho_record_id.

    • Result: The "Send to Zoho CRM" button and other features will now be active only for that specific project.

Detailed Sections Below

Integrating Zoho CRM into ArcSite

Associating Zoho CRM Records with ArcSite Projects

The Send to Zoho CRM button in the Takeoff & Estimate Tab serves as the primary indicator that you have successfully linked a specific ArcSite project to a Zoho CRM record.

This button is not visible by default. It will only appear for a project after you have successfully associated it with a Zoho CRM record using the /associate_project API endpoint.

To verify a successful association:

  1. Within the ArcSite app, open a project that you have successfully associated via the API.

  2. Create or open a Drawing and upload it to the Cloud.

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

  4. Navigate to the Takeoff & Estimate Tab.

  5. Confirm that the Send to Zoho CRM button is now visible.

Untitled

If the button is still missing, it indicates the project association via the API has failed or has not been performed for this specific project. Please check the response from your API call for errors.

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

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

Automatic push of a Signed Proposal to Zoho

When this automatic push occurs

The push is automatically triggered at the following two points:

  1. After uploading a “Signed on Device” Proposal in the app.

  2. When the eSign process is complete, and the Proposal status changes to “Online Approved.”

How are the files named

Signed on Device: {Proposal Name} - Signed on Device.pdf

eSigned: {Proposal Name} - eSigned.pdf

Where does the signed Proposal get placed

  • Into Zoho's Deal/Contact/Lead Attachments section

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.

Important: This step's sole purpose is to establish an account-level connection and authenticate ArcSite to use your Zoho CRM API. It does not, by itself, link any projects or enable any UI features. To activate features for a specific project, you must complete the association step described in the sections below.

Did this answer your question?