Introduction
The Forecastable platform is a software that allows multiple CRM owners from multiple companies to collaborate in a co-selling arena. Each CRM and Company will be able to donate records to the co-selling arena, and then any updates that are made to records in the arena are subsequently synced back to all of the participating CRMs.
Function Overview
The software allows the user to select Accounts (with corresponding Opportunities) to the Forecastable arena. This means users will need to select records that will participate in Forecastable. Once a record is sync'd with Forecastable, we will also need to store the Forecastable record id in Salesforce so that sync can be maintained. Contacts are typically initiated in Forecastable - and can be synced back to Salesforce via Callback. In addition - Activity History can be synced back to contacts via callback.
Implementation Strategy
The typical strategy will be to add some fields onto the Salesforce Account, Contact, Opportunity, Activity History records to allow for creation of Forecastable IDs so that synchronization can be facilitated. In addition, a Checkbox indicating that the record is participating in Forecastable Sync will be used so that we can pull records with this checkbox selected and sync with Forecastable. Other than adding these few fields to the records, the remaining functions can be accommodated by simple mapping.
Implementation Instructions
Add Accounts List
Add the 4 new fields to the Account record (Success, ID, CRMID, Error). Add a checkbox (Suggested: Sync to Forecastable) to the Account record to indicate that the Account will be selected for Sync. Map all the other fields in this API to their appropriate Salesforce field. Review your accounts to determine which should be synced to Forecastable, and select this checkbox. You will use this checkbox as selection criteria in the ListBuilder function in Nexus.
When complete - navigate to the Listbuilder tab of the Nexus App, and build the list of records you wish to add to Forecastable (using this Sync to Forecastable checkbox). Once you've built the list, execute this Add Accounts List function.
Add Opportunities List
Add the 4 new fields to the Opportunity record (Success, ID, CRMID, Error). Add a checkbox (Suggested: Sync to Forecastable) to the Opportunity record to indicate that the Opportunity will be selected for Sync. Map all the other fields in this API to their appropriate Salesforce field. Review your accounts to determine which should be synced to Forecastable, and select this checkbox. You will use this checkbox as selection criteria in the ListBuilder function in Nexus.
When complete - navigate to the Listbuilder tab of the Nexus App, and build the list of records you wish to add to Forecastable (using this Sync to Forecastable checkbox). Once you've built the list, execute this Add Opportunities List function.
Create Account
Add the 4 new fields to the Account record (Success, ID, CRMID, Error). <Note: if you've already done this step when preparing for the Add Accounts List function - you don't need to do it again>. Add a checkbox (Suggested: Sync to Forecastable) to the Account record to indicate that the Account will be selected for Sync. (only if this hasn't already been created) Map all the other fields in this API to their appropriate Salesforce field. It may be a good idea to set a flow to automatically update the Sync to Forecastable checkbox, even though this function is only used to set up a single account at a time. Setting this checkbox will allow it to be included in future list management functions if desired.
Create Contact
Add the 4 new fields to the Account record (Success, ID, CRMID, Error). Map all the other fields in this API to their appropriate Salesforce field.
Create Opportunity
Add the 4 new fields to the Opportunity record (Success, ID, CRMID, Error). <Note: if you've already done this step when preparing for the Add Opportunities List function - you don't need to do it again>. Add a checkbox (Suggested: Sync to Forecastable) to the Opportunity record to indicate that the Opportunity will be selected for Sync. (only if this hasn't already been created) Map all the other fields in this API to their appropriate Salesforce field. It may be a good idea to set a flow to automatically update the Sync to Forecastable checkbox, even though this function is only used to set up a single account at a time. Setting this checkbox will allow it to be included in future list management functions if desired.
Delete Account
Use this function to Delete an Account. This can be accommodated in the Universal Action Component. Map the CRMID as appropriate in the mapping.
Delete Contact
Use this function to Delete an Account. This can be accommodated in the Universal Action Component. Map the CRMID as appropriate in the mapping.
Delete Opportunity
Use this function to Delete an Account. This can be accommodated in the Universal Action Component. Map the CRMID as appropriate in the mapping.
Update Account
Use this function to Update the Account. This can be accommodated in the Universal Action Component, or it can be updated via Flow - every time an Account (when the specific fields listed in the API are changed) is updated - automatically initiate the Flow to send the Account details to Forecastable. Map the fields as appropriate in the mapping.
Update Contact
Use this function to Update the Contact. This can be accommodated in the Universal Action Component, or it can be updated via Flow - every time a Contact (when the specific fields listed in the API are changed) is updated - automatically initiate the Flow to send the Contact details to Forecastable. Map the fields as appropriate in the mapping.
Update Opportunity
Use this function to Update the Opportunity. This can be accommodated in the Universal Action Component, or it can be updated via Flow - every time an Opportunity (when the specific fields listed in the API are changed) is updated - automatically initiate the Flow to send the Opportunity details to Forecastable. Map the fields as appropriate in the mapping.
ContactUpdated - Webhook
This webhook is invoked at any time there is a change to a Contact record in Forecastable. This webhook will be invoked to update the changes from Forecastable into Salesforce. Map all appropriate fields as needed - and updates should automatically be posted to the appropriate Contact record.
OpportunityUpdated - Webhook
This webhook is invoked at any time there is a change to an Opportunity record in Forecastable. This webhook will be invoked to update the changes from Forecastable into Salesforce. Map all appropriate fields as needed - and updates should automatically be posted to the appropriate Opportunity record.
API Function Data Dictionary
This document provides details on the Nexus API fields, their event types and data types grouped by API function.
Add Accounts List
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| success | Inbound | Boolean |
| id | Inbound | Text |
| crmId | Inbound | Text |
| error | Inbound | Text |
| imageUrl | Outbound | Text |
| annualRevenue | Outbound | Number |
| crmId | Outbound | Text |
| website | Outbound | Text |
| crmAccountType | Outbound | Text |
| description | Outbound | Text |
| name | Outbound | Text |
| stockSymbol | Outbound | Text |
Add Opportunities List
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| success | Inbound | Boolean |
| crmId | Inbound | Text |
| id | Inbound | Text |
| error | Inbound | Text |
| crmAccountId | Outbound | Text |
| stageName | Outbound | Text |
| amount | Outbound | Number |
| ownerEmail | Outbound | Text |
| closeDate | Outbound | Text |
| crmId | Outbound | Text |
| nextStep | Outbound | Text |
| name | Outbound | Text |
| description | Outbound | Text |
Create Account
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| success | Inbound | Boolean |
| crmId | Inbound | Text |
| id | Inbound | Text |
| error | Inbound | Text |
| description | Outbound | Text |
| website | Outbound | Text |
| crmId | Outbound | Text |
| crmAccountType | Outbound | Text |
| imageUrl | Outbound | Text |
| annualRevenue | Outbound | Number |
| stockSymbol | Outbound | Text |
| name | Outbound | Text |
Create Contact
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| id | Inbound | Text |
| success | Inbound | Boolean |
| crmId | Inbound | Text |
| error | Inbound | Text |
| crmAccountId | Outbound | Text |
| phoneNumber | Outbound | Text |
| crmId | Outbound | Text |
| fullName | Outbound | Text |
| Outbound | Text | |
| currentTitle | Outbound | Text |
| location | Outbound | Text |
Create Opportunity
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| crmId | Inbound | Text |
| id | Inbound | Text |
| success | Inbound | Boolean |
| error | Inbound | Text |
| nextStep | Outbound | Text |
| stageName | Outbound | Text |
| closeDate | Outbound | Text |
| crmId | Outbound | Text |
| crmAccountId | Outbound | Text |
| name | Outbound | Text |
| description | Outbound | Text |
| amount | Outbound | Number |
| ownerEmail | Outbound | Text |
Delete Account
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| crmId | Outbound | Text |
Delete Contact
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| crmId | Outbound | Text |
Delete Opportunity
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| crmId | Outbound | Text |
Update Account
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| annualRevenue | Outbound | Number |
| crmId | Outbound | Text |
| imageUrl | Outbound | Text |
| stockSymbol | Outbound | Text |
| description | Outbound | Text |
| website | Outbound | Text |
| isDeleted | Outbound | Boolean |
| name | Outbound | Text |
| crmAccountType | Outbound | Text |
Update Contact
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| phoneNumber | Outbound | Text |
| crmAccountId | Outbound | Text |
| crmId | Outbound | Text |
| Outbound | Text | |
| fullName | Outbound | Text |
| location | Outbound | Text |
| currentTitle | Outbound | Text |
| isDeleted | Outbound | Boolean |
Update Opportunity
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| name | Outbound | Text |
| crmId | Outbound | Text |
| closeDate | Outbound | Text |
| nextStep | Outbound | Text |
| ownerEmail | Outbound | Text |
| stageName | Outbound | Text |
| description | Outbound | Text |
| amount | Outbound | Number |
ContactUpdated (Webhook)
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| cropped_avatar | Inbound | Text |
| current_employer_id | Inbound | Text |
| created_at | Inbound | DateTime |
| full_name | Inbound | Text |
| sfdc_id | Inbound | Text |
| support_status | Inbound | Text |
| timestamp | Inbound | DateTime |
| updated_at | Inbound | DateTime |
| identity | Inbound | Text |
| executive_id | Inbound | Text |
| location | Inbound | Text |
| current_title | Inbound | Text |
| zi_data | Inbound | Text |
| updated_by | Inbound | Text |
| id | Inbound | Text |
| Inbound | Text | |
| sfdc_account_id | Inbound | Text |
| is_deleted | Inbound | Boolean |
| phone_number | Inbound | Text |
| functional_role | Inbound | Text |
| contact_status | Inbound | Text |
| original_avatar | Inbound | Text |
| decision_status | Inbound | Text |
| action | Inbound | Text |
| schema | Inbound | Text |
OpportunityUpdated (Webhook)
API Field Details
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| description | Inbound | Text |
| next_step_date | Inbound | Text |
| amount | Inbound | Number |
| buying_group_id | Inbound | Text |
| is_closed | Inbound | Boolean |
| created_at | Inbound | DateTime |
| created_by | Inbound | Text |
| action | Inbound | Text |
| owner_email | Inbound | Text |
| updated_by | Inbound | Text |
| identity | Inbound | Text |
| timestamp | Inbound | DateTime |
| updated_at | Inbound | DateTime |
| id | Inbound | Text |
| status | Inbound | Text |
| close_date | Inbound | Text |
| schema | Inbound | Text |
| name | Inbound | Text |
| next_step | Inbound | Text |
| owner_id | Inbound | Text |
| sfdc_id | Inbound | Text |
| stage | Inbound | Text |