🎯 Exercise 9
Sync Customers from BigCommerce to Frappe CRM
Objective: Practice building a reusable Snippet that creates or updates contacts in Frappe CRM, and calls it multiple times within the same workflow for different customer types.
Prerequisites:
A BigCommerce trial account with at least 2-3 customers — some with a company name and some without
A Frappe CRM free account
Go to https://frappe.io/cloud. Click Start Free Trial on the top right corner. Continue with Google and create an account. Install CRM and create a site. Complete the set up.
Go to https://<company>.frappe.cloud/app/user and click on your name on the bottom left.
Under Settings -> App -> Choose CRM and Save.
Now under Settings -> API Access -> Generate Keys and Download.
Go to https://<company>.frappe.cloud/crm/contacts/view/list and add columns for name and status.
Snippet to Build: Create or Update Contact in Frappe CRM
Build a Snippet called Create or Update Contact with the following inputs:
Label
Key
Data Type
Required
Contact Data
contact
JSON
Yes
Status
status
String (Open/Passive/Replied)
Yes
Inside the Snippet, build the following steps:
Loop through the data,
Search for the contact in Frappe CRM by email
If contact exists, do nothing; if not, create a contact in Frappe CRM
When creating contact in Frappe CRM, add success/failure contact creation detailed logs.
Return the result
Workflow to Build:
Create a new batch workflow
Add the below contact data you got manually as Frappe CRM Contacts via DCKAP Integrator using the Snippet created. Keep the status key of these records as “Open”
Contact Data:
Fetch all customers from BigCommerce and create as Contacts if it doesn’t exist using the created snippet.
Enable Console Logs, save and run the workflow
Hints:
Use the customer's email as the unique identifier to check if they already exist in Frappe CRM
The same Snippet is called twice in this workflow
Expected Outcome: All BigCommerce customers are synced as Frappe CRM Contacts. The Detailed Log shows a clear record of which customers were created and which failed.
Last updated
Was this helpful?