Overview
The Custom CRM integration allows you to connect Enginy with your own CRM system or internal database. This enables Enginy to:- Export contacts and companies from Enginy to your CRM
- Create tasks directly in your system when sequences or workflows require task creation
- Create associations between contacts and companies in your CRM
- Log activities (LinkedIn messages, emails) to your CRM
- Assign owners to exported records (if your CRM supports users)
This integration is designed for companies with proprietary CRM systems or custom-built internal tools that
aren’t supported by our standard integrations.
How It Works
When you connect a Custom CRM:- You provide Enginy with your API base URL and authentication credentials
- Enginy validates the connection by calling your
/healthendpoint - Once connected, Enginy can export contacts, companies, and create tasks in your system
Prerequisites
Before connecting, your CRM must expose the following endpoints:Health Endpoint
A
GET /health endpoint for connection validationContacts API
Batch create contacts endpoint
Companies API
Batch create companies endpoint
Associations API
Link contacts to companies endpoint
Tasks API
Task CRUD and batch endpoints (for sequences)
Activities API
Log LinkedIn and email activities
Users API (Optional)
List users for owner assignment
Authentication
Your CRM must accept API key authentication via a configurable header. When connecting, you’ll specify:| Parameter | Description | Default |
|---|---|---|
baseUrl | Your API’s base URL (e.g., https://api.mycrm.com) | Required |
apiKey | Your API key or secret token | Required |
apiKeyHeader | The header name for authentication | X-API-Key |
contactLinkTemplate | URL template for contact records (use {{crmId}} as placeholder) | Optional |
companyLinkTemplate | URL template for company records (use {{crmId}} as placeholder) | Optional |
CRM Record Links
When configured, Enginy can generate clickable links to open contact and company records directly in your CRM. This allows users to quickly navigate from Enginy to the corresponding record in your system. To enable this feature, provide URL templates when connecting your CRM:{{crmId}} placeholder will be replaced with the actual CRM ID when generating links. For example:
- Template:
https://mycrm.com/contacts/{{crmId}} - Result:
https://mycrm.com/contacts/ABC123
Users/Owners Support (Optional)
If your CRM has a concept of users or owners that can be assigned to contacts, companies, tasks, and activities, you can implement the optional/users endpoint to enable owner selection in Enginy.
How It Works
When you connect your Custom CRM, Enginy automatically tests the/users endpoint:
| Response | Result |
|---|---|
| 2xx with user list | ✅ Owner selection enabled in export modal |
| 404 / 501 / 405 | Owner selection gracefully disabled (not an error) |
| Other errors | Owner selection disabled, connection proceeds normally |
This detection happens every time Enginy needs to fetch owners, not just during initial connection. This
means you can add or remove the
/users endpoint at any time.What You Get
When users are available, Enginy shows an owner dropdown in:- Export modal - Assign an owner to all exported contacts/companies
- Task creation - Set the task owner
- Activity logging - Associate activities with the owner
Implementation
Your/users endpoint should return an array of users:
id is sent back to your CRM when creating records with an owner assignment.
Users API Reference
See the complete Users endpoint specification
Connecting Your CRM
Step 1: Implement the Required Endpoints
Before connecting, ensure your CRM implements the required interface. See the Custom CRM API Reference for detailed specifications.Reference Implementation
Clone our open-source reference implementation to get started quickly
Step 2: Test the Connection
Use the test endpoint to validate your configuration:Step 3: Connect
Once the test passes, connect your CRM:The
contactLinkTemplate and companyLinkTemplate parameters are optional. Include them to enable “Open in
CRM” links.Step 4: Verify Status
Check your connection status anytime:Exporting to Your CRM
Once connected, you can export contacts and companies from Enginy to your Custom CRM:- Select leads/companies in Enginy
- Choose “Export to CRM” and select Custom CRM
- Enginy will:
- First create companies (if any)
- Then create contacts
- Finally create associations between contacts and companies
- CRM IDs are saved in Enginy for future reference
Disconnecting
To disconnect your Custom CRM:Next Steps
Contacts API
View the Contacts API specification
Companies API
View the Companies API specification
Associations API
View the Associations API specification
Tasks API
View the Tasks API specification
Activities API
View the Activities API specification
Users API
Enable owner assignment (optional)
Examples
See complete implementation examples in Node.js, Python, and Go