---
title: "Optional features for dynamic share"
canonical: "https://docs.perspectium.com/space/Iodine/1704307/Optional%20features%20for%20dynamic%20share"
format: markdown
---
Once you have  installed and configured DataSync for ServiceNow , and have successfully  set up a dynamic share  and understand how it works, there are various optional dynamic share settings that you can configure. These optional features can help you customize your DataSync experience and leverage DataSync's robust capabilities to make your organization's integration processes more powerful and streamlined. Explore all of these available features below!  Data Alignment Data Alignment   provides conflict avoidance to minimize the possibility of records becoming out of sync. For example, Instance A updates a record at the same time Instance B updates the same record—you now have the risk of conflicting records.  Data Alignment (using dynamic share), is designed to minimize that risk.  There are two connected features to achieve data alignment (enable them in the following order): Immediately post dynamic share outbound messages This feature is enabled in the queue record. If a dynamic share is targeting a queue that has this property enabled, it will cause their messages to be posted immediately, rather than waiting to have the multioutput processor post these messages on a scheduled basis. If the outbound message is unable to be posted immediately, it will be put into the  ready  state and then sent along with other outbound messages during the next execution of the multioutput processor job. Here's how to enable the post immediately feature in a dynamic share: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and select the dynamic share for which you want to enable the feature. Under  General Settings , next to the  Target queue , click the   icon to preview the record. Then, in the resulting  Queues  window, click  Open Record .  In the record's page, check the  Post Immediately  box. ↑ Go to top of page Skip delayed updates Using polling intervals for publish/subscribe messaging creates a potential issue for records to become out of sync if they are updated at the same time. By posting outbound messages immediately, the time frame for this issue is decreased. To further mitigate this potential issue from occurring, the subscribing system will check if the local record has been updated more recently when receiving an update. If so, the update is ignored.  In order to enable this feature, you need to create a  create a subscribe record  and enable the post immediately feature outlined in the previous section. Then, follow these instructions to ignore delayed updates: In your ServiceNow instance, enter  u_psp_properties.list   in the  Filter navigator  on the left. On the resulting  PSP Properties  page, under the  Name  column, enter  com.perspectium.skip_delayed_updates  in the search bar. Click the name of the property. On the resulting property page, in the  Value  field, enter   true . Click  Update . (Optional!)  You can also choose to skip delayed target field updates.  This will only work if the table being shared is audited since this will check if the target field has been updated more recently than the subscribed update. To enable this, return to step 2, and  search for  com.perspectium.skip_delayed_field_updates .  Click the property and set  Value  to  true.  Then, click  update .   I t is best not to enable this property if there are high volume dynamic shares, as this may impact performance. ↑ Go to top of page Scheduled sync up This feature sets up a recurring “catch up” job that incrementally bulk shares out a previous interval of created, updated, or deleted records. Enable this option to capture dynamic record  creates,  updates,  or  deletes  that may have been missed (if business rules are bypassed programmatically (e.g., via  setWorkflow('false'); ) or automation does not trigger business rules). A scheduled sync up can be run with or without trigger conditions set up on your dynamic share. If your dynamic share has trigger conditions, records will be shared both out in real time and on the scheduled interval you select. If your dynamic share does not have trigger conditions, records will be shared out on the scheduled interval only. Scheduled sync up uses the  sys_created_on  and  sys_updated_on   column. This column should be indexed for best performance with scheduled sync up. Find more information on indexing columns  here. If you want to capture deletes,  verify  that the  Delete Recovery  plugin is activated. Any dynamic share features that depend on  business rule variables  (such as  current  and  previous)  will not work in a Scheduled sync up. This includes features such as  Before share script ,  Business rule timing/order ,  Share or ignore on specified field updates , etc. Scheduled sync up runs a scheduled job in the background (that is, they are not triggered to run due to a business rule) and as a result do not have access to business rule variables.  Here's how to enable the feature: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to configure a scheduled sync up for. In the resulting dynamic share page, click the  Scheduled Sync Up  tab. To capture only  creates  and  updates , check the  Activate sync  box. To capture only  deletes , check the  Activate delete sync  box. To capture all  creates ,  updates , and  deletes , check both boxes. (Optional) Use the  Run as  field to find and select another user to run the sync as another user. From the  Interval  dropdown, select the interval at which you want to run the sync up—this interval indicates how frequently a bulk "catch up" share will run for this dynamic share. Click  Update .  ↑ Go to top of page Configure business rule timing and order This feature allows you to specify when  business rules  should run for  dynamic shares . Dynamic shares can replicate data  before  an action is taken on the record or  after  an action is taken. These  before  and  after  values can be specified in the  Business Rule When  dropdown of a dynamic share. Business Rule Before Dynamic sharing  a record using the  before  option allows you to share the record with journal fields as part of the record's XML. For example, if you share an incident record and specify “before”, the record will come with both the comments and work notes in the incident record's XML. Additionally, using the  before  option will cause the record to be shared before any  after  business rules are run. For example, if you have an  after  business rule that runs to update the record's state based on a specific condition, the  after  option will share the record out with the updated state, whereas the  before  option will share it with the previous state. Business Rule After If you dynamic share a record using the  after  option, the comments and work notes will not be part of the record's XML but instead will be records in the sys_journal_field table (upon saving a record into the database, ServiceNow will separate journal fields from the record and save them into the  sys_journal_field  and  sys_audit  tables which is why you want to subscribe to the  sys_journal_field  and  sys_audit  tables when subscribing on a ServiceNow instance). Business Rule Async   NOTE:  In Iodine 7.0.9 , support has been added for the new  async_always   option available with Rome+ and the legacy (deprecated)  async  option has been removed when creating new dynamic shares.  If you have a current dynamic share set with the legacy  async  business rule when, this will not be changed to the new  async_always  so as to not disrupt your current active dynamic shares and since the legacy option continues to work. You can edit your current dynamic share and choose the new async_always option to upgrade to the new option. When running as  async , records will be sent out as  .bulk , since the records are shared in the background and we will not be able to determine if the record was an insert or update at that point. Also, there is no dependency on “current” or “previous” in the Before Share script (such as checking for a condition where a field “changes”) and the “sequence” of other records being replicated cannot be guaranteed. So a change created when an incident is created where both have dynamic shares may result in the change being shared out before the incident is). Selecting the  async  option will cause the trigger condition  Update or Insert  to be activated and the  Delete  trigger condition to be deactivated. Here's how to configure business rule timing for a dynamic share: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to configure business rule timing for. In the resulting dynamic share page, under  General Settings , select your choice from the  Business Rule When  dropdown. Click  Update .  ↑ Go to top of page Dynamic share on non-interactive updates By default, dynamic shares have a setting that causes data to be shared out only when interactive actions are performed (for example, if a user comments on or resolves an incident), and not when non-interactive actions occur (for example, if a ServiceNow job closes resolved incidents after 7 days or an email engine creates records).  If you want to enable dynamic sharing of non-interactive updates, here's how: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to share non-interactive updates for. In the resulting dynamic share page, in the  Runtime Settings  tab, under  Triggers , uncheck the  Interactive only  box. Click  Update .  ↑ Go to top of page Share historical data Historical data fields  refer to fields that were created or updated prior to running your initial dynamic share. You can use this feature to  allow for the sharing of the following historical data fields to other ServiceNow instances: Journal fields (work notes and comments) Attachments Audit logs Here'w how: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to share historical for. In the resulting dynamic share page, in the  Runtime Settings  tab, under  Additional Records , check the  Share historical data  box. Click  Update .  ↑ Go to top of page Share only updated fields on updated records This feature allows you to dynamic share only the fields of a record that have been updated, instead of resending the entire record. This can be useful when your sharing instance is updated frequently and your subscribing instance(s) is relatively static. Here's how: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to share only updated fields for. In the resulting dynamic share page, in the  Data Enrichment  tab, check the  Share only updated fields  box. (Optional) Check the  Share system fields  box to share out the following fields along with the updated fields in the same outbound message: sys_created_by sys_created_on sys_mod_count sys_updated_by sys_updated_on You can also use the  Select  ID dropdown  to choose an ID field that will always be dynamic shared out along with your updated field(s). If you don't choose a field from this dropdown, the default ID field that will be dynamic shared out is  sys_id . Click  Update . MySQL error may occur when using   Share system fields . When that error is received on the agent, the database will still recover and save the record. However, each record that follows will replace one another   since the primary key is altered and not defined .  ↑ Go to top of page Share ServiceNow attachments with specified file extensions This feature allows you share  only specific  attachment file types (such as .xlsx, .jpg, .csv). If you want to share  all  attachments with your dynamic share, see  ServiceNow attachments . Here's how to enable the sharing of specific attachments only: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to enable this feature on. On the resulting dynamic share page, in the  Miscellaneous  tab, check the  Advanced  box. This will cause an  Advanced  tab to appear. In the new  Advanced  tab, under the  Runtime Settings  section, use the  Share attachments with these file extensions only  field to list your desired file extensions. Your list of extensions must be separated by commas and include no dots or spaces.  Click  Update .  ↑ Go to top of page Share previously uploaded ServiceNow attachments This feature allows you to share out attachments that were updated before your dynamic share was created. You will likely want to use this feature if you have already set up your dynamic share to  share out all existing ServiceNow attachments , but also want to share out any previously uploaded attachments. Here's how: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to enable this feature on. On the resulting dynamic share page, in the  Miscellaneous  tab, check the  Advanced  box. This will cause an  Advanced  tab to appear. In the new  Advanced  tab, under the  Runtime Settings  section, check the  Share pending attachments  box. Click  Update .  ↑ Go to top of page View business rules before a dynamic share runs This feature allows you to view any business rules that may have an impact on the dynamic share actions that occur (inserts, updates, and/or deletes). This is useful to view since  the business rules that run before a dynamic share is executed often have an impact on the order of dynamic share execution. Here's how to view: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to view business rules for. At the bottom of the dynamic share form, under  Related Links , click  View Business Rules Before This Share . You will automatically be redirected to a list of   Business Rules   that will run before dynamic share actions occur. ↑ Go to top of page View dynamic share domain On   domain-separated ServiceNow instances , dynamic shares are defined in   ServiceNow's domain picker , and data will only be dynamic shared within that selected domain. Here's how to view the domain for a dynamic share's business rules: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to view the domain for. On the resulting dynamic share page, in the  Overview  tab, you can see the domain for your dynamic share's business rules next to the  Application  field.  ↑ Go to top of page Use audit delete listener If your ServiceNow instance is on  Washington DC  or a newer version ,   you will need to create the  glide.db.audit.lazy  system property in your instance and set the value to  true  for this feature to work properly. With  Washington DC,  ServiceNow has disabled running business rules on the  sys_audit_delete  table for actions on this table that happen in the background (i.e. deleting records from an audited table such as the incident table and having it captured in the sys_audit_delete table). So this  system property  is needed in order for the  Use audit delete listener  feature to work properly. Click  here  for ServiceNow's documentation on this property. If you're using dynamic share on  deletes , this feature ensures that records which may have bypassed the ordinary  delete  business rule are included in your dynamic share.  You need  an   admin role   to enable this feature. The table you will select for your dynamic share must have  auditing  turned on—the feature  will not appear otherwise.  Delete   business rules are often bypassed if a business rule that calls  setWorkflow('false')   or   cascade deletes   runs. Here's how to use the audit delete listener: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to use the audit delete listener for. On the resulting dynamic share page, under  General Settings , check the  Delete  box.  Then, in the  Runtime Settings  tab, under  Triggers , check the  Use delete recovery listener  box (it will only appear if you check the  Delete  box in step 3. ↑ Go to top of page Use delete recovery listener If choosing to dynamic share on  deletes , you may want to enable the  Use Delete Recovery Listener   feature. This feature will ensure that records that may have bypassed the ordinary  delete   business rule are included in your dynamic share.  Unlike the   Use   Audit Delete Listener  feature, this option will always appear regardless of the table being audited or not. You need  an   admin role   to enable this feature. Delete   business rules are often bypassed if a business rule that calls  setWorkflow('false')   or   cascade deletes   runs. Verify  that the   Delete Recovery   plugin is activated.  Here's how to use the delete recovery listener: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to use the delete recovery listener for. On the resulting dynamic share page, under  General Settings , check the  Delete  box.  Then, in the  Runtime Settings  tab, under  Triggers , check the  Use audit delete listener  box (it will only appear if you check the  Delete  box in step 3. ↑ Go to top of page Share or ignore on specified field updates These features allow you to either enable or disable dynamic share of your records when specific fields are updated. Here's how: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to choose field/column updates to ignore or share on. On the resulting dynamic share page, in the  Runtime Settings  tab, under  Triggers ,  check the   Select column updates to share on   or the   Select column updates to ignore   box. At the bottom of the page, click the   Updated Columns to Ignore or Share On   tab, and then click  New . If using Google Chrome, you may see a popup asking if you want to leave the site—click  Leave . On the resulting page, from  the  Column Name  dropdown,  choose the column/field whose updates you want to share on/ignore from. Click   Submit . (Optional!) Repeat steps 5 an 6 for additional columns as needed.  Once you've added all columns, click  Update  on the dynamic share page to save the changes.  ↑ Go to top of page Share only selected fields This feature allows you to include only specific fields in a dynamic share when it is triggered. This can be useful when you don't want to or don't have permission to view names. Alternatively, you can enable the sharing of selected fields only for ALL ServiceNow dynamic shares in your instance by navigating to  Perspectium   >  Control and Configuration  >  Properties  >   DataSync Settings  and checking the  Share fields that belong to the selected table only   option. Here's how to share only selected fields for a specific dynamic share: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to choose specific fields to share for. On the resulting dynamic share page, in the  Data Enrichment  tab, check the  Share only selected fields  box.  At the bottom of the page, click the  Share Selected Fields  tab, and then click  New . If using Google Chrome, you may see a popup asking if you want to leave the site—click  Leave . On the resulting page, from the  Field  dropdown, choose the field that you want to dynamic share. Click   Submit . (Optional!) Repeat steps 5 an 6 for additional fields as needed.  Once you've added all fields, click  Update  on the dynamic share page to save the changes.  In Iodine 7.0.0, there is a known error where having  Share only selected fields  enabled  may not share out all the selected fields based on sharing setup options. ↑ Go to top of page Run a bulk share (on the dynamic share's table) This feature allows you to schedule a bulk share to run for this table. This may be useful  for when you create a dynamic share and want to initially seed the subscriber (another instance or database) with the table's data. This  will save the dynamic share and schedule a bulk share to be run. The bulk share will honor the dynamic share's configurations where relevant such as include journal fields, include attachments and filter conditions. The bulk share will be related to this dynamic share so you can see it in the dynamic share's related list. Here's how: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to run as a bulk share. On the resulting dynamic share page, click  Run a Bulk Share  in the top right. In the resulting popup, click the calendar icon (next to the empty  Schedule to run at  field) to select the date and time to schedule the bulk share. To run the bulk share right away, leave the field empty.  Click  OK .  The dynamic share will save at its current state. For example, if the  active  box is selected, the dynamic share will save as activated.  ↑ Go to top of page Share on updated display values This feature allows you to set up a dynamic share to share out records when the  display value  changes for a referenced field. This is useful because it ensures that the record has the latest display value field.  For example, consider a dynamic share for the   incident  table, where this feature is enabled and the   assigned_to   reference field is set to  share on updated display value field . In this case, if the   display value   of a  sys_user   record changes,   incident   records matching the dynamic share conditions with this updated user in the   assigned_to  field will be shared out with the   dv_assigned_to   value updated to the new display value. Here's how to enable this feature: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to share updated display values on. On the resulting dynamic share page, in the  Runtime Settings  tab, under  Triggers , check the  Share on updated display values  box.  At the bottom of the page, click the  Display Fields  tab, and then click  New . If using Google Chrome, you may see a popup asking if you want to leave the site—click  Leave . On the resulting page, from the  Field  dropdown, choose the field that you want to trigger the share. Click   Submit . (Optional!) Repeat steps 5 an 6 for additional fields as needed. Alternatively, you can click  Add all display value fields , and then remove undesired fields.  Once you've added all fields, click  Update  on the dynamic share page to save the changes.  You will have to specify each of the reference fields you want to share, since a dynamic share business rule is added to each reference table in order to trigger and share out the dynamic share table's record. This feature would create two business rules in the sys_dictionary table to share related records when a display field is changed. ↑ Go to top of page Limit shared child tables This feature allows you to limits which specific child records are shared when dynamic sharing to another instance. This is useful if you want to share some child records but not others. Here's how: In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to limit shared child tables on. On the resulting dynamic share page, under  General Settings , in the  Sharing setup  dropdown, select  Share all table records and child records  or   Share the last descending child of each table record .  At the bottom of the page, click the  Share Child Tables  tab—it should be filled with the child records included in that table. If not, you may need to click  Update  if you had changed the setting in step 2. F rom here, you can choose which child records you want to share by setting the  Value  of each record to  false  to exclude the record (a value set to  false  will include the record).  Click  Update . If you have created a new table since creating the dynamic share, the new table will not appear in the  Table  dropdown. If this is the case, you will have to  create a new dynamic share  and follow the above instructions during that creation. ↑ Go to top of page Share deleted attachment This is an advanced feature! For more information or assistance, contact Perspectium Support.  If you are bonding your ServiceNow instance to another ServiceNow instance using  Common Documents , you have the option to share deleted attachments. This feature enables deleted attachments to be captured and sent to the subscribing instance to delete the same attachments.  Prerequisites Get started with Common Documents in ServiceNow Create a ServiceNow shared queue Instructions In  your sharing ServiceNow instance, go to   Perspectium   >   Perspectium Core  >  Shares   >   Dynamic Share   >   View Dynamic Shares . Find and click into the dynamic share that you want to enable this feature on. On the resulting dynamic share page, in the  Miscellaneous  tab, check the  Advanced  box. This will cause an  Advanced  tab to appear. In the new  Advanced  tab, check the box labeled  Share Attachment Delete as Common Document Messages . Click  Update .  ↑ Go to top of page Share table map This feature allows you to create table maps for: Attachments Audit logs Journal fields Reference field records (requires additional setup) To enable the feature, you need to configure your dynamic share to display the  PSP Share Table Map  related list. Here's how: Go to  Perspectium  >  Perspectium Core  >  Shares  >  Dynamic Share  >  View Dynamic Shares  and  click into the dynamic share that you want to enable this feature on.  OR  create a new dynamic share In the dynamic share, select the menu icon (≡), followed by  Configure , and then  Related Lists . On the resulting  Related Lists  page, find and select the  PSP Share Table Map→Parent  list from the  Available  table and click the right arrow ( > ) to move it into the  Selected  table. Click  Save .  Scroll down and go to the  PSP Share Table Map  tab. *This is to enable sharing of attachments, audit logs, and journal fields. To enable sharing of referenced field records, skip to step 10. Click  New , and in the resulting form, fill out the following fields like so: Back in the dynamic share record, go to the  Additional Settings  tab.  Select the records that you want to share ( include journal fields ,  include   attachments ,  include referenced field records , and/or  include audit log  - if you select the last one, a new checkbox will appear that allows you to set specific filters for the audit log, if you wish). Click  Update .  Click  Submit .  To enable sharing of referenced field records, go the  Referenced Field Records  tab. Click  New , and in the resulting form, select the field that you want to target from the  Field  dropdown.  Do not  check the  Share only selected fields  box - this will disable the feature you are trying to enable. For example, you can select  caller  as the referenced field.  Click  Submit .  Now that the referenced field has been set, you need to set the PSP Share Table Maps for the selected table. Following the example above, the  caller  field points to the  Sys User  table. As a result, the table map should be pointing to the  sys_user  table.  Go back to the  PSP Share Table Maps  tab and create a new map, selecting the  Table  and  Table Map  fields to correspond with your referenced field (for the  caller  field, you would select the fields as follows: Want to validate that your dynamic shares are being shared out correctly? Read how to do so  here . ↑ Go to top of page Click for additional features that apply to both dynamic shares and bulk shares.