Connections: Difference between revisions
No edit summary |
No edit summary |
||
| Line 100: | Line 100: | ||
<rule name="AddCrossDomainHeader"> | <rule name="AddCrossDomainHeader"> | ||
<match serverVariable="RESPONSE_Access_Control_Allow_Origin" pattern=".*" /> | <match serverVariable="RESPONSE_Access_Control_Allow_Origin" pattern=".*" /> | ||
<conditions logicalGrouping="MatchAll"> | |||
<add input="{HTTP_ORIGIN}" | |||
pattern="^(capacitor://localhost|https?://localhost(:\d+)?|https?://(.+\.)?crmtogether\.com|https?://(.+\.)?msappproxy\.net|https?://(.+\.)?mail\.google\.com)$" /> | |||
</conditions> | |||
<action type="Rewrite" value="{HTTP_ORIGIN}" /> | <action type="Rewrite" value="{HTTP_ORIGIN}" /> | ||
</rule> | </rule> | ||
Revision as of 09:05, 7 September 2026
This page is to help you set up your Sage CRM connection
When you first open the app it will prompt you to create a connection.
Note: If running on the Office 365 add-in your CRM needs to be accessible from the internet and runs on https:// (SSL)
EG
https://crm.yourdomain.com/crm
Click the PLUS (+) button and you will see a dialog
1. Enter in your CRM url in one fo the formats
* https://crm.yourserver.com/CRM/ * http://yourserver/CRM/
2. CRM Username
3. CRM User password
4. Remember me (stores the password)
5. Connection name - Internal name
6. Connection Caption - The text you see in the screen
7. Enabled - Tab is not shown if not enabled
8. Connect - Tries to login and saves the connection details
=
Troubleshoot
Help ref# 77342
If you get a CORS issue like the image below
It could be an issue with your web.config in that it is missing the CORS xml code
On your CRM server open "custompages/sagecrmws/web.config" and search for the "<system.webServer>" section.
You should see a number of "Access-Control-Allow-..." options within the "<system.webServer>" section.
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,PATCH,OPTIONS" />
<add name="Access-Control-Allow-Credentials" value="true" />
<add name="Access-Control-Allow-Private-Network" value="true" />
</customHeaders>
</httpProtocol>
....leave any code in between thats there already...and do not copy this line in :)
</system.webServer>
If you do see it check that
"Access-Control-Allow-Headers"
has the value
"Content-type, App-Mode, App-Capacitor-Platform, App-Connector, App-Container, App-version, Authorization"
set
If you do not see it then add it in.
Add in the section
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-type, App-Mode, App-Capacitor-Platform, App-Connector, App-Container, App-version, Authorization" />
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,PATCH,OPTIONS" />
<add name="Access-Control-Allow-Credentials" value="true" />
<add name="Access-Control-Allow-Private-Network" value="true" />
</customHeaders>
</httpProtocol>
between
<system.webServer>
and
</system.webServer>
then after </httpProtocol> (THIS IS THE CLOSING TAG AND NOT THE OPENING ONE)add in
<rewrite>
<outboundRules>
<clear />
<rule name="AddCrossDomainHeader"> <match serverVariable="RESPONSE_Access_Control_Allow_Origin" pattern=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_ORIGIN}"
pattern="^(capacitor://localhost|https?://localhost(:\d+)?|https?://(.+\.)?crmtogether\.com|https?://(.+\.)?msappproxy\.net|https?://(.+\.)?mail\.google\.com)$" />
</conditions>
<action type="Rewrite" value="{HTTP_ORIGIN}" /> </rule>
</outboundRules> </rewrite>
No need to restart IIS or anything. Just save the file.
- UPDATE: 2 July 2026 ***
Changed the pattern to fix Native Android
- UPDATE: 17 March 2024 ***
It appears that a wildcard header in the “Access-Control-Allow-Origin” header is no longer accepted. This causes a CORS issue and you cannot log in. We fixed this using the details above


