CRM Integration with Dynamic Application
High Level Overview
When setting up an integration between a CRM system and Sageworks with Dynamic Application, the opportunity is expected to start in the CRM environment. Once a business decides the opportunity has reached a point in which it can be sent to Sageworks, the following steps may be leveraged to complete that process.
- Verify what products are available
- Check for the customer in Sageworks
- Create a new customer (if necessary)
- Start the application
Verify what products are available
The proposed products are the different types of application an institution uses. This step is only required when setting up an integration or if there is a reason to get an updated list of proposed products.
GET/v1/proposed-products
can be leveraged to see the full list of proposed products.
{
"items": [
{
"id": 120,
"name": "7(a)",
"customerFacingName": "Seven A",
"paymentType": "fixedPayment",
"rateSheetsId": 1,
"calculateEvaluatedCreditScore": false,
"evaluatedCreditScoreCreditBureaus": [],
"creditBureauSelectionStrategy": null,
"loanRoleSelectionStrategy": null,
"applicationTypes": [
"sba"
],
"evaluatedCreditScoreLoanRoleTypes": [],
"applicationTemplates": [
{
"id": 561,
"name": "Post New Forms 7(a)",
"active": true,
"type": "sba",
"proposedProducts": null
}
]
},
{
"id": 436,
"name": "Business App 3",
"customerFacingName": "Test 3",
"paymentType": "fixedPayment",
"rateSheetsId": null,
"calculateEvaluatedCreditScore": false,
"evaluatedCreditScoreCreditBureaus": [],
"creditBureauSelectionStrategy": null,
"loanRoleSelectionStrategy": null,
"applicationTypes": [
"business"
],
"evaluatedCreditScoreLoanRoleTypes": [],
"applicationTemplates": []
},
]
}
Check for customer in Sageworks
There are a few methods in which an institution can organize their borrowers between a core system, a CRM system and Sageworks. The uniqueIdentifier
field is primarily reserved for the core system unique identifier. crmidentifier
is generally leveraged for the unique identifier generated by the CRM system. Additionally the Sageworks ID can be directly searched.
GET/v1/customers
has an available filter for unique identifierGET/v1/customers/{id}
GET/v1/customers/crm-identifier/{crmIdentifier}
{
"id": 85828479,
"name": "Doe, John",
"dba": null,
"firstName": "John",
"middleInitial": "",
"lastName": "Doe",
"nameSuffix": "",
"userDefinedFields": null,
"creditScore": 0,
"secondaryCreditScore": 0,
"businessType": null,
"dnbScore": null,
"namePrefix": "",
"jobTitle": "",
"addresses": [
{
"line1": "123 Ok Ave",
"line2": "",
"city": "Winnetka",
"state": "CT",
"postalCode": "40098",
"country": "US",
"addressType": "primary"
}
],
"phoneNumbers": [
{
"type": "primary",
"number": "1234445555"
}
],
"type": "person",
"emailAddress": "[email protected]",
"industryCode": null,
"isDeleted": false,
"uniqueIdentifier": "",
"taxId": "999-99-9999",
"branch": "",
"department": "",
"website": "",
"description": null,
"restricted": false,
"checkingBalance": 0,
"savingsBalance": 0,
"cDsBalance": 0,
"averageChecking": 0,
"averageSavings": 0,
"averageCDs": 0,
"citizenshipStatus": null,
"maritalStatus": null,
"isActiveMiltaryDuty": null,
"isDependentOfActiveMiltaryDuty": null,
"civDescription": null,
"employer": "",
"numberOfYearsEmployed": 0,
"ofacDesignation": "",
"dateOfBirth": "2021-11-02",
"idDescription": null,
"idNumber": null,
"idIssueDate": null,
"idExpirationDate": null,
"idIssuingAuthority": null,
"comments": "",
"msa": null,
"stateCode": null,
"countyCode": null,
"tractCode": null,
"longitude": null,
"latitude": null,
"medianHouseholdIncome": null,
"metropolitanDivision": null,
"metropolitanDivisionCode": null,
"loanOfficer": null,
"loanOfficerId": null,
"loanAdministrator": null,
"equifaxCreditScore": null,
"equifaxCreditScoreDate": null,
"experianCreditScore": null,
"experianCreditScoreDate": null,
"transunionCreditScore": null,
"transunionCreditScoreDate": null,
"ficoSbssCreditScore": null,
"ficoSbssCreditScoreDate": null,
"bankruptcies": null,
"dateOfLastBankruptcy": null,
"historical30DayDelinquencies": null,
"historical60DayDelinquencies": null,
"historical90DayDelinquencies": null,
"historicalOtherDelinquencies": null,
"currentMortgagePastDue": null,
"currentInstallmentPastDue": null,
"currentAutoPastDue": null,
"currentEducationPastDue": null,
"currentOpenPastDue": null,
"currentRevolvingPastDue": null,
"currentOtherPastDue": null,
"currentTotalPastDue": null,
"entryMethod": "operatingCompany",
"professionalLLC": null,
"yearFounded": 0,
"businessRegistered": null,
"farmRegistered": null,
"stateOfFormation": null,
"franchiseName": null,
"franchiseLegalName": null,
"franchiseStartDate": null,
"sbaCode": null,
"cityHQ": null,
"stateHQ": null,
"franchiseDataImportDate": null,
"franchiseDataFinancialPeriod": null,
"historicalSuccessRate": null,
"systemSupportAndExpenseCommitment": null,
"resaleActivityLevel": null,
"mngmtExperienceStability": null,
"averageUnitRevenueGrowth": null,
"prospectScreening": null,
"unitEconomics": null,
"franchiseAgreementAssessment": null,
"franchiseeRelationship": null,
"projectedUnitSuccess": null,
"recurringRevenueSelfSufficiency": null,
"totalFundScore": null,
"finStatementStrength": null,
"franchisedUnits": null,
"minInitial": null,
"maxInitial": null,
"avgInitial": null,
"companyOwnedUnits": null,
"projectedOpenings": null,
"compoundAnnualUnitGrowthRate": null,
"compoundedUnitSuccessRate": null,
"experianDBT": null,
"equifaxDBT": null,
"dbdbt": null,
"dbPaydex": null,
"ansoniaCreditRating": null,
"ansoniaRiskScore": null,
"creditLogicScore": null,
"dbViabilityRating": null,
"lastReportRun": null,
"bankruptciesCount": null,
"collectionsCount": null,
"judgmentsCount": null,
"chargeOffsCount": null,
"liensCount": null,
"nsfChecksCount": null,
"dataDepthScore": null,
"underFormation": null,
"dateBusinessEstablished": null,
"loanBoardingIdentifier": null,
"crmIdentifier": null
}
Create a new customer (if necessary)
If the customer cannot be found in Sageworks using the primary method of organization, the customer may be generated using POST/v1/customers
. It is recommended to add all known identifier data such as the uniqueIdentifier
and crmIdentfier
. It is also recommended to add the Sageworks unique ID into the CRM system for an additional layer of identification.
Start the application
To start the application, POST/v1/dynamic-application/start-dynamic-application/start-application
is leveraged. This starts and connects the application to as many proposed products as necessary. Each proposed product generates a proposed loan.
{
"bankCustomerUsersId": 0,
"crmIdentifier": "123456",
"origin": 'Internal',
"proposedLoans": [
{
"customerId": 85828479,
"crmIdentifier": "123456",
"loanAmount": 1000,
"paymentType": 'fixedPayment',
"loanName": 'Test Loan',
"purposeCode": "string",
"loanTerm": 10,
"interestRate": 0,
"paymentAmount": 0,
"paymentFrequency": "annual",
"loanBoardingIdentifier": "1234",
"roles": [
{
"customerId": 85828479,
"isDeleted": false,
"percentResponsible": 0.9234,
"roleType": "Primary Borrower" }
],
"proposedProductID": 1212 }
]
}
{
"applicationId": 1113649,
"proposedLoanData": [
{
"proposedLoanId": 2128776,
"proposedProductId": 1212
}
]
}
Updated 7 months ago