To connect Dynamics to Proposify, start by going to the Integrations tab and selecting the Dynamics card.
Connecting Dynamics is a bit more involved than our other Automations. You'll need an admin in Dynamics and Azure to set up the connection.
The following steps will create an Application User to send requests to Dynamics on your behalf. Setting up a client credentials connection is a two-step process:
- Create an “App” in Azure
- Create an “Application User” in Dynamics
Create an app in Microsoft Azure
To start, log in to Azure Portal and select "App registrations"
Enter a name and select "Accounts in this organization directory only"
Scroll down and add a redirect URI. Select “Web” in the first dropdown and paste “https://oauth2.na-integrations.proposify.com/callback” into the URL. Next click “Register”
Go to API permissions and click “+Add a permission”
Select Dynamics CRM
Find and select "user_impersonation", then click "Add permissions"
Next, click on "Grant admin consent" and confirm.
Navigate to "Certificates & secrets" and click "+ New client secret"
Set a name, expiration date, and “Add”
Take note of the Value. Copy this and save it for later. You'll need it when connecting to Proposify.
Note: Secret ID is not needed for connecting, only the Value.
Return to the Overview page and take note of the Application (client) ID. Save this as we'll need to use this in Proposify as well to connect.
Add the app as an App User to Dynamics
Log in to Power Platform admin center.
Select Environments and choose your Dynamics Environment.
Find and click on "S2S apps"
Click on "+New app user" at the top of the page.
Click on "+Add an app" and find the app you create in Azure portal (above).
You can search using the name or Application ID you saved earlier.
Select a Business unit, any Security roles you want to give the Proposify Client, and then click "Create"
Controlling what Proposify can see in Dynamics
Proposify can only see the Dynamics records that the connected Microsoft user can see. It follows the same business units and security roles you've already set up in Dynamics, so you control Proposify's access entirely from Dynamics.
This is useful if your company runs several locations, regions or franchises from one Dynamics 365 environment and each location should only work with its own accounts, contacts and opportunities.
To limit Proposify to one business unit:
- Create a restricted security role. In the Power Platform admin center, open your environment, then Settings → Users + permissions → Security roles. Copy an existing role (for example, Salesperson), give it a clear name such as "Canada only," and set Read to Business Unit for Account, Contact and Opportunity.
- Give the business unit's team the same role. Go to Users + permissions → Teams, open the team Dynamics created for that business unit, and under Manage security roles select only the restricted role. Users inherit their team's permissions, so a broader role on the team would let them see other locations' data.
- Set up the user who will connect Proposify. This user needs a Dynamics licence. Move them into the location's business unit (Change business unit), then check that only the restricted role is selected. Changing the business unit can remove or change existing roles.
- Check access in Dynamics first. Sign in to Dynamics as that user in a private browser window, go to Sales → Opportunities, and switch the view to All Opportunities. You should only see that location's records.
- Connect Proposify as that user. When Microsoft asks you to sign in during the connection steps below, sign in as the restricted user, not as an admin. If Microsoft lists your accounts, choose Use another account.
Good to know
- Record owner decides visibility. A record shows in Proposify if it's owned by a user or team in the connected user's business unit. It doesn't matter which account it's linked to.
- Records already imported stay in Proposify. If you first connected as an admin and later reconnect as a restricted user, records synced earlier aren't removed.
- Restrictions apply per Proposify account, not per Proposify user. Everyone in a Proposify account sees what the connected Dynamics user can see. To keep locations separate, each location needs its own Proposify account (workspace), connected with its own restricted Dynamics user.
Connecting in Proposify
Now that you have the Azure app and Application user in your environment, you can head into Proposify to complete the connection.
- Click Connect on the Dynamics Connection card and sign in with the Microsoft user whose access Proposify should have.
- Accept the permissions prompt (the card shows Disconnect once connected).
- Click Connect on the Proposify Connection card and click Next.
- Under "Connection", you'll have 4 settings to fill in for Dynamics:
| Web API URL |
https://my-org.api.crm.dynamics.com/ Replace my-org with the org for your Dynamics instance |
| Scopes |
https://my-org.crm.dynamics.com/user_impersonation offline_access
Replace my-org with the org for your Dynamics instance |
| Client ID | This is the Application (client) ID saved in the previous steps |
| Client Secret | This is the Value saved in the previous steps when creating the Client Secret |
Once all are input, click on Connect for Dynamics and Proposify.