Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


HTML
<style>
.release-box {
	height: 30px; 
	width: 100px; 
	padding-top: 8px;
	text-align: center; 
	border-radius: 5px; 
	font-weight: bold; 
	background-color: #8efeb3;  
	border-color: #FCE28A;
}

.release-box:hover {
  	cursor: hand;
    cursor: pointer;
    opacity: .9; 
}
</style>
<meta name="robots" content="noindex">

<div class="release-box">
<a href="https://docs.perspectium.com/display/krypton" style="text-decoration: none; color: #FFFFFF; display: block;">
Krypton
</a>
</div>



General Issues


Divbox
ui-expand
titleWhy can't I save my Perspectium Properties?


Divbox

When configuring your Perspectium Properties for Salesforce, you may run into an issue where you are unable to save your properties. There are various possibilities that may be causing this issue.

Refer to the potential solutions below: 


Check your credentials 

  • Ensure that your password is correct for the user being used. 
  • Ensure that the entered security token belongs to the user being used. 

Check your Consumer Key and/or Consumer Secret

Ensure that the Salesforce Consumer Key and/or Salesforce Consumer Secret you are inputting do not contain white spaces. It is recommended to paste your keys to a text editor to ensure there are no white space. 

OAuth Endpoint 

OAuth Endpoint may vary depending on your environment. Here are the three OAuth Endpoints to try: 

  1. https://login.salesforce.com/services/oauth2/token
  2. https://<YOUR_SALESFORCE_ORG_HERE>.salesforce.com/services/oauth2/token (i.e., https://na112.salesforce.com/services/oauth2/token)
  3. https://test.salesforce.com/services/oauth2/token (ONLY for Sandbox org) 

Whitelist IP range

Divbox
stylebackground:white


UI Steps
sizesmall


UI Step

In your Salesforce, go to Setup on the top-right corner of the page. 


UI Step

Go to Administer > Security Controls > Network Access, or simply type Network Access in the Quick Find / Search bar and click Network Access.


UI Step

Click New. Then, fill in the required fields, Start IP Address and End IP Address, and click Save.








Divbox
ui-expand
titleWhy isn't my data being shared out after manually modifying my sharing Apex trigger?


Divbox


After modifying a Salesforce Apex trigger, there are several points you should check to ensure that data will be shared out of Salesforce properly:

UI Steps


UI Step

Check that your Queue ID (2nd parameter in the pspOutMessage function) matches the Queue ID for the shared queue you created in Salesforce.

To locate the Queue ID for your shared queue in Salesforce Lightning, navigate to Image Modified > Perspectium

Replicator

DataSync > Queues. Then, click the Queue Name of the shared queue whose ID you want to locate. On the resulting page, the shared queue's Queue ID will be the alphanumeric code displayed in the page URL immediately following /persp__PSPQueue__c/ and preceding /view.

Image Removed


To locate the Queue ID for your shared queue in Salesforce Classic, choose Perspectium

Replicator

DataSync from the dropdown in the uppermost right-hand corner of the screen. Then, click Queues and click the Queue Name of the shared queue whose ID you want to locate. On the resulting page, the shared queue's Queue ID will be the alphanumeric code displayed in the page URL immediately following /PSPQueue?id= and preceding &.

Image Removed


(info) NOTE: The Queue ID in Salesforce Lightning will be an 18-character code, while the Queue ID in Salesforce Classic will be a 15-character code.


UI Step

Check that your triggerWhere variable's value is set to the correct Base64 encoded SOQL query. To Base64 encode/decode your SOQL query, see Base64 Decode and Encode.


UI Step

If using a Queue Alias, check that the Queue Alias (2nd-to-last parameter in the pspOutMessage function) matches the Queue ID for the shared queue you created in Salesforce.

Image Modified

Image Modified






UI Expand
titleSObject type does not allow triggers


Divboxexpand
style
titleWhy are my dynamic/bulk shares running so slowly?

If you are seeing that you are not sending data out of your instance as fast as you would like, check the following information:

  • Is the count of my Outbound Messages [psp_out_message] consistently very high (+250k Ready Message)?

  • Is my property for maximum bytes per post too low (should be in the 5 MB to 10 MB range)?

  • Is my property for max record per post too low (should be around 2000-4000 records)?

  • How often is my Perspectium MultiOutput Processing job running (default to 30 seconds)?

Known Issues 

background: white

When creating a new dynamic share and selecting Save Trigger, you may get the following error:

Code Block
Failed to create Dynamic Share trigger [PSP_test_CaseHistoryTrigger]: Status Code[400] Body: [{"message":"SObject type does not allow triggers: CaseHistory","errorCode":"INVALID_FIELD_FOR_INSERT_UPDATE","fields":[]}]


This happens because Salesforce doesn't allow you to create triggers on every table (SObject). For these tables, you will want to use the bulk share option instead.




ui-
Divbox
Expand
titleWhy doesn't the Perspectium Job in Salesforce continuously run?


Divbox
As of the Gold Release for DataSync for Salesforce, there is a known issue where the Perspectium Job in Salesforce continuously runs.

A workaround to this issue is to leave the Description field blank when you create a Perspectium Job. Doing so will populate the Description field with the last scheduled run time. 





FAQs

Divbox
ui-expand
titleHow can I increase the max number of Apex jobs that will run in my Salesforce org?


