Montgomery CPA, LLC is seeking an experienced Make.com developer to build an integrated communications and contact-management solution connecting Karbon, Google Workspace, RingCentral, Gmail, and Make.com.
The project is designed in two phases:
Phase 1: Contact Synchronization & Identity Resolution
Phase 2: RingCentral Communications Integration
The overall objective is to automate, synchronize, document, and make client communications searchable, creating a more complete and accessible client record across our systems.
A critical component of this project is establishing a reliable contact and identity layer in Phase 1 before implementing the communications automation in Phase 2.
Phase 1 – Contact Synchronization & Identity Resolution
Karbon → Make.com → Google Workspace Shared Contacts (24/7)
Karbon will serve as the authoritative system of record for client/contact identity and contact information.
1. Initial Full Synchronization
The initial implementation should export/read all existing contacts in Karbon and create or match them within the firm’s Google Workspace shared contacts.
This initial synchronization should establish the contact/identity foundation that will subsequently be maintained through ongoing synchronization and reconciliation.
2. Ongoing 24/7 Synchronization
Whenever a contact is created or updated in Karbon, Make.com should automatically create or update the corresponding Google Workspace contact.
The process should operate continuously, 24/7, with no staff intervention required.
The synchronization should include relevant contact information such as:
- Person or organization
- Names
- Email addresses
- Phone numbers
- Addresses
- Other relevant contact details
The desired workflow is for Karbon to notify Make.com when a contact is created or updated, typically through a webhook or other appropriate event-driven method.
3. Make.com Automation & Logic
Make.com should:
- Receive Karbon webhook/event data
- Validate and parse the data
- Check for an existing Google contact before creating a new contact
- Match contacts using unique identifiers
- Map relevant fields
- Create or update the appropriate Google Workspace contact
- Prevent duplicates
- Log results
- Handle errors and exceptions
4. Duplicate Prevention & Identity Resolution
Before creating a Google Workspace contact, Make.com should check for an existing match using:
- Karbon ID, where possible
- Email address
- Normalized phone number
Accurate duplicate prevention and identity resolution are particularly important because phone number will become one of the keys used to identify and match RingCentral communications to the correct client in Phase 2.
5. Scheduled Reconciliation
In addition to the near-real-time, event-driven synchronization, the solution should include a scheduled reconciliation process as a safety net.
On a scheduled basis, such as hourly or daily, Make.com should:
- Retrieve all Karbon contacts
- Compare them with Google Workspace contacts
- Identify missing or out-of-date contacts
- Create/update contacts as necessary
- Generate a reconciliation report
The purpose of this process is to catch anything that may have been missed because of an API, webhook, Make.com, or other synchronization failure.
6. Google Workspace Shared Contacts – Firm-Wide
The synchronized contacts should be Google Workspace shared contacts available to the entire Montgomery CPA team.
The desired result is for contacts to:
- Be available firm-wide to authorized users
- Sync to applicable Google Workspace services, including Gmail and Calendar
- Be available on desktop and mobile devices
- Support caller ID where supported
- Be designed so that new employees can be included without rebuilding the automation
Phase 1 Objectives
- Perform an initial full synchronization of existing Karbon contacts to Google Workspace shared contacts.
- Synchronize new and updated Karbon contacts to Google Workspace continuously (24/7).
- Prevent duplicates and ensure data accuracy through reliable identity resolution.
- Maintain synchronization without staff intervention.
- Provide scheduled reconciliation as a safety net.
- Enable firm-wide contact availability on desktop and mobile.
- Allow future employees to be included without rebuilding the automation.
- Establish the identity-resolution layer required for Phase 2.
Key Phase 1 Deliverables
- Initial full synchronization of existing Karbon contacts
- Working near-real-time synchronization using webhooks/events or the appropriate API method
- Scheduled reconciliation process
- Contact field mapping and matching logic
- Identity matching using Karbon ID where possible, email address, and normalized phone number
- Duplicate prevention
- Google Workspace shared contacts available to the Montgomery CPA team
- Design that accommodates future employees
- Error handling, alerts, and audit logs
- Reconciliation reporting
- Documentation and testing
- Recommendation regarding mobile/caller-ID availability
Phase 2 – RingCentral Communications Integration
RingCentral → Make.com → Gmail/Google Workspace (Searchable) → Karbon Timeline
Once the contact synchronization and identity-resolution layer established in Phase 1 is functioning reliably, the second phase will automate the capture, processing, searching, and documentation of firm communications.
The objective is for RingCentral calls, SMS/text messages, voicemails, AI summaries, full transcripts, and related communications data to flow through Gmail/Google Workspace for ChatGPT searchability and then be matched back to the correct Karbon client timeline.
Desired Workflow
1. RingCentral – Firm Communications
The integration should capture applicable communications for firm users, including:
- Incoming and outgoing calls
- SMS/text messages
- Voicemails
- Voicemail transcriptions
- Call recordings
- AI call summaries
- Complete call transcripts
- Call metadata, including date, time, and duration
- Employee/extension information
Capture should occur through the RingCentral API or event notifications, with the goal of real-time or near-real-time processing for applicable users.
2. Make.com – Automation & Processing
Make.com should:
- Retrieve communication data
- Parse and normalize information
- Use the contact/identity-resolution layer established in Phase 1
- Match phone numbers and/or email addresses to the appropriate Karbon contact
- Match communications to the correct Karbon client
- Enrich communications with client/organization data
- Format a searchable Gmail record, including the full transcript where applicable
- Create/update the appropriate Karbon timeline entry
- Prevent duplicate entries
- Handle exceptions and logging
3. Gmail / Google Workspace – Searchable Communications Archive
Create a searchable Gmail record with a consistent subject and format.
The record should include, where applicable:
- Client name and phone number
- Call type, date, duration, and employee
- RingCentral AI summary
- Full transcript text that can be searched
- Action items
- Recording link/reference
- Karbon client identifier
- Accessibility to authorized users
- ChatGPT searchability/integration
4. Karbon – Client Timeline / Communication Record
Using the identity layer established in Phase 1, each communication should be matched back to the correct Karbon client timeline.
The appropriate client timeline should include:
- Communication summary
- AI summary
- Key details, including duration, etc.
- Transcript, either full text or a link depending on final design
- Recording link/reference
- Employee involved
- Associated client/organization
- A single, non-duplicate entry
Phase 2 Objectives
- Capture applicable RingCentral communications.
- Send AI summaries and full transcripts through Gmail/Google Workspace for searchability.
- Make the communications available for ChatGPT searchability/integration as contemplated by the project design.
- Use the Phase 1 identity layer to match communications to the correct client.
- Document communications in the correct Karbon client timeline.
- Handle exceptions, duplicates, and future employees.
Key Phase 2 Deliverables
- End-to-end RingCentral integration for applicable firm users
- Searchable Gmail records, including full transcripts
- Integration designed to support ChatGPT searchability
- Correct client identification using the Phase 1 identity-resolution layer
- Karbon timeline documentation
- Exception-handling workflow
- Duplicate prevention
- Support for future employees
- Monitoring, alerts, and reporting
- Documentation, training, and support
Developer Experience / Project Response
We are looking for a developer who can design, build, test, document, and assist with implementation of this solution using Make.com.
Experience working with Make.com, APIs, webhooks, Karbon, RingCentral, Google Workspace/Google People API, Gmail, and contact/identity matching would be particularly relevant.
When responding, please provide:
- Your experience with Make.com and similar integrations
- Relevant experience with Karbon, RingCentral, and/or Google Workspace
- Examples of comparable projects, if available
- Your proposed approach to the two-phase project
- Your proposed approach to the initial full Karbon contact synchronization
- Your approach to duplicate prevention and identity matching, particularly matching by Karbon ID, email address, and normalized phone number
- How you would implement ongoing 24/7 synchronization and scheduled reconciliation
- How you would structure Google Workspace shared contacts for firm-wide availability and future employees
- How you would approach RingCentral communication capture and matching communications to the correct Karbon client
- Any anticipated API or integration limitations that may affect the proposed design
- Estimated project timeline
- Pricing structure or estimated cost
- What access/information you would need from our firm to begin
- Your approach to documentation, testing, error handling, monitoring, and ongoing support
Important: The workflow above represents our desired solution. We would like the selected developer to validate API capabilities and technical feasibility as part of the project and recommend adjustments where necessary.