The SourceAgent ExtAPI Plugin requires the SourceAgent 1.4.70 (or above) to be installed on the system, with a dedicated container for fetched logs to be configured first.

So please get both SourceAgent and the ExtAPI Plugin from, install SourceAgent and configure it to expose one specific directory on a local drive as virtual root container. For instance, you may achieve that by adding the following line to SourceAgent’s configuration file sa.conf:


The above instructs SourceAgent to expose contents of a local directory pointed to by /path/to/directory as virtual container named extapi through its API. The name of the container will be needed for further Plugin configuration.

To install the ExtAPI Plugin then, please follow the following steps below:

  • Copy downloaded sa-plugin-extapi-v{version}.jar into SourceAgent’s lib directory.
  • Copy SpectX license file spectx.lic into SourceAgent’s directory.

The layout of the SourceAgent’s directory eventually will look as follows (with irrelevant details skipped):

└── sa
    ├── lib
    │   :
    │   └── sa-plugin-extapi-v{version}.jar
    └── spectx.lic
  • In the system console, run bin/ configure (Linux, Mac OSX) or bin\sa.exr run -r to start SourceAgent’s configuration wizard. After asking the server’s configuration parameters, the wizard will offer to configure the plugin as follows:
Configure ExtAPIFetcher plugin (doc:

    Do you wish to add ext API config (Y/n)?             [Y]:
1   API internal name                                    : o365
2   API type (plugin.extapi.api.o365.type)               []: microsoft_office365
3   Container (plugin.extapi.api.o365.container)         [extapi]:
4   Office 365 plan (plugin.extapi.api.o365.plan)        [ent]:
5   Tenant Id (plugin.extapi.api.o365.tenantId)          []: 7c945a53-fb8d-464a-affb-41b54844d4e1
6   Client Id (plugin.extapi.api.o365.clientId)          []: 0e39b241-6852-44bb-a6bf-fb99ed2323c5
7   Secret key (plugin.extapi.api.o365.secretKey)        []:
    API "o365" of type "microsoft_office365" configured.

    Do you wish to add another API config (y/N)?         [N]:

    ExtAPIFetcher plugin's configuration saved to /....../sa/conf/sa-plugin-extapi.conf

These questions define:

  1. Defines a name for the API fetching configuration to be used internally in configuration to refer to it’s settings (of the form plugin.extapi.api.<name>.<setting>). This can be any string containing no dots.
  2. Defines a type of external API the configuration is applied to. The key for this setting in plugin’s configuration file is plugin.extapi.api.<name>.type, where <name> refers to previously defined internal API fetching configuration name. The valid values for this setting are: microsoft_azure, microsoft_azure_ad, microsoft_office365, google_workspace_activities, google_workspace_reports.
  3. Sets a name of the container defined in SourceAgent’s configuration for the data fetched from this API to be stored in. The key for this setting in plugin’s configuration file is plugin.extapi.api.<name>.container, where <name> refers to previously defined API internal name.

4-7. Define settings specific to the type of the target API, such as API access credentials.

The wizard asks for minimal set of configuration settings sufficient to configure plugin for the first time to start fetching data from target external API endpoints, and saves them to the plugin’s configuration file conf/sa-plugin-extapi.conf. Refer to configuration section to explore all available settings.