Connections: Difference between revisions

From Accelerator for SageCRM
No edit summary
No edit summary
 
(28 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''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.
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


[[File:ac_connection1.png]]
[[File:ac_connection1.png]]


Click the PlUS button and you will see a dialg
Click the PLUS (+) button and you will see a dialog


[[File:ac_connection2.png]]
[[File:ac_connection2.png]]
Line 26: Line 34:


8. Connect - Tries to login and saves the connection details
8. Connect - Tries to login and saves the connection details
=====
'''Troubleshoot'''
Help ref# 77342
If you get a CORS issue like the image below
[[File:ac_corsissue.png]]
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, X-MS-Proxy"
set
'''If you do not see it then add it in. '''
Add in the section (OR UPDATE IT)
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Headers" value="Content-type, App-Mode, App-Capacitor-Platform, App-Connector, App-Container, App-version, Authorization, X-MS-Proxy" />
        <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" />
        <add name="Vary" value="Origin" />
      </customHeaders>
    </httpProtocol>
between
  <system.webServer>
and
  </system.webServer>
then after </httpProtocol> (THIS IS THE CLOSING TAG AND NOT THE OPENING ONE)add in
<pre>
<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>
</pre>
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

Latest revision as of 09:58, 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, X-MS-Proxy" 

set

If you do not see it then add it in.

Add in the section (OR UPDATE IT)

   <httpProtocol>
     <customHeaders>
       <add name="Access-Control-Allow-Headers" value="Content-type, App-Mode, App-Capacitor-Platform, App-Connector, App-Container, App-version, Authorization, X-MS-Proxy" />
       <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" />
       <add name="Vary" value="Origin" />
     </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