Report Subscriptions - Copy/paste? Run Now for Multiple?

I am setting up subscriptions for the “SharePoint Online Object Permissions” for each site/path that needs to be audited.

1.) Is there a way to essentially copy/paste a subscription so all I have to do is change the Object Path parameter and recipients?

2.) Is there a way to trigger the Run Now option for multiple subscriptions at once instead of clicking into each subscription, going to the History tab, and clicking the Run Now button?

Marc,

For your first question, there isn’t currently a way to copy/paste an existing subscription so you only have to update the object path and recipients — you’ll need to recreate each subscription manually. One tip to speed that up is to subscribe to the report from the Reports screen instead of waiting for the report to run first before subscribing. That gets you into the subscription settings faster.

Regarding your second question, there isn’t a built-in way to trigger the Run Now option for multiple subscriptions at the same time — you have to go into each subscription’s History tab and click Run Now individually. However, a workaround is to temporarily adjust the schedule on the subscription page (for example, change the next run time to the next hour) so the subscriptions execute sooner, then revert the schedule afterward.

Both of these are solid ideas, and I’d recommend posting them to our Ideas Portal so the product team can consider them:

Michael Purdin
Manager, Technical Support Engineering

Thank you for the quick reply.

Hi Marc,

  1. For the copy task, you can use the API. Essentially, you need to create two lists and POST the desired subscriptions in a loop.

  2. In theory, you can, but what the reason? I’m not sure it’s a good idea.

For subscriptions, there are options you can use via API (Early Access Feature):

https://localhost:9699/netwrix/api/v1/configuration/subscriptions

  • GET configuration/subscriptions
    Returns the full list of subscriptions of all four types with all parameters (SubscriptionsList.xml/json).
  • GET configuration/subscriptions/{id}
    Returns details of a specific subscription by ID or name (SubscriptionsList.xml/json).
  • GET configuration/subscriptions/{id}/recipients
    Returns all recipients of the specified subscription (SubscriptionRecipients.xml/json).
  • GET configuration/subscriptions/{id}/filters
    Returns all filters of the specified subscription (format depends on subscription type, see SubscriptionsList.xml/json).
  • POST configuration/subscriptions
    Adds new subscriptions. Accepts SubscriptionsList.xml/json or individual elements.
    • Collisions (duplicate IDs or names, both within the list and with existing subscriptions) are considered errors.
    • The response returns the IDs of created subscriptions along with their status (Added successfully / Already exists / Error).
  • POST configuration/subscriptions/{id}
    Updates only the provided fields of an existing subscription.
    • If the subscription does not exist, an error is returned.
    • Provided filters or recipients replace the existing ones.
    • Fields not provided remain unchanged.
    • Creation of new subscriptions through this endpoint is not supported.
  • PUT configuration/subscriptions – Not supported.
  • PUT configuration/subscriptions/{id}
    Fully replaces the content of an existing subscription, including type, recipients, and filters.
    • The specified ID/name must exist and must not conflict with another subscription.
    • The request must include all mandatory fields (Enabled, Name, Schedule, Filters, and type-specific tags).
  • PUT configuration/subscriptions/{id}/recipients
    Replaces all recipients with the provided list (SubscriptionRecipients.xml/json).
    • Adding/removing/changing individual recipients is not currently supported.
  • PUT configuration/subscriptions/{id}/filters
    Replaces all filters with the provided ones (format depends on subscription type).
  • DELETE configuration/subscriptions – Not supported.
  • DELETE configuration/subscriptions/{id}
    Deletes the subscription specified by ID or name.
1 Like

The reason that this would be helpful is to generate the initial set of audit reports per site/area all at once instead of having to click into each of them individually. It just saves a lot of clicking, especially given the number of times we have to run these reports because of all the specific areas that we have with different data owners.

Hi Marc, regarding the launch of multiple subscriptions — I definitely won’t be able to help with that, as it won’t be quite what you’re expecting. That sounds exactly like a feature request.

But copying via the API should at least reduce the time spent on copying subscriptions.

Thank you for the info on that, but I am just going to plow through creating them manually. Playing some Slayer through the headphones so it goes faster. :slight_smile:

@TheCat : Can you tell me where in the DB subscription info is stored?

Ah, it was only suggestion and I thought it was a good idea )

The database is intended only for storing data; the subscription configurations themselves are stored in a local configuration file in Programdata.