Salesforce FAQ

From Resco's Wiki
Jump to navigation Jump to search
Related information

Resco and Salesforce integration - basics

Which operating systems does Resco support?
All of them. iOS, Android, Windows – and even Wear OS and watchOS.
Are FSL (Field service lightning) objects supported in Resco?
Yes, as well as any other custom and standard object.
What technology is Resco based on?
Resco is a native app (C# .NET, Xamarin, WinForms, UWP, ASP.NET).
Is Resco app responsive, how does it display on mobiles, tablets, and wearables?
Resco is natively supported on any device.
How often is the application updated?
Resco app goes through 3 major and robust releases each year. There are several bugfix releases happening throughout the year.
What’s the exchange architecture between Resco and Salesforce?
Resco is a native mobile app connecting to Salesforce via its APIs counting against API call limits of the Salesforce organization. Consumption depends on records and feels synchronizes over to the device. Synchronization is incremental, so only the first Full sync takes more of the API limits.
Which configurations does the Resco app inherit directly from Salesforce?
Picklist values or list view data are inherited from Salesforce. View can be modified or created from scratch in the Woodford configuration tool.
What about data model inheritance?
Resco uses data model of Salesforce.
How do you configure forms – i.e. add new fields…?
Forms are customized in Woodford; fields can be added freely.
How do your dynamically display fields (depending on the value of another field, security, etc.)?
Salesforce dependent picklists are out-of-the-box functionality in Resco mobile apps. For example, when you select a country, the field “City” will offer to choose only from cities in that country. One important rule is that the fields must be in the correct order, i.e., country before city. Dependent picklists can also be based on record types; e.g. to differentiate regular sales deals from service engagements.
What version of Salesforce API does Resco support?
Since Release 17.0, Resco supports Salesforce API 59.0 (Winter 2024).

Resco and Salesforce integration - advanced

How can a user remotely handle connection & synchronization?
Thanks to Resco tools called Sync Dashboard and Device control.
How can an admin supervise synchronization, remote re-initialization or remote data deletion or manage field users in general?
Also with the tools like Sync Dashboard and Device Control.
Does Resco’s authentication support SSO Salesforce and SSO Azure?
Yes, both.
How is data encryption on the device handled?
Mobile device management uses SQLite with AES 128. See Security.
Does Resco support Lightning and can our custom-built Lighting components work in Resco?
Since Resco is built on its own mobile platform and not on the force.com stack, it cannot host lightning components, nor Visual Force Pages. However, it is possible to integrate these in online mode using the iFrame component targeted at Salesforce URLs. You can implement iFrames as a dedicated mobile form or its section. It is easier and more user-friendly to create dedicated mobile layouts (including fields from other objects and validations) declaratively using Resco form rules. However, offline Visual Force Pages are not supported by any technology as they depend on the Salesforce backend to serve them.
Can your solution pass lightning app page layouts through, or is a custom design of the app page layouts mandatory?
Resco cannot simply “pass” Salesforce page layouts, however, you are able to perform single-click import of Salesforce layouts into Resco format and further tailor these layouts for mobility in the Woodford tool.
Which backend systems are compatible with Resco apart from Salesforce?
Apart from Salesforce, Resco is a business mobility provider for various backends, mainly Microsoft Dynamics 365/CRM. Other systems can be integrated using Resco Cloud backend and custom integration plugin. Resco Cloud supports proprietary REST API as well as standard OData endpoint. It is possible to use third-party middleware such as Scribe for integration purposes.
Can Resco be integrated with an ERP system?
Yes, it is possible via Resco Cloud backend synchronized with ERP system. The synchronization module must be developed by an integrator. Third-party middleware solutions such Scribe are supported. We have many successful integrations and implementation stories with systems like SAP, Oracle Siebel or Dynamics AX.
When I’m creating a custom Salesforce organization, do the changes apply to the Resco application? How does it work?
Yes. Configurations of user permissions and profiles are automatically imported from one environment to another (Resco/Salesforce). Edits to layouts or list views are transferable within a few clicks. Users can re-implement some changes (validation rules, offline triggers, VisualForce changes), however, there is a variety of configuration possibilities that come extra with the Resco app (unavailable within the Salesforce environment). Thanks to advanced configurations on Resco’s side, you can configure records to be shown on a map or a chart, use any custom object in Route Planner, create & customize Questionnaires, Private Dashboards, and much more.
Can we use Resco with Community Cloud users?
Yes. You only need to make sure that Partner User Profile enabled for Partner Portal also has the API Enabled flag checked from the configuration point of view. The default Partner profiles from Salesforce do not have it, so you’ll have to clone the profile, set the API Enabled flag to true, and associate the new profile with your portal. Also, ensure that the parent account owner is the user with the associated role.
  • If you're using release 15.0 of the app or later, use the OAuth mode for logging in. Also, you can use custom Salesforce domains.
  • If you're using an older app, use the "Standard User" option for logging in. Custom domains are not supported.
  • If you're using the Microsoft Store version of the app (UWP), you have to use just the root URL (without the "ExternalPortal" part). Also, either use Enterprise Authentication or disable SystemOAuth in app setup.
What about Salesforce Platform Encryption? Can it be used with Resco?
Yes, it can. Salesforce Platform Encryption (sometimes called Shield Platform Encryption) can be used with Resco, only standard Salesforce limitations apply.
Can you use parent > child relationships in online queries?
Yes, it is possible to use parent > child relationships in online mode, e.g., you can sync only Service Appointments where the current user is among Assigned Resources. However, due to SOQL limitations, some limitations apply to Sync Filters and View Filters executed in online mode:
  • The Parent > Child link is only possible as one or more top-level links. Nesting on deeper levels, either under P>C or C>P, links will not work.
  • When syncing, the Mark As Parent Pointer setting on the child entity of the parent with Sync Filter using P>C relationship will not work, because it uses nesting of parent filter under child filter.
  • When syncing, the Incremental Linked Sync Filter will not work because SOQL doesn't support OR operator with subselects, which is used for the query.
Can you access Salesforce libraries in the app?
Yes, libraries can be available in the app, even offline. Edit your app project in Woodford and enable the following entities: ContentDocumentLink (set Synchronization to Always Full Sync) and Library (set Sync linked files to All). Then place the ContentDocumentLink list on Library form. (If you don't have the Library form in Woodford, you can import it from Salesforce using the Import Form button.)
We recommend setting a suitable Max Attachment Size because downloading the multimedia content from all libraries can take a lot of API calls and network bandwidth.

Customization and branding

When you connect to your Salesforce organization for the first time, the default mobile customization for your organization is created in Resco Cloud. From this moment on, you can use the Woodford tool to tailor your Resco mobile experience to suit your business needs.

Do I need to be a skilled programmer to further customize Resco?
Resco mobile experience can be configured and tailored without any coding skills. Any Salesforce custom data can be reflected in Resco, and all can be presented in a way that would fit each business's needs. Woodford lets users configure any custom object to take advantage of standard Resco features, such as maps, charts, reports, or a calendar. Woodford allows you to create new icons, modify the app behavior, add your own business logic, design dashboards, apply your own branding, and much more. It is a standalone web-based tool. You can also customize Resco inspection processes with a lightning component that is a part of the Resco managed package in your Salesforce organization.
How do the customizations work?
Most of the changes and configurations made within Salesforce are automatically imported to Resco, others are easily transferable. Resco offers extra customization options – tailor-made fonts, ready-to-use icon packs, color-coded calendars, depended picklists & lookups, and more. To learn more, check out this post about the endless configuration possibilities with Salesforce data. Blog
*There are exceptions when it comes to custom logic in Salesforce Triggers or VisualForce Pages. When these behaviors are needed while working offline, it is necessary to replicate them using Resco customization tools.
Can I use out-of-the-box objects from my Salesforce organization in Resco?
The default configuration is optimized for efficient offline Mobile Sales scenario using standard objects, but with Woodford, you are free to throw any object from Field Service or other Salesforce Cloud organization into the mix. Of course, you get full support for any custom object online and offline.
You can make your solution better with advanced functionality. Including:
Woodford
Advanced customization tool allows you to turn your app into a branded business solution. Modify the entire look and feel of the app with no or low coding skills.
Introduction to Woodford YouTube
Questionnaire Designer
Helps you build an effective inspections process with custom dynamics checklists.
Note: You can use the entire inspections functionality, but first you need to install managed package to start creating checklists using the Resco Inspections Lightning app.
Tips for inspectors:
  • Perform inspections with AR on HoloLens
  • Native support for math operations
  • Create dynamics checklists from scratch or choose from samples
  • Add the inspections functionality to your app project with Salesforce data & more
Sync Dashboard
Gives you insights into synchronization details of your users and devices. 360° overview of sync information for system administrators displayed in intuitive charts. A clear-cut dashboard shows how your users behave, sync errors, and more.
Sync Dashboard overview Blog
Mobile Reports Editor
Lets you add, edit, and remove reports, manage report styles, sources, and more. Fast and user-friendly editing tool streamlines your reporting processes, including fast adding/removing of columns, rows, attachments, and more.

Resco in offline mode

How to work with Resco in online mode?
We recommend using Resco Mobile CRM in offline mode. Using the offline database is faster and does not suffer from a bad network connection. To make sure you're not working with old data, you can enable an automatic synchronization process that runs in the background. Synchronization can trigger periodically (for example, every 5 minutes,…) or on every change (straight after record creation or update, or shortly after).
You mentioned that with Resco, you are able to work offline for days or weeks. How does Resco handle potential sync issues when the same record has been edited online and offline during this blackout?
Resco handles conflicts concerning different fields of the same record gracefully. If the same field is changed, it can be configured to handle conflicts automatically (client wins/server wins) or show problematic record to the user and let him/her handle the resolution including so-called “merge” functionality.
Can Resco perform advanced business logic in offline mode?
Yes. The Woodford tool provides a comprehensive and easy-to-use graphical interface for defining advanced business rules and workflows (e.g. showing/hiding/calculating other fields, the logic can even use queried data from other objects). These can be executed offline as well as in online mode. For the most advanced scenarios, you can always use custom JavaScript code via Resco JavaScript Bridge API.
Please note, that to make things more convenient, Resco supports standard Salesforce business logic for Sales and Service scenarios in offline mode out-of-the-box.
Can we export the offline database for development or debug purposes?

Yes, it possible to disable database encryption using Woodford configurator and then use standard SQLite tools to work with the database. The database is encrypted for security reasons, so it is not recommended for production deployments. However, it is possible to interrogate the database via JavaScript API or export records to Excel from the UI. For advanced development scenarios, our support department can provide you with all the support you need. You can contact support here: mobilecrm@salesforce.net.

Does geolocation work offline on all the platforms?
Yes, as long as there is the GPS signal in the area.
Duplicate records after sync
If you create records in offline mode and then try to synchronize the app in areas with extremely bad internet connection, your sync may get interrupted (network problems) just after new records have been uploaded to Salesforce, but Resco hasn't received confirmation about it. When syncing again, you may encounter duplicate records on the server. This is quite a rare issue, but can happen, especially if the following conditions are true:
  • your object doesn't have any required field with unique constraint except for its Id
  • your users often sync mobile app in extremely bad or unreliable network conditions
  • your users create large number of new records in offline and have time consuming on-create triggers in place.
To ensure that duplication never happens, create a custom field "resco_origin_guid__c" on the object suffering from this problem. Also, make sure this field has a unique constraint.
Custom Resco GUID field in Salesforce to prevent duplicate records
Technical details: In the upload phase of synchronization, Resco mobile app sends a CreateRequest to the server. The record is created on the server, but, due to network problems, the app never receives a positive response from the server. As a result, during the next sync, the app sends the same record again to the server. A duplicate record is created on the server.
To solve this problem, create a custom field "resco_origin_guid__c" on the object suffering from this problem and mark it as Unique. This field holds Resco's internal primary key of the record. With the unique constraint in place, server cannot create a duplicate record and informs the app. The app then sends updated record data to the server. (Record might have changed between the two synchronization.)

Other functions

How are the triggers, workflows, validation rules and apex classes executed in Resco?
In general, all the workflows, validation rules, and triggers are server-side behavior. As such, they are executed only when records are sent to Salesforce. When using the app in an offline mode, they are executed when the app is synchronized (this can happen on user action or automatically in the background). If these server behaviors should be executed in offline, they have to be replicated using the Woodford customization tool or by custom JavaScript code. The basic validations derived from Salesforce object definitions (e.g. required fields, number lengths) and permissions settings are automatically enforced by Resco and don't have to be replicated. The automatic execution of Salesforce validation rules is in offline is coming soon.
Does Resco support Gmail and Exchange/Outlook email & calendar integration?
Both email tools are fully supported. Users can send, receive, forward and track emails. Attachments and all other email features are also available. Right now, we don’t support calendar sync for Salesforce (Gmail, Outlook). However, this is on our roadmap and as any planned feature, it can be prioritized based on client demand.
Can we integrate Resco with generic emails via IMAP/POP3 protocols?
No, currently Resco only supports Gmail and Exchange.
Will the caller’s name appear on the screen, if the person is not in my device contact list, but is my CRM contact?
Due to inherent limitations of other mobile platforms, this is supported on Android devices only.
Can Resco be configured to use Google maps instead of, for example, Bing maps predefined in Windows?
Resco uses Google maps for Windows Desktop and Android. For iOS, users can choose to use Apple Maps or Google Maps. Additionally, on iOS and Android, it is possible to work with Open Street maps in an offline mode via Mapbox tool. In the Windows Store app, Bing maps are used. Read this guide on offline maps to learn more.
How can I control which fields will be visible in the layout?
The app respects Salesforce permissions for the user, so disabling the right to a field is reflected in the app (online or offline). You can also configure dedicated customizations per user profile, where you can import Salesforce layouts and tailor them to your mobile needs. Furthermore, you can use Woodford to write complex rules (even based on values of related records) to dynamically enable/disable/show/hide/make mandatory fields. The rules can be triggered by system events or user actions.

How to make user permission changes effective in the app?
When user permissions are changed, the permissions to see Record Type values change. This information must be propagated to the mobile app during synchronization. Layout sync can be time-consuming and heavy on API calls consumption. By default, layouts are synced whenever a new version of an app project is available. Optionally, enable Refresh layouts and Record Type mapping on first sync in Woodford Configuration to sync layouts also on the first sync after the application start.

Common issues

I can’t log in/register to the app.
This can happen when the Name, ID, or URL of your Salesforce organization changed (note that refresh of a full Sandbox usually changes the organization ID). In such cases, you will need to reconnect your organization to Resco using the Mobile App. To recover your customizations, please contact Resco and we will gladly recover them for you in no time. It is always a good idea to back up your customizations using the Export/Import app project function.
Since release 17.0, reconnecting Resco with Salesforce after sandbox refresh or organization change is no longer necessary. Organizations connected before release 17.0 will need to perform one more reconnect. The only reason an admin needs to reconnect is when the URL of your organization changes.
I can’t log in to the Woodford configurator.
Read the answer above. The same can apply to Woodford.
If none of the above is the case, double-check your URL. For production organization, always type in: https://salesforce.com and for sandbox: https://test.salesforce.com.
I cannot see my records in the app, changes are not synchronized.
This is a possible scenario if the metadata update in Woodford was not done yet. When your organization connects with Resco, Woodford uses a “safe” default schema of Salesforce trial orgs without any custom objects. It is also possible that metadata was updated, but the user that logged in to Woodford has limited privileges (not an admin user) and doesn’t “see” the custom objects. Make sure to access Woodford with a user that has access to all the objects you need to configure.
My metadata update failed.
Often this happens when there are not enough resources in your local system. First, try to restart Woodford or in case you use Silverlight version of the app, increase the local storage quota.
Changes I made to picklist values are not reflected in Resco.
In Woodford, first, make sure to update the metadata. If this doesn’t help, open your app project, open Localizations menu, and look for the object and field you experiencing problems with. Manually change one of the translated values and re-publish the project.
Problems with uploading deep hierarchy of records.
When you create several records in offline mode that link to the previous record as its parent (account A, then account B linking to A, then account C linking to B, etc.), only two such records are uploaded in one synchronization; the rest lands as sync errors. The next sync will send two more records, etc. Fortunately, there are several ways how you can speed this up:
  • Create the records on the server.
  • Create the records in online mode.
  • Set the project configuration parameter # Records / Upload Request to 1.
I cannot see my custom objects in Questionnaire Designer.
The Questionnaire Designer and Results Viewer for Salesforce have a limit of 300 objects. Additionally, the standard Salesforce object blacklist applies.
In Resco Inspections for Salesforce, I get the message Field "resco_questionnaire.resco_autoreport" cannot be saved because its size exceeds the maximum field length.
Edit the questionnaire using the Questionnaire Designer. Select the top-level element of your questionnaire template. On the Properties pane, enable Compress properties, then save changes.
Deactivating users and licensing
Before you deactivate a user in Salesforce, make sure to unassign the license on the Resco side (in Woodford on the Mobile users screen). If you deactivate the user in Salesforce first, the user disappears from the Resco license management screen, however, it will continue to consume a Resco license.