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://\
.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://\
.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:
[
{
"name": "Brighty",
"email_id": "brighty@testing.com",
"phone": "123456789"
},
{
"name": "John",
"email_id": "john@testing.com",
"phone": "987654321"
}
]
- 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.