A critical vulnerability was discovered in React Server Components (Next.js). Our Systems Remain Fully Protected. Learn More

Nhat Luu
Oct 12, 2018
  3865
(3 votes)

Display all Opt-in processes in EPiServer Campaign Connector

By default, EPiServer Campaign Connector only displays opt-in processes of type Double

However, sometimes we want to display opt-in processes of other types (Single, Confirmed). We can easily achieve this by overriding the default behaviour.

Firstly, we need to create a class which inherits from the default OptinProcesseService, then override the GetAllowedOptInProcesses method:

public class CustomOptinProcessServive : OptinProcessService
{
    ...

    public override IEnumerable<SelectItem> GetAllowedOptInProcesses()
    {
        // GetAllOptInProcesses() returns a list of all opt-in processes where each item is a Tuple<long, string, string>:
        // + Item1 is the Id of the optin process
        // + Item2 is the Name of the optin process
        // + Item3 is the Type of the optin process
        return GetAllOptInProcesses().Select(x => new SelectItem() { Text = x.Item2, Value = x.Item1 });
    }

    ...
}

Then register the above class as the default implementation for IOptinProcessService:

context.ConfigurationComplete += (o, e) =>
{
    context.Services.AddTransient<IOptinProcessService, CustomOptinProcessServive>();
};

Now the Opt-in process drop-down will display all opt-in processes:

Oct 12, 2018

Comments

Please login to comment.
Latest blogs
Jhoose Security Modules v2.6.0 — Added support for Permissions Policy and .NET 10

Version 2.6.0 adds Permissions Policy header support, updates to .NET 10, improved policy management, configurable security settings, and enhanced...

Andrew Markham | Dec 6, 2025 |

Building a 360° Customer Profile With AI: How Opal + Optimizely Unlock Predictive Personalization

Creating truly relevant customer experiences requires more than collecting data—it requires understanding it. Most organizations already have rich...

Sujit Senapati | Dec 4, 2025

Building a Lightweight Optimizely SaaS CMS Solution with 11ty

Modern web development often requires striking a difficult balance between site performance and the flexibility needed by content editors. To addre...

Minesh Shah (Netcel) | Dec 3, 2025

Creating Opal Tools Using The C# SDK

Over the last few months, my colleagues at Netcel and I have partaken in two different challenge events organised by Optimizely and centered around...

Mark Stott | Dec 3, 2025