To activate BrightSync (prebuilt CRM sync logic) for your CRM platform we need to add a new platform connector that will use your REST API. The CRM connector requires a number of API methods that we ask you to describe:
The connector needs to connect to your API on behalf of your user. How does your API authenticate?
- Using OAuth2 Bearer token
- Using Basic auth with an API token
- Using another auth method
A User object represents a user in your CRM system (OrgId, UserId, Name, Email, Timezone). The connector needs to be able to receive information about the current user and optionally be able to find other user records:
- `getMe` - current user information (OrgId, UserId, Name, Email, Timezone)
- `getUsersByEmail` (email or list of emails) - good to have
An account represents a Company, Department within a company. Accounts are usually associated with Contacts and Opportunities. The connector needs to be able to:
- `createAccount` and get an account by id
- `getMyAccounts` (all or updated since a timestamp) - get a list of accounts the current user owns. In the `updated since` mode include deleted accounts.
Contacts, calendar, email syncs need the following API methods to be able to find matching accounts for new contacts:
- `getAccountsByDomain(email domain)` - find accounts associated with an email domain. If such a method is not available the sync will try to derive accounts from contacts associated with the email domain.
A contact represents a person with whom you communicate in an organization, usually in pursuit of a business opportunity. The connector needs to be able to:
- `createContact` and get/update/delete contact by id
- `getMyContacts(all or updated since a timestamp)` - get a list of contacts the current user owns. In the `updated since` mode include deleted contacts.
Contacts, calendar, email syncs need the following API methods to be able to prevent duplications:
- `getContactsByEmail(email or list of emails)` - find accounts by emails.
- `getContactsByEmailDomain(email domain)` - to detect accounts associated with an email domain
How should emails be logged into your CRM? Some systems have a generic Activity object for logging tasks, calls, emails, other systems have a dedicated EmailMessage object.
- `createEmail` and `updateEmail(id)`
An opportunity represents a business deal with companies or people that generate real revenue for your organization.
- `getOpportunitiesForContacts(list of contact ids)`