AptecoPSFramework

0.4.3

Apteco PS Modules - Framework

This module allows Apteco, partners and customers to develop their own integrations.
This framework brings lots of useful features with it like
- Logging + Send information to Orbit UI
- Standardised settings management saved in json files
- Update upward compatibility when there are new features and setting possibilites
- Errorha
Apteco PS Modules - Framework

This module allows Apteco, partners and customers to develop their own integrations.
This framework brings lots of useful features with it like
- Logging + Send information to Orbit UI
- Standardised settings management saved in json files
- Update upward compatibility when there are new features and setting possibilites
- Errorhandling and causing stop of campaigns on problems
- Installation of dependencies
- Developer mode to quickly create own integrations
- Secure encryption of tokens and credentials
- Possibility to develop cmdlets that can be executed directly in PowerShell e.g. to start clean up jobs or download specific data from an integration...
- Easy boilerplate, documentation on GitHub and Demo-Channel to start quickly
- Easy updates via PowerShellGallery
- Easy integration of proxies, custom headers, REST handling
- Using secure oAuth for connected apps like Microsoft Dynamics, Salesforce SalesCloud and CleverReach
- Using DuckDB by default since 0.3.0 to allow easy data transformation
- Much more to follow...

Your help is appreciated. Just contact me.
Show more

Minimum PowerShell version

5.1

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name AptecoPSFramework

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name AptecoPSFramework

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) 2025 Apteco GmbH. All rights reserved.

Package Details

Author(s)

  • florian.von.bracht@apteco.de

Tags

Windows Apteco

Functions

Add-PluginFolder Export-Settings Get-Debug Get-Plugin Get-PluginFolders Get-Plugins Get-ProcessIdentifier Get-Settings Import-Plugin Import-Settings Install-AptecoPSFramework Register-Plugins Set-DebugMode Set-ExecutionDirectory Set-Settings Install-Plugin Open-DuckDBConnection Get-DuckDBConnection Close-DuckDBConnection Read-DuckDBQueryAsReader Read-DuckDBQueryAsScalar Invoke-DuckDBQueryAsNonExecute Add-DuckDBConnection Get-DebugMode Import-Lib Add-JobLog Get-JobLog Update-JobLog Set-JobLogDatabase Close-JobLogDatabase

PSEditions

Desktop

Dependencies

Release Notes


0.4.3 Fixed temporary module and script path loading
0.4.2 Fix: Added more common module and script paths
     Fix: Handling dependency problems in plugins as warnings rather than errors
0.4.1 Fix: Small bugfix for Install-AptecoPSFramework where the vcredist installation is not checked again after installation
     Fix: Small bugfix for Packagemanagement version check at the start of Install-AptecoPSFramework
0.4.0 Feature: Massive improvements for the Salesforce integration. Have a look at the documentation for more information
     Feature: Added MergeHashtable and MergePSCustomObject as Dependencies for future use in settings
     Feature CleverReach: New function to download all receivers of a list
     Feature: Improved boilerplate files to be runnable with -Debug flag instead of setting that in the script file.
              In that case it uses the params object inside that file
     Feature: Improved Performance for DuckDB reader (e.g. 5 seconds for 150k rows instead of 70 seconds)
     Feature: Improved handling for sniffing csv files with DuckDB (example is in help)
     Feature: Adding FundraisingBox as a new plugin for the Apteco PS Framework allowing to load data through the API
     Feature: Improved the whole exception handling for all parts in the framework, so the messaging should be more clear, if problems occur
     Feature: Changed the way Apteco email builds up arrays, so the performance in loading contactlists should be a little bit better
     Feature: Added SimplySql in the new version 2 to the dependencies
     Feature: Adding a new local database with sqlite/DuckDB to log jobs into a database which will make it much easier to repeat jobs
     Feature: Adding an internal Function Add-HttpQueryPart to add new parts to a URI query
     Feature: Improved Performance for DuckDB reader (e.g. 5 seconds for 150k rows instead of 70 seconds)
     Feature: Improved handling for sniffing csv files with DuckDB (example is in help)
     Fix CleverReach: When having spaces around a column name, it will be trimmed now automatically
     Fix CleverReach: When there are more people in the last upload batch than the uploadsize, then only the first (last) batch was done
     Fix CleverReach: Adding an option to disable keepalives when the connection causes problems
     Fix CleverReach: Added a hint, if a http 403 Forbidden happens, that this could be caused because of too many uploaded contacts regarding the licence
     Fix CleverReach: When requesting contacts per tag, it is now limited to 5000 per page and now sorted by count rather than tag name
     Fix: Improved the error output, when settings are imported
     Fix: Added ConvertStrings as another dependency
     Fix: API Ratelimiting could cause problems when also containing whitespace, this has been fixed
     Fix: Renaming Prepare-MultipartUpload to ConvertTo-MultipartUpload to only use allowed verbs
     Fix: Renaming Prompt-Choice to Request-Choice to only use allowed verbs
     Fix: Settings merging was not working properly when a sub property is an [Ordered] instead of [Hashtable] or [PSCustomObject].
          Also the count of properties was not correct when merging settings. That is all fixed now.
0.3.3 Fix: Setting a default logfile at the start of the module load named "logfile.log"
     Fix: Reflected a new flag for installing dependencies so that DuckDB is not installing all dependent packages of DuckDB.NET
     Fix: Improved the error handling and messaging for loading settings files
     Maintenance: Removed some not needed scripts
0.3.2 Feature: Added code for emarsys specific functions like downloading lists, campaigns, fields and contacts
     Fix: All verbose outputs for plugins do now work with the -verbose flag
     Fix: Remove the boolean output when adding a pluginfolder
