<div><style>p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
</style><p><span style="font-size: 11pt;"><strong>In this guide we will cover:</strong></span></p><p><span style="font-size: 11pt;"><strong>- What is the Salesforce Integration?</strong></span></p><p><span style="font-size: 11pt;"><strong>- Creating a Managed Application</strong></span></p><p><span style="font-size: 11pt;"><strong>- Adding CORS Exceptions</strong></span></p><p><span style="font-size: 11pt;"><strong>- Enabling Salesforce in Halo</strong></span></p><p><span style="font-size: 11pt;"><strong>- Access Tokens</strong></span></p><p><span style="font-size: 11pt;"><strong>- Account Imports</strong></span></p><p><span style="font-size: 11pt;"><strong>- Contact Imports</strong></span></p><p><span style="font-size: 11pt;"><strong>- Opportunity Imports</strong></span></p><p><span style="font-size: 11pt;"><strong>- Case Imports</strong></span></p><p><span style="font-size: 11pt;"><strong>- Halo Integrator </strong></span></p><p><span style="font-size: 11pt;"><strong>- Syncing to Salesforce</strong></span></p><p><br></p><p><br></p><p><span style="font-size: 11pt;"><strong><em>Note: This integration only functions with production instances of Salesforce. Trials and sandbox environments cannot be connected.</em></strong></span></p><p><br></p><p><span style="font-size: 11pt;"><span style="font-size: 14pt;" id="isPasted"><strong>What is the Salesforce Integration?</strong></span></span></p><p><span style="font-size: 11pt;">Salesforce can be integrated with Halo to import and sync accounts, contacts, opportunities, cases, and case comments from Salesforce.</span></p><p><br></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 14pt;"><strong>Creating a Managed Application</strong></span></p><p id="isPasted"><span style="font-size: 11pt;">Before making any configuration changes in Halo, there are some required configuration steps that must be completed in Salesforce.</span></p><p><br></p><p><span style="font-size: 11pt;">The first requirement is to create a managed application. To do this, you need to access the setup screen in Salesforce, shown in Figure 1. </span></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImRiYzViYzA4LWY5MWEtNDYxYi1hNDJlLTVlNDRjZWNkYzM3NyJ9.ww_iSoQ3XhnfChPLauTLe0npR93uQIB28Txoiq8eY8Y" class="fr-fic fr-fil fr-dib" width="2098" style="width: 2100px; height: 372.005px;" height="372"></span><br></p><p><span style="font-size: 10pt;"><strong>Fig 1. Setup link</strong></span></p><p><br></p><p><span style="font-size: 11pt;">Once in the Setup view, in the tree view on the left-hand side, go to Platform Tools > Apps > App Manager, and choose “New External Client App” in the top right of the screen. Fill in the required fields under basic information, and any additional fields that you wish.</span></p><p><br></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjhhNTFiYmZmLWEzMGItNDM1Ny1iMjgzLTJlMTE2MmZjOWE3ZSJ9.viaMHyQWj4uuF1pbxyyLtMpWa6KiqGEJ4P1lZJHTv2c" class="fr-fic fr-fil fr-dib" style="width: 1224px; height: 659.077px;" width="1222" height="659"></span><br></p><p><span style="font-size: 10pt;"><strong>Fig 2. App Manager</strong></span></p><p><br></p><p><span style="font-size: 11pt;">Give the connected app an arbitrary name, the API Name will auto populate based on the connected apps name.</span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;">Under API (Enable OAuth Settings), check the box to enable OAuth settings, which should give you an extra set of options.</span></p><p><br></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjRkM2JkNTIwLTQwMDEtNDQ0OC05YzY4LWY4ZGI1Y2RlYTUwMSJ9.iSGAgftSYIGqdUt-Oq4N_hMtRvnG-X6Bm8jVkISyl5E" class="fr-fic fr-fil fr-dib" width="1968" style="width: 1970px; height: 971.061px;" height="971"></span><br></p><p><span style="font-size: 10pt;"><strong>Fig 5. Enable auth settings</strong></span></p><p><br></p><p><span style="font-size: 11pt;">The callback URL used will differ depending on the version of Halo you are using. </span></p><p><span style="font-size: 11pt;"><br></span></p><p id="isPasted" style="margin-left: 20px;"><span style="font-size: 11pt;">On versions prior to v2.200 the following redirect URL will need to be used:</span></p><ul><li><span style="font-size: 11pt;">HTTPS://YOURHALODOMAIN/<span style="font-size: 11pt;" id="isPasted">oauth/callback</span></span></li></ul><p style="margin-left: 20px;"><span style="font-size: 11pt;">On versions v2.200+ you the following redirect URL will need to be used:</span></p><ul><li><span style="font-size: 11pt;"><a data-fr-linked="true" href="https://YOURHALODOMAIN/authcallback">https://YOURHALODOMAIN/authcallback</a></span></li></ul><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;">But the exact redirect URl you need can be found on the setup page for the integration in Halo.</span></p><p><br></p><p id="isPasted"><span style="font-size: 11pt;"><strong><em>Note: If you have disconnected to the integration and are reconnecting, if your Halo instance is on v2.200+ you will need to use the new redirect URI (<a data-fr-linked="true" href="https://YOURHALODOMAIN/authcallback">https://YOURHALODOMAIN/authcallback</a>).</em></strong></span></p><p><br></p><p><span style="font-size: 11pt;">The following scopes are required:</span></p><ul><li style="font-size: 11pt;">Full access (full)</li><li style="font-size: 11pt;">Perform requests at any time (refresh_token, offline_access)</li></ul><p id="isPasted"><span style="font-size: 11pt;">Also ensure the options shown in Figure 6 are enabled.</span></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImM0YTkwM2MxLWYzZmYtNDg2ZC04YjJkLTZkMDVhZjQ3YmY3YiJ9.C9Lmk7uTrTGSqsfnx8bVBJdj-XafVO2fnTMuAAUR2pg" class="fr-fic fr-fil fr-dib" width="1767" style="width: 1769px; height: 845.971px;" height="846"></span><br></p><p><span style="font-size: 10pt;"><strong>Fig. 6 Require secret settings</strong></span></p><p><br></p><p><span style="font-size: 11pt;">Also ensure that the option for 'Require Proof Key for Code Exchange (PKCE)' setting is turned off as shown in Figure 7.</span></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjlmNzU0OTI5LWNjN2MtNDlmYS1hNmExLWM5NzlhOGVmZmI5MSJ9.kthBPY4qkJHCQKbrODzem16nvz-vfGK3q0j8nyEezgo" class="fr-fic fr-fil fr-dib" width="1681" style="width: 1683px; height: 804.844px;" height="805"></span><br></p><p><span style="font-size: 10pt;"><strong>Fig 7. Disabling proof key requirement</strong></span></p><p><br></p><p><span style="font-size: 11pt;">Once completed, you can create the new managed application. Your changes can take anywhere between 2-10 minutes to be processed.</span></p><p><br></p><p><span style="font-size: 11pt;">Once saved you can configure the OAuth Policies for the app. Set the policies as shown in Figure 8. </span></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImVlYjIwOGViLTg2Y2ItNDk2MS05MWUwLTE5MWUyYjUzZWM5NSJ9.8Uh-RSyaovVq891y1iOIJOzlmhmlAvSpnrzsoh-PbME" class="fr-fic fr-fil fr-dib" width="2531" height="1254"></span><br></p><p><span style="font-size: 10pt;"><strong>Fig 8. Options in the managed app</strong></span></p><p><br></p><p><span style="font-size: 11pt;">Then save.<br></span></p><p><br></p><p><span style="font-size: 14pt;"><strong>Adding CORS Exceptions</strong></span></p><p><span style="font-size: 11pt;">The second requirement is to add any URL’s that require whitelisting for cross-origin resource sharing. Again, in the setup area of Salesforce, in the tree view on the left-hand side, go to Settings > Security > CORS. Add your Halo URL to the list of whitelisted origins.</span></p><p><br></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjM2MjU2YjZlLWYwNGMtNGFiYy05NzIxLTY0NGViNGQyZmIwNCJ9.w79oHrsKoRuxuJ0Rr-tqijBo-1x7YqJKArCqQViied8" class="fr-fic fr-fil fr-dib" width="2058" style="width: 2060px; height: 857.392px;" height="857"></span><br></p><p><span style="font-size: 10pt;"><strong>Fig 9. CORS area</strong></span></p><p><br></p><p><span style="font-size: 11pt;">Then in the "Allowed Origins List" add in the URL of your Halo instance.</span></p><p><span style="font-size: 11pt;"><strong><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjJiNjU0NTdjLWI2ZGQtNDNmYy1iZjlkLTFjY2Q2MDdhMDI2OSJ9.H52lRjaeEIeCZA-92z2lCg9WKHdDyj3HrUTRX4ZD1ZE" class="fr-fic fr-fil fr-dib" width="1245" style="width: 1247px; height: 371.854px;" height="372"></strong></span><span style="font-size: 10pt;"><strong>Fig 10. Allow an Origin </strong></span></p><p><br></p><p><span style="font-size: 11pt;">Once saved, you will see this in the allowed origins list. <br></span></p><p><br></p><p><span style="font-size: 14pt;"><strong>Enabling Salesforce in Halo</strong></span></p><p><span style="font-size: 11pt;">Once the Salesforce configuration has been completed, you can start to configure the integration in Halo. Firstly, to enable the Salesforce integration, go to Configuration > Integrations > Salesforce, and enable the module by clicking the "+" sign.</span></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijc3N2E3YTdhLWQ3ZTQtNDcxYS04YzZjLThiZmRkYmRlNzQ3NSJ9.iYXAsjewDGkEdGHOov0uClerp1zc7hKKMbSBiboEFn8" class="fr-fic fr-fil fr-dib" width="595" height="259"></span></p><p><span style="font-size: 10pt;"><strong>Fig 11. Enabling the Salesforce module</strong></span></p><p><br></p><p><span style="font-size: 11pt;">Once the module has been enabled, click into the module to access the configuration screen.</span></p><p><br></p><p><span style="font-size: 11pt;">The first steps are to input your Salesforce URL and application consumer key. Whilst the Salesforce URL you should be familiar with, the Consumer Key will need to be copied from the Managed Application you created previously in Salesforce.</span></p><p><br></p><p><span style="font-size: 11pt;">It can be obtained by going to the settings view - Apps > App Manager > *Click "view" from the dropdown on your connected app* > *Click the Manage Consumer Details Button*. The Consumer Key will be visible under the API settings header.</span></p><p><br></p><p><span style="font-size: 11pt;">To help with these steps, here are images to explain this.</span></p><p><br></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjI5OThiZTI5LWQyOTItNGEzMC1hZjc3LTVlY2MxODgyYTYwMiJ9.qNW_OunUtH_UrE9dLNY18wjH7N9fbhK0yI7M1JKxvKw" class="fr-fic fr-fil fr-dib" width="1120" height="255"></span></p><p><span style="font-size: 10pt;"><strong>Fig 12. App Manager screen</strong></span></p><p><br></p><p><span style="font-size: 11pt;">Then click the dropdown to get the view option.</span></p><p><br></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY0MDRlYzI2LTc3OGItNDA4NC1iYTI3LTY1NmMzNDA3ODYxOCJ9.Bcg7EIO5qZqDuHrmf2x3mtQvz2zTxG_4a8mzXJEJpXU" class="fr-fic fr-fil fr-dib" width="545" height="100"></span></p><p><span style="font-size: 10pt;"><strong>Fig 13. View in dropdown</strong></span></p><p><br></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImU4YzY2MWQ0LTk5Y2EtNGI5My1hMGI2LTJjNWYwNzI2NzA0OCJ9.QwQVIT-zBf5l_j63dAHHWLg2QdiuYC1WJu3w3uo3hwI" class="fr-fic fr-fil fr-dib" width="1120" height="816"></span></p><p><span style="font-size: 10pt;"><strong>Fig 14. Manage Consumer Details button</strong></span></p><p><br></p><p><span style="font-size: 11pt;">You can now copy your consumer details to connect the App to Halo.</span></p><p><br></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE5MzliMzQ5LWY0ZTUtNGY5Ni04MDBjLWI3MTBkODk5ZTM0YiJ9.hywYPiBCr3om8a865MuIjl9KRGdX33dR17WCtnT0yB4" class="fr-fic fr-fil fr-dib" width="1120" height="467"></span></p><p><span style="font-size: 10pt;"><strong>Fig 15. Consumer key and secret</strong></span></p><p><br></p><p><span style="font-size: 11pt;">Finally add the URL, Consumer Key and Consumer Secret in Halo.</span></p><p><br></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjAwYzEzYzQzLTg1ODgtNDYzNS04MWY1LWU1MDdjNGRlMmI3NyJ9.-6wpjRfL3M7T9MmSE_3CAD9r8csYjakj1S68ZJV6-hg" class="fr-fic fr-fil fr-dib" width="634" height="371"></span></p><p><span style="font-size: 10pt;"><strong>Fig 16. Adding the key and secret</strong></span></p><p><br></p><p><span style="font-size: 14pt;"><strong>Access Tokens</strong></span></p><p><span style="font-size: 11pt;">Once you have completed the first three configuration boxes, you can try to retrieve an access token. This will require you to authenticate with Salesforce.</span></p><p><span style="font-size: 11pt;">If successful, the Access Token will be displayed as a hidden password field. Note that this value cannot be copied or obtained.</span></p><p><br></p><p><span style="font-size: 11pt;">You will not be able to continue until this step has been completed. The access token will expire if you do not use the integration. In other words the Halo Integrator needs to be turned on to ensure the API key refreshes, otherwise you will need to login constantly again.</span></p><p><br></p><p><span style="font-size: 11pt;">In the Managed Connected App, a new "Initial Access Token" can be generated if any issues are experienced during connection.</span></p><p><br></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjdhMDJjYmU3LTNmYjAtNDBkNi05NmUzLWRhNjBmMzQ1ZWJhZiJ9.K9aWNg509kSuIEYcKOif0BLjCzL3TSJVpKvbe79E7lE" class="fr-fic fr-fil fr-dib" width="910" height="234"></span></p><p><span style="font-size: 10pt;"><strong>Fig 17. Initial Access token</strong></span></p><p><br></p><p><br></p><p><span style="font-size: 14pt;"><strong>Account Imports</strong></span></p><p><span style="font-size: 11pt;">Now that an access token has been obtained, you will be able to open the import section for Accounts (Customers).</span></p><p data-pasted="true"><span style="font-size: 11pt;">Under this section you can manually add, or automatically generate mappings between Salesforce and Halo Customers. Once your mappings are created you can also map specific Salesforce fields to Halo Customer fields. </span></p><p data-pasted="true"><span style="font-size: 11pt;">To add a new mapping, find the relevant table and press the add button. You can choose the name of the Halo field from the drop down. The Salesforce field is a case sensitive text entry. When mapping Custom Fields they must have a suffix of __c, which included in the field name, e.g. “TaskType__c”.</span></p><p><br></p><p data-pasted="true"><span style="font-size: 11pt;">For a full list of available Customer system fields in Salesforce, please visit the following URL:</span></p><p><br></p><ul><li style="font-size: 11pt;">Customers - <a href="https://developer.salesforce.com/docs/atlas.en-us.sfFieldRef.meta/sfFieldRef/salesforce_field_reference_Account.htm" target="_blank">https://developer.salesforce.com/docs/atlas.en-us.sfFieldRef.meta/sfFieldRef/salesforce_field_reference_Account.htm</a></li></ul><p data-pasted="true"><span style="font-size: 11pt;"><strong><em>Note: If mapping the account manager field (Halo) the field you map this to in Salesforce must contain the account manager email address. This can then match on the user with that email in Halo and mark them as the account manager. </em></strong></span></p><p><br></p><p><span style="font-size: 11pt;">Next you can set the Top level for imported Customers using the drop-down. You can also use the "Sync Account name changes to HaloPSA", "Update the Customer's main Site address in Halo when an existing Customer is imported from Salesforce" and "Allow accounts in Salesforce with non-unique names to be imported into Halo as separate Customers" checkboxes to determine how the imported Customer will appear in Halo.</span></p><p><br></p><p data-pasted="true"><span style="font-size: 11pt;" data-pasted="true">In this section you will also find the option to provide a "Custom Where Clause". The value you enter here will control what is returned by the import. For information on how to format this clause see the</span><span style="font-size: 11pt;"><a href="https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_conditionexpression.htm" target="_blank" rel="noopener noreferrer"> Salesforce Where Clause documentation</a>. </span></p><p><br></p><p data-pasted="true"><span style="font-size: 11pt;" data-pasted="true">There is an additional option to import SalesForce Child accounts as Sites in Halo. This setting is called "Import parent accounts as Halo customers and child accounts as Halo Site".</span></p><p><br></p><p data-pasted="true"><span style="font-size: 11pt;">Once you are happy with the setup, click "Import Customers" to run the import.</span></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjE5ZmEwYzRkLWM0ZjEtNGEzMi04OWNmLTk4NTM5MjI4NjgzNSJ9.ocO2t_CbBrmEhKsf_U8wYIVAS6cgXAbMO2sgq47RIDE" class="fr-fic fr-fil fr-dib" width="1395" style="width: 1397px; height: 737.357px;" height="737"></p><p data-pasted="true"><span style="font-size: 10pt;"><strong>Fig 18.<span style="font-size: 10pt;" data-pasted="true"><strong> <span style="font-size: 10pt;" data-pasted="true"><strong>Account Import configuration</strong></span></strong></span></strong></span></p><p><br></p><p data-pasted="true"><span style="font-size: 11pt;">In order to sync attachments for Accounts, head to the Miscellaneous section and select "Accounts" in the "Entities to Sync Attachments" drop-down. </span></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">Contact Imports</span></strong></p><p data-pasted="true"><span style="font-size: 11pt;">Under this section use the "Default Site" drop-down to select the Site Users will be assigned to if their Site has not been imported. The next drop-down in this section is the "User Mapping Field for Sales", the field you select here will be used to match Users to Sales. It is recommended that you create a Ticket Custom Field that can hold the Opportunities associated User’s ID and select this field in the drop-down. As part of the mapping process, you will need to map the User ID into this field, which means during the import, users can be assigned to Opportunities if they exist in the system (See Opportunities section of this guide).</span> </p><p><br></p><p data-pasted="true"><span style="font-size: 11pt;">Next you can create field mappings between Salesforce and Halo User fields.</span></p><p data-pasted="true"><span style="font-size: 11pt;">To add a new mapping, find the relevant table and press the add button. You can choose the name of the Halo field from the drop down. The Salesforce field is a case sensitive text entry. When mapping Custom Fields they must have a suffix of __c, which included in the field name, e.g. “TaskType__c.</span></p><p><br></p><p data-pasted="true"><span style="font-size: 11pt;">For a full list of available User system fields in Salesforce, please visit the following URL:</span></p><p><br></p><ul><li style="font-size: 11pt;" data-pasted="true">Users - <a href="https://developer.salesforce.com/docs/atlas.en-us.sfFieldRef.meta/sfFieldRef/salesforce_field_reference_Contact.htm" target="_blank">https://developer.salesforce.com/docs/atlas.en-us.sfFieldRef.meta/sfFieldRef/salesforce_field_reference_Contact.htm</a></li></ul><p><br></p><p data-pasted="true"><span style="font-size: 11pt;" data-pasted="true">In this section you will also find the option to provide a "Custom Where Clause". The value you enter here will control what is returned by the import. For information on how to format this clause see the</span><span style="font-size: 11pt;"><a href="https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_conditionexpression.htm" target="_blank" rel="noopener noreferrer"> Salesforce Where Clause documentation</a>.</span></p><p><br></p><p data-pasted="true" style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><span style="box-sizing: inherit; font-size: 11pt;">Once you are happy with the setup, click "Import Users" to run the import. </span></p><p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImJlN2JkMzAwLWRlNjgtNDRlZS04N2MxLTg0ZTQ5OGU3YTRjMCJ9.cypgXjpjJBurnYMbXInykgzgHyQe-OrfvcUc93sugpA" class="fr-fic fr-fil fr-dib" width="1521" height="570"></p><p data-pasted="true"><span style="font-size: 10pt;"><strong>Fig 19. Contact <span style="font-size: 10pt;" data-pasted="true"><strong><span style="font-size: 10pt;" data-pasted="true"><strong>Import configuration</strong></span></strong></span></strong></span></p><p><br></p><p data-pasted="true"><span style="font-size: 11pt;">In order to sync attachments for Contacts, head to the Miscellaneous section and select "Contacts" in the "Entities to Sync Attachments" drop-down. </span></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">Opportunity Imports</span></strong></p><p data-pasted="true"><span style="font-size: 11pt;">First, you need to choose which ticket type new opportunities should be created as. Once this is set, you can create field mappings between Salesforce and Halo Opportunity fields.</span></p><p data-pasted="true"><span style="font-size: 11pt;">To add a new mapping, find the relevant table and press the add button. You can choose the name of the Halo field from the drop down. The Salesforce field is a case sensitive text entry. When mapping Custom Fields they must have a suffix of __c, which included in the field name, e.g. “TaskType__c. If you’d like to associate users with opportunities, you need to add a mapping to bring user ID’s into your designated custom field such as in Figure 20. </span></p><p><br></p><p data-pasted="true" style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><span style="box-sizing: inherit; font-size: 11pt;">For a full list of available Opportunity system fields in Salesforce, please visit the following URL:</span></p><p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><br style="box-sizing: inherit; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"></p><ul><li style="font-size: 11pt;" data-pasted="true">Opportunities - <a href="https://developer.salesforce.com/docs/atlas.en-us.sfFieldRef.meta/sfFieldRef/salesforce_field_reference_Opportunity.htm" target="_blank">https://developer.salesforce.com/docs/atlas.en-us.sfFieldRef.meta/sfFieldRef/salesforce_field_reference_Opportunity.htm</a></li></ul><p data-pasted="true"><span style="font-size: 11pt;" data-pasted="true">In this section you will also find the option to provide a "Custom Where Clause". The value you enter here will control what is returned by the import. This allows you to filter by criteria such as dates, allowing you to specify which Opportunities are returned in the import based on when they were created. For information on how to format this clause see the</span><span style="font-size: 11pt;"><a href="https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_conditionexpression.htm" target="_blank" rel="noopener noreferrer"> Salesforce Where Clause documentation</a>.</span></p><p><br></p><p data-pasted="true" style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><span style="box-sizing: inherit; font-size: 11pt;">Once you are happy with the setup, click "Import Sales" to run the import. </span></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjdmODRiZThhLWNhNjItNDdiMi1hMzU2LWVlNGY2MDc5ZWQ5MCJ9.JQ1cJtdU-rJBKIUkC6hXB8i-aJSJcGvEIk35h_7dhq8" class="fr-fic fr-fil fr-dib" width="1511" height="610"></p><p data-pasted="true" style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><span style="box-sizing: inherit; font-size: 10pt;"><strong style="box-sizing: inherit; font-weight: 700;">Fig 20. Opportunity Import configuration</strong></span></p><p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><br></p><p data-pasted="true"><span style="font-size: 11pt;">In order to sync attachments for Opportunities, head to the Miscellaneous section and select "Opportunities" in the "Entities to Sync Attachments" drop-down. </span></p><p><br></p><p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><br></p><p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><span style="box-sizing: inherit; font-size: 14pt;"><strong>Case Imports</strong></span><strong><span style="font-size: 14pt;"><br></span></strong></p><p data-pasted="true"><span style="font-size: 11pt;">First, you need to choose which Ticket Type Cases should be created as in Halo, and a default User for these. If you would like to import feed updates from Salesforce select the "Import Case Feed updates" checkbox. </span></p><p><span style="font-size: 11pt;">Next you can create field mappings between Salesforce and Halo Ticket fields. To add a new mapping, find the relevant table and press the add button. You can choose the name of the Halo field from the drop down. The Salesforce field is a case sensitive text entry. When mapping Custom Fields they must have a suffix of __c, which included in the field name, e.g. “TaskType__c. </span></p><p><span style="font-size: 11pt;">Case Imports also allow you to set priority mappings. These will set the Ticket's priority level in Halo based on the mapped Salesforce priority. </span></p><p><br></p><p data-pasted="true"><span style="font-size: 11pt;" data-pasted="true">In this section you will also find the option to provide a "Custom Where Clause". The value you enter here will control what is returned by the import. This allows you to filter by criteria such as dates, allowing you to specify which Cases are returned in the import based on when they were created. For information on how to format this clause see the</span><span style="font-size: 11pt;"><a href="https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_conditionexpression.htm" target="_blank" rel="noopener noreferrer"> Salesforce Where Clause documentation</a>.</span></p><p><br></p><p data-pasted="true" style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><span style="box-sizing: inherit; font-size: 11pt;">Once you are happy with the setup, click "Import Sales" to run the import.</span></p><p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><br></p><p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjNjZWY4YmExLTJlMzAtNDQ3NC1iYWQ3LWUwNTVlZmRkZWU1ZCJ9.H04_tZd-mJbNL-CG7e4XPtyTX_zOIEptBM5oBocGFRY" class="fr-fic fr-fil fr-dib" width="1558" height="753"></p><p data-pasted="true"><span style="font-size: 10pt;"><strong>Fig 21. Case Import configuration</strong></span></p><p><br></p><p data-pasted="true"><span style="font-size: 11pt;">In order to sync attachments for Cases, head to the Miscellaneous section and select "Cases" in the "Entities to Sync Attachments" drop-down. </span></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">Halo Integrator</span></strong></p><p><span style="font-size: 11pt;">To enable the Halo Integrator select the checkbox shown in Figure 22. If enabled, Accounts, Contacts, Opportunities, and Cases can be imported on a recurring sync, keeping details up-to-date. You can choose which of these entities to sync using the drop down.</span></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjI2Mjg3OTU3LTZmNzUtNDZhYS1iOGJjLTQwZWY1MzAwMDNhMiJ9.Mz9r2x5xt4aQ1pnqxOTDjjboNzmL3toligHFt9VpfGg" class="fr-fic fr-fil fr-dib" width="1384" style="width: 1386px; height: 259.875px;" height="260"></p><p><strong>Fig 22. Enabling the Halo integrator.</strong></p><p><br></p><p><br></p><p><span style="font-size: 14pt;"><strong>Syncing to Salesforce</strong></span></p><p id="isPasted"><span style="font-size: 11pt;">You can sync accounts, contacts, opportunities, cases, and case comments to Salesforce.</span></p><p><br></p><p><span style="font-size: 11pt;">Any fields mapped in the import from Salesforce can be marked as "Include this field when syncing back to Salesforce" to sync them back to Salesforce. All fields that are synced from Salesforce by default are also included in the sync back.</span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 12pt;"><strong>Accounts</strong></span></p><p><span style="font-size: 11pt;">This can be enabled for creation, updates, or both. You can also enable the syncing of the main site address back to Salesforce. The setting 'Don't sync to Salesforce' allows you to disable the sync on a per customer basis.</span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjhlNmM3MGFiLTk0NjMtNDZiZi04NDBmLWJlOTk3M2I3MzZmOCJ9.0MwxWSuygaW-udXS1nDwUjlKjvZnTp1V8lp7_G8Pacg" class="fr-fic fr-fil fr-dib" width="881" height="434"></span><br></p><p><span style="font-size: 10pt;"><strong>Fig 23. Sync options</strong></span></p><p><br></p><p><span style="font-size: 11pt;">"Disable assignment rules when syncing to Salesforce" can be set so when an update is made in Salesforce, active assignment rules will not be applied. </span></p><p><span style="font-size: 11pt;"><br></span></p><p data-pasted="true"><span style="font-size: 11pt;">If "Import parent accounts as Halo customers and child accounts as Halo Site" is set, you will see the option to set the extent of the sync, and decide if you would like to "Sync the default 'Main' Site as a child account". </span></p><p><br></p><p><span style="font-size: 12pt;"><strong>Contacts</strong></span></p><p><span style="font-size: 11pt;">This can be enabled for creation, updates, or both. The setting 'Don't sync to Salesforce' allows you to disable the sync on a per-user basis. The user must be at a customer who has already been synced to salesforce in order for this sync to occur.</span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 12pt;"><strong>Opportunities</strong></span></p><p><span style="font-size: 11pt;">To sync opportunities you must configure the 'Opportunity Stage Names' in the Opportunities section and specify a default stage. These names should match the stages in Salesforce. You can override this at ticket type level or at individual ticket level by adding the 'Salesforce Stage' field to the opportunity ticket type. </span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjRjMmYxYzk1LWYxNWQtNGNhNC1hY2UyLTBiNjcwNjA4ZGM3MiJ9.QuNukBMnTW0RBHiEfxjf4L5lfLyZ4jMJOc4HGbA2_p8" class="fr-fic fr-fil fr-dib" width="401" height="200"></span></p><p><span style="font-size: 10pt;"><strong>Fig 24. Stage names configuration</strong></span><strong><span style="font-size: 10pt;"><br></span></strong></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;">The syncing of opportunities is enabled at ticket type level with the 'Sync to Salesforce' setting in the ticket type defaults tab. This can be overridden by adding 'Sync to Salesforce' as a field to the ticket type. This field will default to the value set at ticket type level. </span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 12pt;"><strong>Cases</strong></span></p><p><span style="font-size: 11pt;">The syncing of cases is enabled at ticket type level with the 'Sync to Salesforce' setting in the ticket type defaults tab. This can be overridden by adding 'Sync to Salesforce' as a field to the ticket type. This field will default to the value set at ticket type level.</span></p><p><span style="font-size: 11pt;">To sync the case comment can be configured at action level 'Sync to Salesforce' setting in the action defaults tab. This can be overridden by adding 'Sync to Salesforce' as a field to the action. This field will default to the value set at action level. This will sync the note on the action and also whether or not it is visible. Edits to actions will not be synced to Salesforce.</span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNiYjcyMzIwLTk1NTUtNGY0My1iYTI1LTE3OTNjYzBiZTcyMiJ9.lTcdDDYx09els4PjqEHP-t9Gcq0BF1Rw9Ra5qIFpD0o" width="295" height="151" class="fr-fic fr-dii"></span></p><p><span style="font-size: 10pt;"><strong>Fig 25. Adding the field</strong></span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;">Below is a list of all default synchronized Salesforce fields for tickets and clients.</span></p><p><span style="font-size: 11pt;"><br></span></p><p id="isPasted"><span style="font-size: 11pt;">Client -> Account</span></p><p><span style="font-size: 11pt;">Name</span></p><p><span style="font-size: 11pt;">BillingStreet</span></p><p><span style="font-size: 11pt;">BillingCity</span></p><p><span style="font-size: 11pt;">BillingState</span></p><p><span style="font-size: 11pt;">BillingPostalCode</span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;">User -> Contact</span></p><p><span style="font-size: 11pt;">FirstName</span></p><p><span style="font-size: 11pt;">LastName</span></p><p><span style="font-size: 11pt;">Email</span></p><p><span style="font-size: 11pt;">Phone</span></p><p><span style="font-size: 11pt;">MobilePhone</span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;">Ticket -> Case</span></p><p><span style="font-size: 11pt;">Name/Subject</span></p><p><span style="font-size: 11pt;">Description</span></p><p><span style="font-size: 11pt;">AccountID</span></p><p><span style="font-size: 11pt;">ContactID</span></p><p><span style="font-size: 11pt;">Amount</span></p><p><span style="font-size: 11pt;">Probability</span></p><p><span style="font-size: 11pt;">CloseDate</span></p><p><span style="font-size: 11pt;">StageName</span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;">Case Comment</span></p><p><span style="font-size: 11pt;">Commentbody</span></p><p><span style="font-size: 11pt;">IsPublished</span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;">Additional fields that can be synced to salesforce.</span></p><p><br></p><p><span style="font-size: 11pt;">The 'Potential Value' fields can also be synced to Salesforce, this field has three types:</span></p><p><br></p><ul><li style="font-size: 11pt;">Annual</li><li style="font-size: 11pt;">Monthly</li><li style="font-size: 11pt;">One-off</li></ul><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;"> </span></p></div>