Skip to main content
The Integrations API is a dedicated service that acts as an intermediary between external systems and COR. It enables you to map external IDs from third-party services to COR entities, facilitating seamless data synchronization and workflow automation.

Overview

The Integrations API provides a standardized way to:
  • Map external IDs — Link entities from external systems (Salesforce, Jira, SAP, etc.) to their corresponding COR entities
  • Sync data bidirectionally — Keep data consistent between COR and external platforms
  • Handle webhooks — Process incoming events from external services and route updates accordingly
  • Track integration state — Maintain a record of which entities are integrated and their sync status

Architecture

Base URL

All integration endpoints use the following base URL:
https://integrations.projectcor.com/

Integration Flows

The Integrations API supports three types of data flows depending on your integration requirements:

External → COR

Unidirectional inboundData flows from an external service into COR. Example: Creating projects in COR when opportunities are won in Salesforce.

COR → External

Unidirectional outboundData flows from COR to an external service. Example: Syncing time entries to an external billing system.

Bidirectional

Two-way syncFull synchronization where changes in either system are reflected in the other. Example: Project updates synced between COR and Jira.

Flow Selection

Choose your integration flow based on:
Flow TypeUse CaseExample
External → CORExternal system is the source of truthCRM creates projects in COR
COR → ExternalCOR is the source of truthTime tracking synced to payroll
BidirectionalBoth systems need real-time updatesProject management across platforms

Authentication

The Integrations API uses the same authentication as the main COR API. You can use the same Bearer token obtained from the COR authentication endpoints.
All requests require a Bearer token in the Authorization header:
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
Accept: application/json
Obtain your access token using one of the authentication methods from the main API:

Required Fields

All integration endpoints require the metadata.source field to identify the external system:
{
  "metadata": {
    "source": "SALESFORCE"
  },
  "id": "external-entity-id-123",
  "name": "Entity Name",
  // ... other entity fields
}
The metadata.source field is required in all integration requests. It identifies which external system the data originates from and is used to route webhooks and maintain integration mappings.

Supported Integration Sources

The API supports the following integration sources:
SourceDescription
JIRAAtlassian Jira project management
SALESFORCESalesforce CRM
ADVERTMINDAdvertmind platform
QUICKBOOKSQuickBooks accounting
ZAPIERZapier automation
OKTAOkta identity management
MICROSOFT_DYNAMICSMicrosoft Dynamics 365
GITHUBGitHub repository management
MICROSOFT_TEAMSMicrosoft Teams
VBSVBS system
SAPSAP enterprise system
GLOBANTGlobant platform
Need a custom integration source? Contact the COR development team to request support for additional platforms.

Available Entities

The Integrations API provides endpoints for managing the following entities:
EntityOperationsDescription
BrandsCREATE, UPDATE, DELETEManage brand associations
ClientsCREATE, UPDATE, DELETESync client/account data
ContractsCREATE, UPDATE, DELETE, Attach/Detach UsersManage contract integrations
PositionsCREATE, UPDATE, DELETEManage user positions
Position CategoriesCREATE, UPDATE, DELETEManage position categories
ProjectsCREATE, UPDATE, DELETEManage project synchronization
TeamsCREATE, UPDATE, Attach/Detach UsersSync team data within workspaces
UsersCREATE, UPDATE, DELETE, Assign PositionManage user provisioning
User LeavesCREATEManage leave types
WorkspacesCREATE, UPDATESync workspace/team data
Working TimeCREATE, DELETESync time tracking data

External ID Mapping

The core feature of the Integrations API is external ID mapping. When you create an entity through the integration endpoints:
  1. You provide the external ID (from your system)
  2. COR creates the entity and stores the mapping
  3. Future operations can reference either the external ID or the COR ID
This allows you to:
  • Update or delete entities using their external IDs
  • Query integration status to determine if an entity is already synced
  • Route webhook events to the correct external endpoint

Example Flow

Response Codes

All integration endpoints use standard HTTP status codes:
CodeDescription
200 OKOperation successful
201 CreatedResource created successfully
400 Bad RequestInvalid data or missing required fields
401 UnauthorizedInvalid or expired token
403 ForbiddenInsufficient permissions
404 Not FoundResource not found
422 Unprocessable EntityValidation error
500 Internal Server ErrorServer error

Error Codes

The API returns specific error codes for better error handling:
CodeDescription
ZC001Generic Error
ZC002Validation Error
ZC003API Request Exception
ZC004Query Exception
ZC005External Request Exception

Quick Start

1. Create an integrated project

curl --location 'https://integrations.projectcor.com/v2/integrations/projects' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
  "metadata": {
    "source": "SALESFORCE"
  },
  "id": "SF-OPP-12345",
  "name": "Website Redesign Project",
  "client_id": "SF-ACC-67890",
  "start": "2025-01-15",
  "end": "2025-03-31"
}'

2. Update using external ID

curl --location --request PUT 'https://integrations.projectcor.com/v2/integrations/projects/SF-OPP-12345' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
  "metadata": {
    "source": "SALESFORCE"
  },
  "name": "Website Redesign Project - Phase 2"
}'

Next Steps

Need help? Contact our support team at help@projectcor.com or visit COR Support.