0.3.1 Fix: Throwing full exceptions via iwr and irm to catch more details of exception in the plugin
0.3.0 Feature: Adding DuckDB as dependencies to the framework by default so the campaign file can be read (and written) through DuckDB query
              more effectively than through a .NET streamreader or streamwriter when you want to transform the file
              If you already have installed the AptecoPSFramework, make sure to re-install the dependencies in your settings file directory with `Install-AptecoPSFramework`
     Feature: Fixed the installation script to also install local and global packages
     Feature: Adding a default protocol handler that is recommended by Microsoft, if setting the setting `changeTLS` to `false`
     Feature: Added some hints about DuckDB in the readme.md
     Feature: Added a better handling for lib folder with other names or other paths than the default
     Feature: Added DuckDB functions to read data as pscustom or execute a scalar query
     Feature: DuckDB will be loaded automatically when plugin is loaded, otherwise you can use the function Import-Lib
     Fix: Added a where-object for CleverReach when not using additional parameters like proxy etc.
     Fix: Special characters are getting removed vom CleverReach mailing and group names via Regex `[^\w\s]`
0.2.1 Feature: New internal function for plugins to allow multipart uploads via `Prepare-MultipartUpload`
     Feature: Addition for Hubspot to load single or multiple properties by name in `Get-Property`
     Feature: New function for Hubspot to allow the loading of a pipeline
     Feature: New function for Hubspot to load "owners"
     Fix: Invoking hubspot has not used the correct headers which is now fixed
     Fix: Better error handling dependent from PS version in `Import-ErrorForResponseBody`^
     Fix: Improved input file handling for Salesforce plugin
     Fix: The get messages boilerplate was outdated and has now been updated
0.2.0 Added yaml as a new functionality to save and load settings - please make sure to install your dependencies again
     CleverReach - Fixed output for validations (showed 1 as valid when there is 0 valid entries)
     CleverReach - Putting failed entries also in log and returns it to Orbit Monitoring
     CleverReach - Fixed HTML Preview for global attributes
0.1.8 Changing CleverReach to support other mailing types than html/text
0.1.7 Adding a psmodulepath hardcoded to module and boilerplate as it seems to misinterpreted when called by C# runspaces
     Adding a flag to Hubspot to forward the input object name
0.1.6 Added a change for Hubspot to load associations into the properties
0.1.5 Fixed a problem in CleverReach when reading and parsing the headers from the csv
     Improved the CleverReach logging when something aborts
0.1.4 Changed the uploadsize from 2 to 80 for Hubspot
     Fix for loading properties of objects other than contacts in Hubspot
0.1.3 Changed Microsoft Dynamics Dataverse Integration to pagesize of 4500 instead of 3 for testing
     Removed -MergeArrays flag when merging settings in module and plugin -> now the arrays from the settings file are the important ones
     Adding hubspot to load CRM data with properties and search/filter, sync all of your data now!
     Hubspot list upload is now implemented through a list chooser in Orbit/PeopleStage and with use of the email address
     Changed the behaviour at Import-Settings, which looks now automatically for settings.json, otherwise you have to refer to it
0.1.2 New hashtable variable "variableCache" for plugins to share data/variables between functions
     Fix of saving oauth settings file path in the settings.json file
     Read-Only Support for Microsoft Dynamics DataVerse Web API
0.1.1 New version jump with more dependencies that have been implemented now: Install-Dependencies and Import-Dependencies, make sure to install those scripts before updating
     Fix for http calls so generic problematic are not repeating infinite
     Loading assemblies as dependencies, too
     Add a function/cmdlet to install plugins dependencies
     Adding more CleverReach api functions around token handling
     Support of PSOAuth for Salesforce SalesCloud and Microsoft Dynamics Dataverse, improved token refreshment for CleverReach
     Added enforced secret encryption for CleverReach, Salesforce and Microsoft
     Added automatic try of token refresh, if there is a http401 error
0.0.20 Exchanged the module/script path handling for the module itself and the boilerplate
      Improved the installation of dependencies with a new script
      Fix of $null when loading details of new attributes
0.0.19 Added script support for boilerplates
0.0.18 Added a new setting for CleverReach to put response log information into a separate logfile
      Added more documentation for CleverReach response download
...ReleaseNotes truncated...

FileList

Version History

Version Downloads Last updated
0.4.3 (current version) 7 3/19/2025
0.4.2 5 3/19/2025
0.4.1 5 3/19/2025
0.4.0 5 3/19/2025
0.3.3 464 6/28/2024
0.3.1 11 6/18/2024
0.3.0 10 6/10/2024
0.2.0 33 11/21/2023
0.1.8 18 11/16/2023
0.1.7 10 11/11/2023
0.1.6 10 11/2/2023
0.1.5 9 11/1/2023
0.1.4 12 10/27/2023
0.1.3 10 10/26/2023
0.1.2 9 10/23/2023
0.1.1 12 10/18/2023
0.0.20 12 10/13/2023
0.0.18 17 9/12/2023
0.0.17 13 9/11/2023
0.0.16 13 8/22/2023
0.0.15 9 8/22/2023
0.0.14 11 8/21/2023
0.0.13 12 8/17/2023
0.0.12 10 8/10/2023
0.0.11 9 8/10/2023
0.0.10 10 8/10/2023
0.0.9 10 8/10/2023
0.0.8 14 7/19/2023
0.0.7 12 7/12/2023
0.0.6 14 7/4/2023
0.0.5 10 7/3/2023
0.0.4 11 6/30/2023
0.0.3 10 6/29/2023
0.0.2 10 6/23/2023
0.0.1 11 6/23/2023
Show more