# Plugins
Plugins are optional DLLs that extend the provisioning service with integrations to external systems. They are deployed per customer based on which systems that customer uses.
# Deployment
- Place the plugin DLL (named
Epona.PluginName.dll) in the service's bin directory. - Restart the provisioning service.
- The service auto-discovers the plugin on startup.
- If the plugin has configuration, it appears in the Configurator under the relevant
SharepointCfg.
No explicit registration is required — the service scans all files matching Epona.*.dll and auto-discovers any plugins present.
# Available plugins
# Legal practice management
| Plugin | DLL | Description |
|---|---|---|
| AdvocaatCentraal | Epona.AdvocaatCentraal.dll | Syncs matters from AdvocaatCentraal legal services |
| AFAS | Epona.AFAS.dll | Syncs matters, clients, and documents from AFAS to SharePoint |
| Centerbase | Epona.Centerbase.dll | Syncs matters from Centerbase legal practice management |
| Clio | Epona.Clio.dll | Syncs matters and contacts from Clio legal practice management |
| Crespect | Epona.Crespect.dll | Syncs matters from Crespect legal practice management |
| Curo365 | Epona.Curo365.dll | Syncs matters and financial data from Curo365 |
| KMS | Epona.KMS.dll | Syncs matters and documents from KMS legal knowledge management |
| LeanLaw | Epona.LeanLaw.dll | Syncs matters and billing from LeanLaw |
| LegalTracker | Epona.LegalTracker.dll | CSV-based sync from LegalTracker practice management |
| Soluno | Epona.Soluno.dll | Syncs matters from Soluno legal practice management |
# Case management
| Plugin | DLL | Description |
|---|---|---|
| Aquilum | Epona.Aquilum.dll | Syncs matters from Aquilum case management |
| CaseControl | Epona.CaseControl.dll | Syncs matters from CaseControl and imports documents, emails, and correspondence on matter creation |
| CaseManager | Epona.CaseManager.dll | Syncs matters from CaseManager case management |
| Cicero | Epona.Cicero.dll | Syncs matters from Cicero case management |
| CleverCase | Epona.CleverCase.dll | Syncs matters from CleverCase case management |
| Codex | Epona.Codex.dll | Syncs matters from Codex case management |
| Jvris | Epona.Jvris.dll | JSON file handler for Jvris case management system |
| Legalsense | Epona.Legalsense.dll | Syncs matters from Legalsense |
| LegalServer | Epona.LegalServer.dll | Syncs matters from LegalServer |
| Sisjuri | Epona.Sisjuri.dll | Syncs clients and cases from Sisjuri REST API |
| TeamConnect | Epona.TeamConnect.dll | Syncs matters from TeamConnect |
# CRM systems
| Plugin | DLL | Description |
|---|---|---|
| Salesforce | Epona.Salesforce.dll | Syncs matters and clients from Salesforce CRM |
| HubSpot | Epona.HubSpot.dll | Syncs contacts and deals from HubSpot CRM |
| MS Dynamics | Epona.MSDynamics.dll | Syncs matters and clients from Microsoft Dynamics 365 |
# Accounting, project management, and time tracking
| Plugin | DLL | Description |
|---|---|---|
| Advosys | Epona.Advosys.dll | Syncs documents from Advosys document management |
| Avaza | Epona.Avaza.dll | Syncs projects and billing from Avaza |
| DataLEX | Epona.DataLEX.dll | Syncs matters from DataLEX |
| Datev | Epona.Datev.dll | Syncs mandates and clients from DATEV |
| DIF | Epona.DIF.dll | Syncs documents from DIF document management |
| DongEnergy | Epona.DongEnergy.dll | Syncs projects from DongEnergy contract management |
| ExactOnline | Epona.ExactOnline.dll | Syncs projects and customers from Exact Online |
| MortgageAutomator | Epona.MortgageAutomator.dll | Syncs loan applications from MortgageAutomator |
| TimeSolv | Epona.TimeSolv.dll | Syncs matters from TimeSolv |
| Urentool | Epona.Urentool.dll | Syncs timesheets and billing from Urentool |
| Visma | Epona.Visma.dll | Syncs projects and customers from Visma |
# Infrastructure and integration
| Plugin | DLL | Description |
|---|---|---|
| Database | Epona.Database.dll | Executes SQL queries and stores results in SharePoint lists |
| Jobs.SharepointGroups | Epona.Jobs.SharepointGroups.dll | Synchronizes SharePoint groups across site collections |
| MatterCenter | Epona.MatterCenter.dll | Integrates with MatterCenter document and matter management |
| MatterList | Epona.MatterList.dll | Bidirectional sync of matter and client lists |
# Customer-specific plugins
In addition, the following customer-specific plugins exist:
| Plugin | DLL | Description |
|---|---|---|
| GreeneEspel | Epona.GreeneEspel.dll | Code padding for Greene Espel law firm |
| Implement | Epona.Implement.dll | SQL Server sync for customer/project management |
| Kromann | Epona.Kromann.dll | Matter list reference for Kromann law firm |
| UPM | Epona.UPM.dll | Case area mapping for United Project Management |
These are located under Provisioning/Customers/ and are customized per implementation.
# Configuration pattern
All plugins follow a consistent configuration pattern:
- Connection settings — API credentials and endpoint URLs
- Scheduling — interval and time window configuration
- Field mapping — map external system fields to SharePoint properties
- Filtering — optional filters to limit which records are synced
- Debug mode — verbose logging for troubleshooting
Each plugin documentation includes a complete reference table for all configuration properties with type, default values, and descriptions.
# Common configuration syntax
# Field mapping syntax
Map external system fields to SharePoint using semicolon-separated key=value pairs:
sharepointField=externalField;sharepointField2=externalField2
# Filters and WHERE clauses
Most plugins support filter syntax specific to their external system:
- AFAS, AFAS-like systems:
<field>=<value>;(semicolon-separated) - Salesforce: SOQL WHERE clause syntax (e.g.,
Status = 'Active' AND CreatedDate > 2024-01-01) - Dynamics 365: OData filter syntax (e.g.,
statuscode eq 1) - Others: System-specific query syntax, documented in each plugin reference
# Secret management
All plugins store sensitive credentials (API keys, passwords, tokens) encrypted. Configure credentials through:
- The Secrets manager in the Configurator UI when configuring the plugin
Credentials are automatically decrypted when the plugin reads configuration at runtime. Never store unencrypted credentials in configuration files.