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
Use the ArcSite Project Create API to generate an ArcSite Project using information from a Zoho CRM record.
Associate a Zoho CRM record with a specific ArcSite Project through Associate Zoho CRM record with ArcSite Project.
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:
Check if the Project created via the API appears in the Project List. If it's missing, this indicates a project creation failure.
Within the ArcSite app, create a Drawing within the Project and upload it to the Cloud.
On the ArcSite user site, select the uploaded Drawing.
In the Takeoff & Estimate Tab, ensure the Send to Zoho CRM button is visible.
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.
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.
And the user export Proposal PDF.
The user choose the "Yes" or "No" in the app when prompted.
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
Complete Basic Integration and add the Proposal Exported in App Webhook.
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.Extract
Drawing ID
andzoho_module
andzoho_record_id
from the payload.Fetch all Line items info using the
drawing_id
via Drawing Line Items API.Create Quotes record with Drawing Line Items Data
Deal_Name: Use the
zoho_module
andzoho_record_id
to fetch the Deals record name from Zoho CRM.Discount: Use the sum of
discount
andmarkup
from the drawing line items data.Tax: Use line items sum of
tax
as theTax
of Quotes record.Quoted_Items: Use the line items data to create the
Quoted_Items
of Quotes recordProduct_Name: Use the
name
of the line item, you can use thename
to fetch the product from Zoho CRM.Quantity: Use the
quantity
of line itemPrice_Book_Name: Use the
zoho_product_id
fetched before to get or create PriceBook data from Zoho CRM.
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.