Implementation is included in your Mapsly subscription!
Your Mapsly subscription includes implementation services, so we're inviting you to book a web call with our engineer today to learn more about your use case and set up shared maps for you during the call. Start embedding live maps today. You may also ask us for help in chat any time, 24/7.
The task
An example manufacturer sells its products through a network of independent dealers, which it keeps as Companies in its HubSpot CRM, and generates leads for them, which it keeps as Contacts. Its account executives should be able to assign a lead to a dealer or remove an existing assignment. One lead can be assigned to up to three dealers at once - as its Primary, Secondary or Third dealer.
Each dealer should be provided with access to a map showing only its own company records and the leads currently assigned to it. As the account executive updates assignments, the dealer's map should automatically reflect the changes.
Dealers must not be able to see other dealers' companies, other dealers' leads, or the manufacturer's internal contacts, such as dealer employees.
Please note that we're using Dealers (Companies) and Leads (Contacts) only as examples - they can be any standard or custom objects.
Prerequisites
This example requires the Pro or Enterprise Mapsly subscription plan and can be implemented for any CRM, spreadsheet, or any other data source. No custom objects are required, so it works on any HubSpot plan.
High-level implementation plan (concept)
To implement the example, we'll need to do the following:
Create three custom Contact properties - Primary Dealer Record ID, Secondary Dealer Record ID, and Third Dealer Record ID - that will store the HubSpot Record ID of each dealer Company assigned to the lead, and keep them populated. Also, create a Mapsly Signed Map URL custom property on the Company to store the personalized map URL for each dealer.
Create a shared map and a dedicated shared map user that will only have access to the Companies and Contacts objects.
Create filters on both objects that reference the dealer id from a URL parameter, and share those filters with the shared map user.
Enable the URL signature on the shared map, so that dealers cannot alter or remove the dealer id in the URL.
Create a Mapsly workflow that will automatically generate the signed map link for every dealer and save it to the Mapsly Signed Map URL property on the Company.
Embed the personalized map into your customer portal, or email the signed link to each dealer.
Step-by-step implementation guide
In this implementation, we'll be using HubSpot, but the same approach can be used with any other CRM, spreadsheet, or any other data source connected via Zapier or Mapsly API.
1- Prepare the properties in HubSpot
Before we build the map, HubSpot must hold two things:
Two things need to be in place before we build the map: each lead contact must carry the numeric Record ID of every dealer assigned to it, and each dealer company needs an empty property where Mapsly will later write its personal map link.
a) Create three properties on the Contact object (type: Single-line text):
Primary Dealer Record ID
Secondary Dealer Record ID
Third Dealer Record ID
Each of them will store the Record ID of one of the dealer companies assigned to the lead. For example, if the dealer company whose Record ID is 1234567890 is the lead's primary dealer, the lead's Primary Dealer Record ID will be 1234567890. A lead assigned to only one dealer will have the other two properties empty - that's fine, the map handles it.
b) Create one property on the Company object (type: Single-line text):
Mapsly Signed Map URL
Leave it empty - the Mapsly workflow we'll build in #7 will fill it in automatically for every dealer.
Note. New HubSpot properties aren't available in Mapsly until they're synced. Open your HubSpot data source settings in Mapsly, refresh the field list for Contacts and Companies, enable the four new properties, and run a sync
2- Create the shared map and its user
Follow this guide to create your shared map: Shared maps (configuration)
3- Create the filters using URL parameters
Create one filter on each object, using dealer_id as the URL parameter. Follow this guide for the full reference: URL parameters in formulas of map layers and filters
The result of your URL parameter filter will look like this:
For Companies:
For Contacts:
Note #1 — Share both filters. Filters belong to the user who created them, so share each one with your shared map user (or make it public, if that fits your setup) from the filter's Sharing settings. If only one filter is shared, that object will show all its records on the map. See Share map layers, filters with others.
Note #2 — Apply them as the shared map user. Layers, filters and default position belong to the shared map user, not to your account. Open the user's ⋮ menu, choose Log in as (for setup), then select each filter on its layer. Anything you select while logged in as yourself will not reach the dealer's map.
6- Enable the URL signature
IMPORTANT! In the Shared map configuration popup, check the URL signature box.
7- Create a workflow to generate the signed URL for every dealer
Create a new Mapsly workflow for the Customer object triggered when a new record is created, and add an Update record action to its condition/actions block. In the action's properties, select the Map link field and enter the following target value:
properties select the Map link field and enter the following target value:
{{SignUrl('your_shared_map_link?customer_id=' + record.id)}}Here, replace your_shared_map_link with your shared map's URL.
The resulting Workflow and its Update record action will look like this:
8- Configure a customer portal with the personalized map
Follow this guide to configure a customer portal with automatic signup of new customers. The portal will have the Map web tab with an iframe that loads the personalized map for the currently logged-in customer.
In this example, we'll use the Zoho Creator Portal solution, but you may use any other solution that supports registering users with custom fields via its API and embedding iframes whose links can be fetched from the portal's database based on the logged-in user's email address.
If you're using Zoho CRM, you may also set up an automatic registration of new customers in the portal.







