SugarCRM is a CRM system with a a simple user interface, industry-leading customer experience, and an intuitive customization platform.
This is an open source component template for Sugar CRM which is developed specifically to run on elastic.io platform. You can clone it and change it as you wish.
In order for the elastic.io platform to authenticate with SugarCRM, the following tasks need to be completed:
- An admin must manually create an OAuth App on the SugarCRM instance through SugarCRM's UI (step by step instructions below)
- If using a version of SugarCRM that was released after Winter '18, you must
register a platform on your SugarCRM
instance
- With Sugar 8, this can be done through the UI (step by step instructions below)
- It is also possible to load new platform values by creating and installing a module
- Finally, authentication information for your Sugar instance must be entered into the elastic.io UI (step by step instructions below)
In order the platform to connect to your SugarCRM instance, an app needs to be created on that instance. Below are the steps to do so. Once that is done, you will provide a valid username and password to the elastic.io platform. The platform will exchange that username and password for a token. In a production system, the best practice is to create a dedicated user for the elastic.io platform. This user should have the minimum required permissions.
-
As an admin on your SugarCRM instance, go to the Administration panel
-
Select OAuth Keys
-
In the top bar, select the dropdown for the now visible OAuth Keys option
-
Select Create OAuth Key
-
Fill in the following values:
- Consumer Key Name: Pick a name that is convenient to remember
- Consumer Key: Pick a strongly random string. You will need to provide this information as part of the SugarCRM component account information
- Consumer Secret: Pick a strongly random string. You will need to provide this information as part of the SugarCRM component account information
- OAuth Version: OAuth 2.0
- Client Type: Sugar User
- Description: Optional value for your convenience
-
Click Save
-
As an admin on your SugarCRM instance, go to the Administration panel
-
Select Configure API Platforms
-
Enter a value of your choosing for the new platform and click Add and then Save.
Fill in the following for your account:
- Name Your Account: Name to identify this account on elastic.io
- Your SugarCRM domain: URL of your Sugar CRM instance
- Your login: Username used to login to SugarCRM instance
- Your password: Password used to login to SugarCRM instance
- Your OAuth 2.0 Consumer Key: Value created in step 5ii.
- Your OAuth 2.0 Consumer Secret: Value created in step 5iii.
- Custom Platform Value: Platform value registered above.
For real-time tasks please use separate oauth keys to avoid login conflicts.
Parameter platform should be set to some custom string but should be unique per sugar component in order to avoid any potential login conflicts.
So now platform is "$TASK_ID:$STEP_ID".
It is possible to fetch any type newly created and/or updated object in your SugarCRM instance. Select the trigger Fetch new and updated objects and then configure the following:
- SugarCRM module to fetch: Type of object to fetch
- Number of records to fetch: Maximum number of records to fetch per call. If left blank then the default set on your SugarCRM instance.
It is possible to have new and updated objects be pushed to the elastic.io platform via webhooks. In order to do so, select Fetch new and updated objects (getObjects - Webhook). When a flow with this trigger is started, the elastic.io platform will register webhooks on the SugarCRM instance. When the flow is stopped, this webhook will be destroyed by the platform.
It is possible to have the ids of deleted objects be pushed to the elastic.io platform via webhooks. In order to do so, select Fetch deleted objects (getDeletedObjects - Webhook). When a flow with this trigger is started, the elastic.io platform will register webhooks on the SugarCRM instance. When the flow is stopped, this webhook will be destroyed by the platform.
Given an object, looks up the object with that ID. You must select the type of object to lookup.
Given an object, deletes the object with that ID. You must select the type of object to lookup.
Update an existing entry if the id provided. Otherwise create a new entry. You must select the type of object to lookup.
For the local testing (e.g. spec-integration) ELASTICIO_TASK_ID and ELASTICIO_STEP_ID envs should be provided.
This component interacts with version 10 of the SugarCRM REST API. It has been
tested with SugarCRM Enterprise, Version 7.9.1.0 (Build 1074) and SugarCRM Enterprise, Version 8.0.0 (Build 211) (Spring '18).
Apache-2.0 © elastic.io GmbH







