Blog visual preview

Effortlessly Configurable Custom Fields for Scheduled Jobs in Optimizely with PlugInProperty

Author image By - Ravindra Rathore
21 November 2025

Optimizely CMS lets developers add job parameters—such as textboxes and checkboxes—directly to the scheduled job admin UI using PlugInProperty. With this approach, both developers and admins can manage configuration instantly in the UI—no code deployments, content lookups, or custom content types.

Integrate Custom Controls Easily

To add editable fields to a scheduled job, simply decorate public properties with PlugInProperty. The admin UI will automatically display those properties as input controls. Supported controls include:

  • TextBox (string): For emails, subjects, file paths
  • CheckBox (bool): For flags, toggles, simple on/off switches
Configuration is immediate—no deployments or page-level settings needed.

Attribute Syntax Reference

Here are examples using different UI controls:


// TextBox for email input
[PlugInProperty(AdminControl = typeof(TextBox), AdminControlValue = "Text", Description = "Emails (comma-separated)")]
public string ReportEmailAddresses { get; set; }

// CheckBox for boolean flags
[PlugInProperty(AdminControl = typeof(CheckBox), AdminControlValue = "Checked", Description = "Enable notification emails")]
public bool EmailReportEnabled { get; set; }
                                    

Developer-Focused Property Access

All PlugInProperty fields are exposed as regular public properties in your scheduled job class. When the job runs, access them directly—no need for content queries or settings lookups:


public override string Execute()
{
    var emails = ReportEmailAddresses;             // Textbox input (string)
    var enableNotifications = EmailReportEnabled;  // Checkbox (bool)
    // ... main job code ...
    return "Job completed successfully";
}
                                    

This pattern keeps your code simple, avoids reliance on start page/settings page models, and improves maintainability.

Diverse Use Cases

PlugInProperty is highly flexible. Use it to:

  • Input notification emails (textbox)
  • Toggle features (checkbox)
  • Set retry limits (textbox/numeric)
  • Provide job labels, validation types, and more
Screenshots below show these controls in action—note the full range of editable fields available for any scheduled job.

Job Configuration: dynamic textbox, checkbox Plug-in Manager: scheduled jobs and field types

Key Advantages for Developers

  • No code deployments: Admins change config instantly.
  • Direct property access: No query or lookup logic required.
  • Unified logic & config: All settings reside in your job class.
  • Multiple control types: Combine textboxes and checkboxes as needed.
  • Reduced technical overhead: CMS and jobs stay lighter, simpler, and easier to maintain.

Quick Implementation Steps

  • Add public properties, decorate with [PlugInProperty].
  • Register your class using [ScheduledPlugIn].
  • Edit settings directly from the Optimizely CMS admin interface.
  • Use directly in your scheduled job logic—no extra config needed.

Visual Examples

All configuration fields presented above will appear as editable, admin-accessible inputs. Any change made in the UI is available immediately on the next scheduled job execution.

Conclusion

PlugInProperty supercharges scheduled jobs in Optimizely CMS—making them flexible, developer-friendly, and highly maintainable. With instant configuration, direct code access to properties, and diverse control types, you can deliver powerful job configuration to CMS admins and keep your own code clean and future-proof.
Integrate PlugInProperty to streamline daily maintenance and minimize project complexity.

Thanks for reading and happy coding!

Ravindra S. Rathore