SaaS delivery and Salesforce integration
A SaaS platform shipped by ZettaCore on containerised AWS EC2 with ECR and GitHub Actions CI/CD, plus bidirectional Salesforce synchronisation built on Apex triggers and custom webhooks.
A SaaS product that has to stay in step with Salesforce faces two problems at once. The deployment pipeline has to make releases routine rather than eventful, and the integration has to keep two systems consistent in both directions — where each side can originate a change, and neither can be treated as the sole source of truth.
Containerised deployment to AWS EC2 using Docker Compose with images published to ECR, driven by GitHub Actions so a merge produces a deployed release without manual steps. Salesforce synchronisation runs bidirectionally: Apex triggers push changes outward and custom webhooks carry changes back, so an update on either side reaches the other.
Making releases uneventful
The main risk in a small SaaS deployment is not the infrastructure but the release ritual — manual steps performed rarely, remembered imperfectly and skipped under pressure. Publishing images to ECR and driving deployment from GitHub Actions removes the ritual: the pipeline performs the same steps every time, and a release becomes a merge.
Bidirectional sync and the direction problem
One-way synchronisation is straightforward because one system is authoritative. Bidirectional sync is harder, because the same record can change on both sides and the integration has to decide what that means. Apex triggers handle the outbound direction from Salesforce; custom webhooks carry inbound changes, so the product and the CRM converge rather than drift.
Containers as the deployment contract
Docker Compose on EC2 keeps the runtime identical between what was tested and what runs, which is the property that makes an automated pipeline trustworthy. The container is the contract; the pipeline only moves it.
How it was delivered.
Context, architecture, technology and outcome for this engagement.
A SaaS product that has to stay in step with Salesforce faces two problems at once. The deployment pipeline has to make releases routine rather than eventful, and the integration has to keep two systems consistent in both directions — where each side can originate a change, and neither can be treated as the sole source of truth.
Containerised deployment to AWS EC2 using Docker Compose with images published to ECR, driven by GitHub Actions so a merge produces a deployed release without manual steps. Salesforce synchronisation runs bidirectionally: Apex triggers push changes outward and custom webhooks carry changes back, so an update on either side reaches the other.
AWS EC2, Docker, Docker Compose, ECR, GitHub Actions, Salesforce Apex
Deployed to production on AWS with an automated release pipeline.
Ready to scope it properly?
Bring the problem, the constraints and the deadline. We will come back with an architecture and an honest view of effort.