Divbox

If the number of Apex jobs scheduled in your Salesforce org exceeds the maximum number of allowed jobs, then those additional jobs that exceed the maximum will not run. The default value for the max Apex jobs in your Salesforce org is set to 5. This value is set in order to prevent Apex jobs from impacting the overall performance of your org. To change your max number of Apex jobs, navigate to Setup > Custom Settings > Manage ReplicatorJobSettings > Edit.

For more information on Salesforce Apex job maximums and intervals, see change Salesforce job intervals.

 




Which Replicator for ServiceNow version

The role perspectium_readonly can be assigned to any users accessing your ServiceNow instance. Assigning the perspectium_readonly role will restrict Perspectium Replicator for ServiceNow functionality so that users cannot delete, modify, or create new records for the following:

  • Shared/Subscribed Queues

  • Bulk/Scheduled Bulk/Dynamic Shares

  • Table/Transform Maps

  • Perspectium Properties

To assign the perspectium_readonly role to a user in your ServiceNow instance, follow these steps:

  • Log into your ServiceNow instance as a System Administrator.

  • In the top left navigation window, type User Administration and then navigate to User Administration > Users

  • Click into the user whose role you want to change. Then, scroll down to the bottom of the User form and click the Edit button under the Roles tab.

  • In the left side search window under Collection, type perspectium_readonly. Then, select the perspectium_readonly role and move it to the Roles List by clicking >. Finally, click Save.


    ui-
    Show If
    special@authenticated
    Divbox
    Expand
    title
    What verison of DataSync for Salesforce am I running?


    using?
    Divbox

    Go to the Properties tab and in the top right corner of the page you will see the version of Perspectium DataSync application you are running.

    In the ServiceNow navigation bar, navigate to Perspectium > Control and Configuration > Properties. This will open up the Perspectium Properties page. Scroll to the bottom of this page to find your current Perspectium Update Set Version.

    Divbox
    Expand
    titleHow do I share HTML fields?

    For tables that have HTML fields, such as the Knowledge (kb_knowledge) table and its text field, use the encrypted_multibyte encryption mode to ensure the HTML fields are sent out properly.

    Divbox
    Expand
    titleCan I limit access to certain features in Replicator for ServiceNow?




    Other Tips


    UI Expand
    title401 session expired or invalid


    Divbox
    stylebackground: white

    If you are trying to save properties and you receive the error Status Code[401] Body: [{“message”:“Session expired or invalid”,“errorCode”:“INVALID_SESSION_ID”}], try generating a new security token. Make sure that you are not changing the consumer key.



    UI Expand
    titleSalesforce errors when subscribing to records from ServiceNow


    Divbox
    stylebackground: white
    • Check that the dynamic or bulk share configuration in ServiceNow for sharing out records uses AES128 as the cipher.

    • Check that the [snc_table_mapstable map used specifies JSON as the format table map in ServiceNow specifies JSON as the format.



    UI Expand
    titleThe value provided for foreign key reference <field_name> is not a nested SObject


    Divbox
    stylebackground: white

    You may get this error related if you are replicating a record to Salesforce and your record includes a reference field to another table.

    For example, if you have a Case record and are referencing the Account field, your JSON may look like this:


    Code Block
    {"Subject":"Test""Id":"00000000000001","Description":"Test","attributes":{"type":"Case"},
    "Account":"20000000000002"}


    And you may get this error:

    Code Block
    The value provided for foreign key reference Account is not a nested SObject


    In this case, because your reference field (Account) is referencing another table and you're passing the Id value of a record into that table, you would want to use the field name with “Id” appended to the end, i.e. AccountId, like so:

    Code Block
    {"Subject":"Test","Id":"00000000000001","Description":"Test","attributes":{"type":"Case"},
    "AccountId":"20000000000002"}

    Custom fields

    And what about for custom fields? Set the Id value to the API Name of the field - it will need to use the 18 character (not 15) Id value. For example:




    UI Expand
    titleCannot deserialize instance of datetime from VALUE_STRING (JSON_PARSER_ERROR)


    Divbox
    stylebackground: white

    When replicating records into Salesforce, you may get this error as datetime fields may require values in the IS0 8601 format. Depending on the formatter set with your datetime field (check with your Salesforce administrator), this would be in the format 2007-04-05T14:30:12.000Z or 2007-04-05T12:30:12-02:00.

    For example:

    Code Block
    "SystemModstamp":"2017-12-08T06:41:13.000Z"


    Code Block
    "Arrival":"2017-12-08T00:41-0600"




    UI Expand
    titleCreatedById and LastModifiedById User


    Divbox
    stylebackground: white

    By default, records modified by the Salesforce application will show the user who started the Perspectium Replicator Subscriber job in the created by and last modified by fields.

    If you want to change this user in order to reflect the actual user, you can pass in ID values for the CreatedById and LastModifiedById fields. To do so, you need to enable Create Audit Fields.

    Once enabled, you'll be able to set these fields when creating new records. Since these fields are intended to be audit fields, you will only be able to set them on create, not update. If the records already exist in Salesforce, they will need to be exported to a .csv file, deleted in Salesforce, and then imported with the updated information as new records.






    Can't find what you're looking for?  

    See the FAQ or browse the Perspectium Community Forum.