{"id":20046692,"url":"https://github.com/apteco/customchannels","last_synced_at":"2026-06-11T10:31:17.343Z","repository":{"id":98837899,"uuid":"229103568","full_name":"Apteco/CustomChannels","owner":"Apteco","description":"Custom Channels made for usage in the Apteco Marketing Suite","archived":false,"fork":false,"pushed_at":"2023-02-23T11:21:58.000Z","size":49993,"stargazers_count":0,"open_issues_count":5,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-02T08:14:34.000Z","etag":null,"topics":["apteco","powershell"],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Apteco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-19T17:14:37.000Z","updated_at":"2021-12-08T09:28:08.000Z","dependencies_parsed_at":"2023-03-14T05:30:19.151Z","dependency_job_id":null,"html_url":"https://github.com/Apteco/CustomChannels","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Apteco/CustomChannels","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apteco%2FCustomChannels","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apteco%2FCustomChannels/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apteco%2FCustomChannels/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apteco%2FCustomChannels/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Apteco","download_url":"https://codeload.github.com/Apteco/CustomChannels/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apteco%2FCustomChannels/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34195112,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apteco","powershell"],"created_at":"2024-11-13T11:28:44.630Z","updated_at":"2026-06-11T10:31:17.327Z","avatar_url":"https://github.com/Apteco.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AptecoCustomChannels\n\nCustom Channels made for usage in the Apteco Marketing Suite\n\n## Dummy Template / Getting started\n\nTo start with your very own first custom channel to use in Apteco PeopleStage, you can use the dummy template without external dependencies. It is pure PowerShell (\u003e=5.1). You can find it here: [Dummy](Dummy/)\n\n## Current Status\n\nLegend:\n* The icons mean if functionalities are Available/Implemented\n* :heavy_check_mark: = \"done\"\n* :o: = \"partially implemented\"\n* :x: = \"not implemented\"\n* :question: = \"not checked yet\"\n\n### Email\n\nIntegration|API|Type|Functionalities|Link\n-|-|-|-|-\n\u003cbr/\u003e**Email**|\nAgnitas EMM||REST/SFTP|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:SendTest\u003cbr/\u003e:heavy_check_mark:/:o:PreviewMessage\u003cbr/\u003e:heavy_check_mark:/:o:PreviewMessagePersonalised\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Broadcast\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Response Download\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Trigger FERGE|Currently in the dev-branch\nBertelsmann eLettershop||REST/SFTP|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:question:/:x:SendTest\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:PreviewMessage\u003cbr/\u003e:x:/:x:PreviewMessagePersonalised\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Broadcast\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Response Download\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Trigger FERGE|Code is private\nCleverReach|Mailings\u003cbr/\u003eTags\u003cbr/\u003eTHEA|REST API v3|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:heavy_check_mark:/:o:SendTest\u003cbr/\u003e:heavy_check_mark:/:o:PreviewMessage\u003cbr/\u003e:x:/:x:PreviewMessagePersonalised\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:heavy_check_mark:/:o:Broadcast\u003cbr/\u003e:heavy_check_mark:/:o: Response Download\u003cbr/\u003e:heavy_check_mark:/:x:Trigger FERGE|[CleverReach Mailing Integration Guideline](CleverReach/Mailing)\u003cbr/\u003e[CleverReach Tagging Integration Guideline](CleverReach/Tagging)\nELAINE|Transactional|REST|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:heavy_check_mark:/:o:SendTest\u003cbr/\u003e:heavy_check_mark:/:o:PreviewMessage\u003cbr/\u003e:heavy_check_mark:/:o:PreviewMessagePersonalised\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Broadcast\u003cbr/\u003e:heavy_check_mark:/:o: Response Download\u003cbr/\u003e:heavy_check_mark:/:o:Trigger FERGE|[ELAINE Transactional Mailing Integration Guideline](ELAINE/Transactional)\nFlexmail|ImportRecipients|SOAP|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:question:/:x:SendTest\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:PreviewMessage\u003cbr/\u003e:x:/:x:PreviewMessagePersonalised\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:question:/:x:Broadcast\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Response Download\u003cbr/\u003e:heavy_check_mark:/:x:Trigger FERGE|[Flexmail Integration Guideline](Flexmail)\nInxmail|Professional|REST|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:SendTest\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:PreviewMessage\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:PreviewMessagePersonalised\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Broadcast\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Response Download\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Trigger FERGE|Currently in the dev-branch\nMailchimp||REST|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:SendTest\u003cbr/\u003e:heavy_check_mark:/:o:PreviewMessage\u003cbr/\u003e:x:/:x:PreviewMessagePersonalised\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Broadcast\u003cbr/\u003e:x:/:x: Response Download\u003cbr/\u003e:x:/:x:Trigger FERGE|Sample implementation demonstrated at Apteco Live 2022. [Mailchimp Integration Guideline](Mailchimp)\nOptimizely Campaign|Closed Loop Smart Campaigns|SOAP|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:question:/:x:SendTest\u003cbr/\u003e:heavy_check_mark:/:o:PreviewMessage\u003cbr/\u003e:x:/:x:PreviewMessagePersonalised\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:question:/:x:Broadcast\u003cbr/\u003e:heavy_check_mark:/:x: Response Download\u003cbr/\u003e:heavy_check_mark:/:x:Trigger FERGE|[EpiServer SC Integration Guideline](OptimizelyCampaign/SmartCampaigns)\nOptimizely Campaign|Marketing Automation/\u003cbr/\u003eTransactional Mailings|SOAP|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:heavy_check_mark:/:x:SendTest\u003cbr/\u003e:heavy_check_mark:/:x:PreviewMessage\u003cbr/\u003e:x:/:x:PreviewMessagePersonalised\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Broadcast\u003cbr/\u003e:heavy_check_mark:/:o: Response Download\u003cbr/\u003e:heavy_check_mark:/:x:Trigger FERGE|[EpiServer MA Integration Guideline](OptimizelyCampaign/MarketingAutomation)\n\u003cbr/\u003e**Print**|\nDeutsche Post|TriggerDialog|REST|:heavy_check_mark:/:o:Upload\u003cbr/\u003e:heavy_check_mark:/:o:Broadcast|[TriggerDialog Integration Guideline](TriggerDialog)\nBertelsmann|Campaign Automation|||Only on request\nOptilyz|S3|AWS-S3/REST|:heavy_check_mark:/:heavy_check_mark:ChooseAutomation\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload|[Optilyz Integration Guideline](Optilyz/AWS)\nOptilyz|REST|REST|:heavy_check_mark:/:heavy_check_mark:ChooseAutomation\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload|[Optilyz Integration Guideline](Optilyz/REST)\n\u003cbr/\u003e**Mobile**|\nSyniverse|SMS\u003cbr/\u003eWhatsApp Business API|REST|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:question:/:x:SendTest\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:PreviewMessage\u003cbr/\u003e:question:/:heavy_check_mark:PreviewMessagePersonalised\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Broadcast\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Response Download\u003cbr/\u003e:heavy_check_mark:/:o:Trigger FERGE\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Webhooks Support|[Syniverse Mobile Integration Guideline](Syniverse/SyniverseSMS)\nSyniverse|Number Verification|REST|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Mobile Results Download|[Syniverse Mobile Validation Integration Guideline](Syniverse/SyniverseValidation)\nSyniverse|Wallet Download|REST|:heavy_check_mark:/:heavy_check_mark: Webhooks Trigger\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Regular Batch Download|[Syniverse Wallet Download Integration Guideline](Syniverse/SyniverseWalletDownload)\nSyniverse|Wallet Notification|REST|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:x:/:x:SendTest\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:PreviewMessage\u003cbr/\u003e:question:/:x:PreviewMessagePersonalised\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Broadcast\u003cbr/\u003e:question:/:x: Response Download\u003cbr/\u003e:question:/:x:Trigger FERGE|[Syniverse Wallet Notification Integration Guideline](Syniverse/SyniverseWalletNotification)\nSyniverse|Wallet Update|REST|:heavy_check_mark:/:heavy_check_mark: Update wallets|[Syniverse Wallet Update Integration Guideline](Syniverse/SyniverseWalletUpdate)\n\u003cbr/\u003e**Database**|\nMSSQL / SQL Server|Local\u003cbr/\u003eDomain\u003cbr/\u003ePrivateCloud|PowerShell/.NET\u003cbr/\u003eBulk|:heavy_check_mark:/:heavy_check_mark:GetMessages\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Data Results Download|[MSSQL Integration Guideline](MSSQL)\nsqlite|Local\u003cbr/\u003eNetwork\u003cbr/\u003eIn-Memory|PowerShell/.NET/sqliteCLI|\n\u003cbr/\u003e**File Transfer**|\nWinSCP|SFTP\u003cbr/\u003eFTP\u003cbr/\u003eS3\u003cbr/\u003eWebDAV\u003cbr/\u003eSCP (SSH)|WinSCP .NET assembly|:x:/:x:GetMessages\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark:Upload\u003cbr/\u003e:o:/:o: Data Results Download|[WinSCP Integration Guideline](WinSCP)\n\u003cbr/\u003e**Picture Personalisation**|\nAlphaPicture||REST|:heavy_check_mark:/:heavy_check_mark: Choose Picture\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Personalised Preview\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Download personalised links\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Single generation\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Batch generation\u003cbr/\u003e:heavy_check_mark:/:heavy_check_mark: Change width/height\n\n\n## Requirements\n\n* An Apteco server with a FastStats Service and 2019-Q3 release or newer. There were some improvements in the 2019-Q4 release.\n* Make sure PS Version 5.1 is installed at Minimum (PowerShell Core \u003e=6 is not tested yet)\n  * You can see it in Powershell if you type in ```$PSVersionTable```\n  * If PSVersion \u003c 5.1, then install this one: https://www.microsoft.com/en-us/download/details.aspx?id=54616\n  * And restart the machine\n\n## Description\n\nThe custom channels can trigger those functionalities\n\n1.\tGetMessagesScript: used to return an array of string pairs of \u003cid\u003e,\u003cname\u003e of the messages\n2.\tGetListsScript: used to return an array of string pairs of \u003cid\u003e,\u003cname\u003e of the lists\n3.\tTestScript: used to test if the broadcaster api is available\n4.\tSendTestEmailScript: used to send a test send to the broadcaster, given a recipient\n5.\tPreviewMessageScript: used to return a html view of the message given a recipient and content values\n6.\tUploadScript: used to upload a list to the broadcaster, given a tab delimited file\n7.\tBroadcastScript: used to send a list a message\n  \n# Troubleshooting\n\n* If the files created from PeopleStage and used by the \"upload\" scripts have the extension `.converted` then the output encoding in the PeopleStage Channel Editor should be changed to another encoding.\n* If some umlauts are not used correctly, then the script is maybe saved in the wrong encoding. It should be UTF-8.\n\n# Cloning and get Updates from this Repository\n\n* You can download the whole repository as a zip file, clone it via GitHub Desktop or use a command line interface. All possibilities are shown here:\u003cbr/\u003e![grafik](https://user-images.githubusercontent.com/14135678/99143550-9b58c700-265e-11eb-91cb-dcc3001e26b0.png)\n* I can recommend the last two options because then you can \"pull\" updated code from time to time and can benefit from new features or bugfixes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapteco%2Fcustomchannels","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapteco%2Fcustomchannels","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapteco%2Fcustomchannels/lists"}