[FEATURE REQUEST] Import/Export Metadata (Campaigns, Journeys, Lists, etc...)
It would be extremely useful to have the ability to export and import campaigns, journeys, lists, and other settings as YAML schema files. This would simplify migration between environments and enable proper version control.
Use Cases
- Environment migration. When moving from a development Parcelvoy setup to production, I would like to export/import configurations instead of manually recreating everything.
- Version control. I would like to track changes in templates, campaigns, and journeys with Git, enabling collaborative workflows and history tracking.
- CI/CD
Proposal
Introduce a metadata folder containing files such as: • campaigns.yaml • journeys.yaml • lists.yaml • whatever.yaml
These files should be suitable for inclusion in version control systems (VCS). The folder could be mounted as a separate Docker volume.
Sync behavior: • Any changes made in the UI should be reflected in the YAML files. • Any changes made to the YAML files should be applied to the database (via migration). • If a config change cannot be applied, the system should display a warning in the UI and preserve the last valid config.
Inspiration
Hasura offers a good reference implementation for this feature.