| Catalyst Component | What It Does | Comparable To |
|---|---|---|
| Advanced I/O Functions | Serverless functions triggered by HTTP, cron schedules or Catalyst events | AWS Lambda, Google Cloud Functions |
| Appspot | Hosted Node.js or Java server-side applications | Heroku, App Engine |
| Data Store | NoSQL document store hosted on Zoho infrastructure | Firestore, DynamoDB |
| File Store | Object storage for files, models and assets | S3, Google Cloud Storage |
| Smart Browse | Full-text search engine for Catalyst data | Elasticsearch, Algolia |
| Transactional email sending from Catalyst functions | SendGrid, Mailgun | |
| Push Notification | Mobile push notifications from server-side logic | Firebase Cloud Messaging |
The decision between Catalyst and Deluge follows the same architecture principle covered in the Deluge vs Python comparison: Deluge runs inside Zoho and is triggered by Zoho events. Catalyst runs alongside Zoho and can be triggered by anything.
Catalyst is appropriate when:
This example shows a Catalyst Node.js function that receives a webhook from Zoho CRM when a deal closes, calls an external service and writes a result back to Zoho CRM via the API:
For Zoho CRM developers evaluating whether a given requirement calls for Deluge or Catalyst, the guiding question is simple: does the logic need to run inside Zoho in response to a Zoho event (Deluge), or does it need to run independently with more compute flexibility and external trigger options (Catalyst)? ABR’s development team can advise on the appropriate architecture for a specific requirement — contact the ABR development team to discuss.
// Catalyst Advanced I/O Function (Node.js) // Receives Zoho CRM webhook, processes and writes back const axios = require(“axios”); module.exports = async (req, res) => { const { dealId, dealName, amount } = req.body; // Call an external service (e.g. credit check, pricing engine) const externalResult = await axios.get( https://api.external-service.com/check?amount=${amount} ); const approvalStatus = externalResult.data.approved ? “Approved” : “Flagged”; // Write result back to Zoho CRM via REST API const accessToken = await getZohoAccessToken(); // refresh token flow await axios.patch( https://www.zohoapis.com/crm/v3/Deals, { data: [{ id: dealId, External_Check_Status__c: approvalStatus }] }, { headers: { Authorization: Zoho-oauthtoken ${accessToken} } } ); res.status(200).json({ status: “processed” }); }; |
|---|
When would I use Zoho Catalyst instead of Zoho Deluge?
How does Zoho Catalyst connect to Zoho CRM?
Is Zoho Catalyst included in Zoho One?
Can ABR build a Zoho Catalyst application for our business?