Save Your Team Countless Hours. SugarChimp syncs your lists in both directions so you can work in your preferred app. Segment and group your Mailchimp subscribers based on SuiteCRM data so you can market to the right people at the right time. Compatible with all versions of SuiteCRM.
#5902 - Tutorial for on-prem systems
Hi Heidi, we have succesfully installed the addon and first records are being synchronized from Suite to Mailchimp. What does not work: We do not get any info from Mailchimp back to Suite. This is because the CRM is installed on-premise, only available via VPN. The webhook won't work therefore.
Now, we've already found your article to overcome this problem: https://fanaticallabs.zendesk.com/hc/en-us/articles/360022146071-Using-a-Reverse-Proxy-with-SugarChimp
But we need more details/explanations. Can you provide a tutorial for Suite 7.15 (it has these mentioned proxy settings in the system settings page)? What exactly needs to be configured by the network administrators? Do we even need that code snippet?
If it helps: - right now, the crm is only available with basic http:// and an IP address. - internal subdomain (still not public) with https is soon-to-come
Thank you kindly, crms
4 days ago
Thanks for the message. It sounds like you've correctly identified the issue. Since your CRM is on-premise and only accessible via VPN, Mailchimp's webhooks can't reach it. A reverse proxy, using the code snippet from the article, is still the right solution here as it is a publicly accessible server that receives Mailchimp's webhook data and forwards it internally to your CRM instance. Suite 7.15 does include proxy settings under System Settings, but it looks like this setting controls outbound traffic and won't replace the need for this process. Those steps are still required for Mailchimp to send data back into Sugar.
Your network admin will need to: -Deploy the proxy script. Place the PHP proxy script (from the article) on a publicly accessible web server. This cannot be the CRM server itself, since it must be reachable from the internet. In the script, update $sugar_url to your CRM's internal address. -Update your Mailchimp webhooks. For each synced Mailchimp audience, update the webhook URL to point to your new public proxy script. The format for the webhook is also provided in the article referenced. -Update the 'reverse_proxy' config in your CRM's database. This will tell SugarChimp to route Mailchimp webhook traffic through the proxy to reach your CRM.
You should be able to get this working now using the http:// + your current subdomain temporarily. Once your internal HTTPS subdomain is live and publicly accessible, you can update the $sugar_url value in the proxy script to use that URL instead.
Let me know if you have any trouble along the way.
4 days ago
Thanks for the message. It sounds like you've correctly identified the issue. Since your CRM is on-premise and only accessible via VPN, Mailchimp's webhooks can't reach it. A reverse proxy, using the code snippet from the article, is still the right solution here as it is a publicly accessible server that receives Mailchimp's webhook data and forwards it internally to your CRM instance. Suite 7.15 does include proxy settings under System Settings, but it looks like this setting controls outbound traffic and won't replace the need for this process. Those steps are still required for Mailchimp to send data back into Sugar.
Your network admin will need to:
You should be able to get this working now using the http:// + your current subdomain temporarily. Once your internal HTTPS subdomain is live and publicly accessible, you can update the $sugar_url value in the proxy script to use that URL instead.
Let me know if you have any trouble along the way.
Best, Heidi
3 days ago
Hi, still, I personally do not understand which parameters are involved and what needs to configured for what purpose.
In Step 1: Within the linked script, $sugar_url contains the local address of the CRM, so in our case the current and local IP like for example "http://10.10.0.1/index.php"? The script itself should be hosted on a server that is available from mailchimp servers and can connect to the CRM (classic DMZ)?
In Step 2: There is a link that should explain something about webhook configurations in mailchimp, but the link doesnt work ("Add this script as a new webhook for each list that syncs to your CRM"). Assumption: Somewhere in Mailchimp we need to set a link per list that points to the php file storing the above script, and add the suffix "?module=SugarChimp&entryPoint=SugarChimpWebhook" to that URL?
In Step 3: "Even if your instance is publicly available via reverse proxy": By "reverse proxy", you refer to that same php-script-file?
Secondly, the query contains "https://your-CRM-endpoint", what url is that? The full URL like https://our.dmz.server.tld/script.php?module=SugarChimp&entryPoint=SugarChimpWebhook or just https://our.dmz.server.tld/script.php ?
3 days ago
Happy to help.
In Step 1: The PHP script itself will need to be hosted on a server that is reachable from Mailchimp. And yes, the $sugar_url will contain the local address of the CRM. So here, the
$sugar_urlshould be set:http://10.10.0.1/index.php.In Step 2: In Mailchimp, for each list that syncs to your CRM, you will configure a webhook URL that points to the public URL of the PHP script in step 1. The full webhook URL will look something like:
https://our.dmz.server.tld/script.php?module=SugarChimp&entryPoint=SugarChimpWebhookThe steps to create the webhook can be found here: https://mailchimp.com/developer/marketing/guides/sync-audience-data-webhooks/#create-a-new-webhook. You'll want to add a webhook for each of the lists you're syncing.
In Step 3, reverse proxy does refer to the same public script mentioned. This is acting as the proxy between Mailchimp and your CRM. Updating this tells SugarChimp that webhook traffic is coming through that proxy URL so it can handle the requests properly. So in the query example,
https://your-CRM-endpointshould be the base URL of that proxy script, without the query string. Using your example:• Mailchimp webhook would look like (this points to the server that is accessible to the public):
https://our.dmz.server.tld/script.php?module=SugarChimp&entryPoint=SugarChimpWebhook•reverse_proxyconfig value in the database would be:https://our.dmz.server.tld/script.phpFor this step, prior to running the query, you'll want to first see if you have the reverse_proxy config. If you do, you can just update the config to the value above. If you don't, you'll want to use the INSERT query in the support article.
Once that is set up, you should see campaign activity for new campaigns sync back to the CRM.
Best, Heidi
a day ago
Hi Heidi, thank you very much for your detailed responses to our points. We are currently waiting for the DMZ server and will get back to you as soon as we have test results.
Best regards