TIBCO Scribe® Online Connector For SugarCRM
Use the TIBCO Scribe® Online Connector for SugarCRM to synchronize data between SugarCRM and other enterprise software. Possible use cases for the SugarCRM Connector include:
- Migrate SugarCRM data into another database, such as SQL, for reporting purposes.
- Migrate Leads from SugarCRM into your marketing software to kick off a campaign.
- Integrate changes into SugarCRM when Leads are modified in your marketing software.
- Query Activities in SugarCRM and integrate them into your marketing software.
Connector Specifications
This Connector supports versions 10 and 11 of the SugarCRM REST API.
Supported | |
---|---|
Agent Types |
|
On Premise | X |
Cloud | X |
Replication Services |
|
Source | |
Target | |
Integration Services |
|
Source | X |
Target | X |
Migration Services |
|
Source | X |
Target | X |
Maps |
|
Integration | X |
Request-Reply | X |
Message |
Note: This Connector is available from the TIBCO Scribe® Online Marketplace. See Marketplace TIBCO Scribe® Certified Connectors for more information.
Setup Considerations
Supported SugarCRM Editions
- Ultimate
- Enterprise
- Professional
Supported SugarCRM Versions
- Sugar On-Site — TIBCO has tested against version 10 of the API and supports SugarCRM version 7.9.
SugarCRM Platform Restriction
Beginning in the SugarCRM Winter ‘18 release, the SugarCRM API is enforcing a rule that all custom platforms must be registered in each SugarCRM instance where the custom platform is used. The TIBCO Scribe® Connector for SugarCRM sends platform=SCRIBE, which must be registered. To add or update platforms via the User Interface, log into SugarCRM and navigate to Admin > Configure Platforms. See the SugarCRM Admin Guide page on Platforms: Configure API Platforms and the SugarCRM Platform Parameter Knowledge Base article.
Note: If SCRIBE is not registered as a platform in your SugarCRM instance, the SugarCRM Connector may not be able to access the SugarCRM API and Solutions using SugarCRM Connections will not execute.
Connection Considerations
TIBCO recommends creating a dedicated SugarCRM user for TIBCO Scribe® Online to use when connecting to SugarCRM.
Important: The SugarCRM Connection fails if any one of the configurations listed below is used. The failures are due to the SugarCRM limitation of only one Connection per user for each SugarCRM company.
The SugarCRM Connection fails if:
- Two Agents in your Organization are using the same SugarCRM Connection at the same time while executing different Solutions. This includes a combination of On-Premise and Cloud Agents.
- Two SugarCRM Connections are configured in your TIBCO Scribe® Online Organization with the same credentials.
- Two TIBCO Scribe® Online Organizations have SugarCRM Connections to the same company in SugarCRM using the same credentials.
Selecting An Agent Type For SugarCRM
Refer to TIBCO Scribe® Online Agents for information on available Agent types and how to select the best Agent for your Solution.
Connecting To SugarCRM
Note: Best practice is to create Connections with credentials that limit permissions in the target system, following the principle of least privilege. Using Administrator level credentials in a Connection provides Administrator level access to the target system for TIBCO Scribe® Online users. Depending on the entities supported, a TIBCO Scribe® Online user could alter user accounts in the target system.
- Select More > Connections from the menu.
- From the Connections page select Add to open the Add a New Connection dialog.
- Select the Connector from
the drop-down list in the Connection Type field, and then enter the following information for this Connection:
- Name — This can be any meaningful name, up to 25 characters.
- Alias — An alias for this Connection name. The alias is generated from the Connection name, and can be up to 25 characters. The Connection alias can include letters, numbers, and underscores. Spaces and special characters are not accepted. You can change the alias. For more information, see Connection Alias.
- URL — URL of your SugarCRM account.
- User — Username for the SugarCRM Admin user created for use with TIBCO Scribe® Online.
- Password — Password for the SugarCRM Admin user created for use with TIBCO Scribe® Online.
- Select Test to ensure that the Agent can connect to your database. Be sure to test the Connection against all Agents that use this Connection. See Testing Connections.
- Select OK/Save to save the Connection.
Metadata Notes
Naming
Connection metadata must have unique entity, relationship, and field names. If your Connection metadata has duplicate names, review the source system to determine if the duplicates can be renamed.
Document Support
Document support to move data into and out of SugarCRM is as follows:
- Source operations are supported for entities that have a File data type property and require support for the following:
- Documents
- DocumentRevisions
- EmbeddedFiles
- Notes
- PdfManger
- Target operations are supported for entities that have a File data type property and require support for the following:
- DocumentRevisions
- EmbeddedFiles
- Notes
Data Types
The SugarCRM Connector supports all data types for standard entities and Custom Objects, except the following types:
- Collection
- Encrypt
- Function
- Json
- Link
- Parent
Float
- Only filtering for whole numbers is supported.
- Filtering using a number with one to four decimals generates errors similar to the following:
ERROR: Exception Type : InvalidExecuteQueryException Message : The following error has occurred in the SugarCRM Connector: Invalid cast from 'DateTime' to 'Single'.
- Filtering using a number with five or more decimals generates the errors similar to the following:
ERROR: Exception Type : FatalErrorException Message : Error: Response status code does not indicate success: 500 (Internal Server Error).. Could not retrieve page of data from: http://qa-sugarcrm79/rest/v10/Accounts?fields=..........filter={"filter":[{"Accounts":{"floatfield5_c":{"%24lte":"1.12345"}}}]}&max_num=1000
MultiSelect
When inserting data into a field that is type MultiSelect, the source data must be an exact match for the selections available in the MultiSelect field in SugarCRM or the source data is ignored. Multiple selections must be separated by a comma and a space in the source data to be inserted into the target MultiSelect field.
Filtering
- Filtering for all items selected in a MultiSelect field is not supported.
- Using multiple filters with AND and OR options is supported.
- For MultiSelect fields where only one item is selected, the following filter option is supported:
- Filter using the Equals operator and the name of the selected item, such as Equals "brown".
- For MultiSelect fields where more than one item is selected, the following filter options are supported:
- Use the Is Like operator with the full name of the first selected item and the % wildcard, such as Is Like "brown%". This option is the equivalent of a Starts With operator and returns any records where the selected item is the first selected item. In this example, the filter returns any records where brown is the first selected item.
- Use the Is Like operator with the full name of any one of the selected items in the field and the % wildcard, such as Is Like %brown%. This option is the equivalent of a Contains operator and returns any records where the item is any one of the selected items. In this example, the filter returns any records containing brown as a selected item regardless of where brown falls in the list.
- Use the Is Like operator with the full name of the last selected item and the % wild card, such as Is Like "%brown. This option is the equivalent of an Ends With operator and returns any records where the selected item is the last selected item. In this example, the filter returns any records where brown is the last selected item.
- Use the Is Not Equal operator with the full name of one of the selected items in the field to return records that do not have that item as the only selected item.
Tag
Tags are user-created keywords to group data.
- One or more Tags can be added to entities that support Tags.
- Once a Tag is added to a record, that same Tag is available to be added to other records.
- Multiple Tags can be assigned to a record.
Filtering
- Not case sensitive.
- Supports filtering for a single Tag within a list of Tags. For example, if an Account record has three Tags, Tag1, Tag2, and Tag 3, filtering for Tag Equals Tag2, returns the Account record correctly.
Creating And Updating
- Inserting or updating a Tag that does not already exist automatically creates the new Tag in SugarCRM.
- Updating a Tag name updates the Tag name for all existing records that currently have that Tag.
SugarCRM Connector As IS/MS Source
Consider the following when using the SugarCRM Connector as an IS/MS source.
Filtering
When a datetime is configured on the Query Block on the Block Properties Net Change Tab to query for new and updated records, that configuration is treated as an additional filter. The Net Change datetime filter is applied as an AND after any other filters specified on the Block Properties Filter Tab. TIBCO Scribe® Online builds a query combining both the Net Change filter and the filters on the Filter tab. See Net Change And Filters for an example.
Some Connectors for TIBCO Scribe® Online only support one filter. For those Connectors you can use either Net Change or one filter on the Filter tab, not both.
Note: The Net Change date is ignored when previewing data on the Preview tab. Filters on the Block Properties Filters tab are used to filter the data on the Preview tab.
Characters
The \ symbol is not supported in filter values. Including the \ symbol generates errors similar to the following;
ERROR: Exception Type : FatalErrorException Message : Error: Response status code does not indicate success: 422 (Unprocessable Entity).. Could not retrieve page of data
Fields
Filtering is not supported for fields that are a related data type in SugarCRM. There are corresponding fields that can be used in filter to retrieve the same records. Review the field descriptions to determine which fields can be used for filtering. For example, the Contacts entity modified_by_name field is data type related and cannot be used as a filter. The description for the modified_by_name field indicates that the modified_user_id field should be used instead.
To view the description of a field, navigate to the Query Block Preview tab and select the Info icon . See Block Properties Preview Tab for additional information.
Entities
Filtering is not supported for Leads, Contacts, Prospects, Users, or Employees when using the following fields:
- name
- full_name
- accept_status_id
- accept_status_name
Note: To filter by name use the first_name and last_name fields instead of the name field.
Operators
- The is not like operator is not supported.
- If the is like operator is used without specifying any wildcards in the filter value, such as the % symbol, the operator is treated as an equals not a contains operator.
Relationships
- Hierarchical relationships, such as grandparent, parent, grandchild relationships are not supported. See Hierarchical Data for examples.
- Many-to-many relationships are supported for the SugarCRM Connector. An example of many-to-many relationships is an Account that is associated with many Contacts and a Contact that is associated with many Accounts.
- Entities with relationships to themselves are supported.
Note: For this Connector, only one level of relationship, Parent/Child, is supported for the entity selected in the Query or Fetch Block. For records with multiple levels of relationships, such as Parent, Child, Grandchild, only the selected Parent entity and related Child entities can be retrieved. Additional levels beneath Child entities, such as Grandchildren, cannot be accessed for this Connector using the Include tab. See Block Properties Include Tab — Relational Data.
Favorite And Following
Favorite and Following values can only be returned for the user configured in the Connection dialog. For example, if user John Doe has marked two Accounts as Favorites or Following, you must use his Username and Password on the Connection dialog in TIBCO Scribe® Online to retrieve that information when querying Accounts.
SugarCRM Connector As IS Target
Consider the following when using the SugarCRM Connector as an IS target.
Update/Insert
The Update/Insert operation is not currently supported and may generate an error if added to a Map. Use the separate Update and Insert Blocks instead.
Batch Processing
When using SugarCRM with Batch processing, SugarCRM allows batches of up to 100 records. If you request processing in batches of 1000, TIBCO Scribe® Online creates 10 batches of 100 records each. See Batch Processing.
Batch Processing And Sugar On-Site
Batch Processing is supported with Sugar On-Site, but requires increasing the timeout settings in Sugar's PHP.ini file, as follows:
- On the server where Sugar On-Site is installed, navigate to the C:/xampp/php directory.
- Using a text editor, open the PHP.ini file.
- Search for max_execution_time.
- Change the setting to the following: =300
- Save the updated PHP.ini file.
If the timeout settings are not increased, and you attempt to use Batch Processing, TIBCO Scribe® Online generates errors similar to the following:
Solution Instance Name: Sugar CRM Beta Testing
Map Name: Insert Accounts
Source Entity: Accounts
Error title: Error in calling Operation Insert
Error description: Operation failed. Label: Insert Accounts, Name: AccountsInsert, Message: Operation failed during execution.
Error detail: Scribe.Core.ConnectorApi.Exceptions.FatalErrorException: Operation failed during execution. ---> System.AggregateException: One or more errors occurred. --->
Notes On Standard Entities
Activity
Filtering is not supported for this entity. All Activities are always returned.
Audit
This entity is not supported.
Calls
The Invitees field is not supported for this entity.
Contacts
Filtering by the following fields is not supported:
- name
- full_name
- accept_status_id
- accept_status_name
To filter by name, use the first_name and last_name fields instead of the name field.
DocumentRevisions
- Must be associated with a Document record, which can be created either through SugarCRM or using a TIBCO Scribe® Online Map.
- DocumentRevision records should not be updated. Instead an new record should be created using the next revision number.
EmailAddresses
Use this entity to update the email opt_out field.
Employees
Filtering by the following fields is not supported:
- name
- full_name
- accept_status_id
- accept_status_name
To filter by name, use the first_name and last_name fields instead of the name field.
KBArticles
This entity is no longer supported by the SugarCRM API. Use the KBContents entity to access KBArticles data.
KBDocuments
This entity is no longer supported by the SugarCRM API.
Leads
Filtering by the following fields is not supported:
- name
- full_name
- accept_status_id
- accept_status_name
To filter by name, use the first_name and last_name fields instead of the name field.
Meetings
The Invitees field is not supported for this entity.
Prospects
Filtering by the following fields is not supported:
- name
- full_name
- accept_status_id
- accept_status_name
To filter by name, use the first_name and last_name fields instead of the name field.
Quotes
When processing Quotes using the SugarCRM Connector there are several requirements that should be taken into consideration as you build your integration. SugarCRM Quotes are more complex than the standard Quote Header and Quote Line Item entities used by many other applications.
Refer to the Creating Quotes With The Connector For SugarCRM Knowledge Base article for detailed information on creating Quotes.
Users
Filtering is not supported for this entity. All users are always returned.
TIBCO Scribe® Online API Considerations
To create Connections with the TIBCO Scribe® Online API, the SugarCRM Connector requires the following information:
Connector Name |
SugarCRM |
Connector ID |
7C20E33D-DC9C-46BF-B406-796069AA486D |
TIBCO Scribe® Online Connection Properties
In addition, this Connector uses the Connection properties shown in the following table.
Note: Connection property names are case-sensitive.
Name | Data Type | Required | Secured | Usage |
---|---|---|---|---|
Url |
string |
Yes |
No |
|
Username |
string |
Yes |
No |
|
Password |
string |
Yes |
Yes |
|
More Information
For additional information on this Connector, refer to the Knowledge Base and Discussions in the TIBCO Community.