Skip to content

Campaign import export user docs#361

Open
dcjarvis wants to merge 51 commits into
mautic:7.0from
dcjarvis:campaign-import-export-user-docs
Open

Campaign import export user docs#361
dcjarvis wants to merge 51 commits into
mautic:7.0from
dcjarvis:campaign-import-export-user-docs

Conversation

@dcjarvis
Copy link
Copy Markdown

@dcjarvis dcjarvis commented May 9, 2025

Added descriptions for campaign import and campaign export.

@dcjarvis
Copy link
Copy Markdown
Author

dcjarvis commented May 9, 2025

Note that these docs should be targeted to Mautic v7.x but that branch is not available yet.

Comment thread docs/some-dir/README.md Outdated
Comment thread docs/some-dir/composer.json Outdated
@dcjarvis dcjarvis force-pushed the campaign-import-export-user-docs branch from 5defae6 to 4f4b529 Compare May 22, 2025 11:32
@dcjarvis
Copy link
Copy Markdown
Author

Added further parameter to the command line for export

@RCheesley RCheesley changed the base branch from 5.x to 7.0 May 22, 2025 12:18
Copy link
Copy Markdown
Contributor

@adiati98 adiati98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mautic/core-team @RCheesley,

As these are new pages, I deliberately took the initiative to adjust the wordings, restructure, and add images to make them clearer and consistent.

Therefore, I need your help to review the content thoroughly.

Additionally, I left some questions in this PR on the comments. TIA! ✨

Comment thread docs/campaigns/images/campaign-sample.json Outdated
Comment thread docs/campaigns/exporting_campaigns.rst
Comment thread docs/campaigns/exporting_campaigns.rst Outdated
Comment thread docs/campaigns/exporting_campaigns.rst
Comment thread docs/campaigns/importing_campaigns.rst Outdated
@adiati98
Copy link
Copy Markdown
Contributor

adiati98 commented Mar 5, 2026

@mautic/core-team @RCheesley,

As these are new pages, I deliberately took the initiative to adjust the wordings, restructure, and add images to make them clearer and consistent.

Therefore, I need your help to review the content thoroughly.

Additionally, I left some questions in this PR on the comments. TIA! ✨

@mautic/core-team any thoughts on this?

Copy link
Copy Markdown
Member

@RCheesley RCheesley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few small suggestions!

Comment thread docs/campaigns/exporting_campaigns.rst Outdated
When you select a Campaign, the export feature extracts all Campaign data and entities, along with any dependencies the Campaign needs to function, including:

* Dynamic Content
* Asset\*
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this asterisk indicate? I'd like us to include the reference if we're referring to something, right after these bullets.


.. code-block:: bash

curl --location 'https://{your-mautic-domain}/api/campaigns/export/1' \
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we should make it explicit here that you replace everything in {your-mautic-domain} including the curly braces, or would that be obvious? Also we use that here, and example.com later. Why not use the same?


#. Ensures inclusion of Campaign data, external Assets, and Dynamic Content.

#. Select **Actions** option from the dropdown menu for the **Campaign** and **Segment** entities. Choose either **Update entity** or **Create new entity**.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should explain what each does and why you see it - e.g. update entity suggests that it has found this already existing in Mautic, and it'll update with any changes compared to what's there (could be destructive, might overwrite changes). Create new will force it to create a new entity, even if something that matches is found. Safer option but can lead to duplication of resources.


|

#. Click **Yes** when a prompt message appears.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should link to the docs which explain what this means. Clicking yes can have consequences. Publishing a campaign without checking it first could also be disastrous. I think we need to add a clear warning here, that once you publish a campaign, it immediately starts running. People must check that they understand what the campaign is doing, and verify each step of the way, before they decide to turn it on. Red warning admonition called for, I think.

@RCheesley RCheesley requested review from Copilot and removed request for vukovicpredrag March 11, 2026 11:41
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds end-user documentation for Campaign import/export and links it into the existing docs navigation and CLI command reference.

Changes:

  • Added new Campaign import and export documentation pages, including UI, CLI, and API usage.
  • Linked the new pages into the Campaigns section of the main docs index.
  • Updated the CLI command reference to include campaign import/export commands and improved the “bin/console” guidance.

Reviewed changes

Copilot reviewed 4 out of 13 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
docs/index.rst Adds the new import/export pages to the Campaigns toctree for navigation.
docs/configuration/command_line_interface.rst Updates CLI guidance and adds campaign import/export commands to the command list.
docs/campaigns/importing_campaigns.rst New page documenting Campaign imports via UI, CLI, and API.
docs/campaigns/exporting_campaigns.rst New page documenting Campaign exports via UI, CLI, and API.
docs/campaigns/images/upload_zip_file.png Adds a screenshot used by the import docs.
docs/campaigns/images/campaign_active_toggle_button.png Adds a screenshot used by the import docs.
.gitignore Minor formatting/indent fix at EOF comment line.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


.. vale off

How the exporting Campaigns works
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Section title grammar: How the exporting Campaigns works is ungrammatical and may read oddly in navigation/search. Consider renaming to something like How exporting Campaigns works or How Campaign export works for clarity and consistency.

Suggested change
How the exporting Campaigns works
How Campaign export works

Copilot uses AI. Check for mistakes.

.. vale off

How the importing Campaign works
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Section title grammar: How the importing Campaign works reads ungrammatical. Consider renaming to How importing Campaigns works or How Campaign import works to improve readability and consistency with the rest of the docs.

Suggested change
How the importing Campaign works
How Campaign import works

Copilot uses AI. Check for mistakes.
Comment thread docs/configuration/command_line_interface.rst Outdated
Comment on lines +135 to 136
- Imports Contacts from a CSV file
- If the CSV import is configured to run in background then this command will pick up the pending import jobs and imports the data from CSV files to Mautic.
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This list-table has 3 columns (Command / Description / Aliases), but the mautic:import row currently provides two description lines without an Aliases cell. In a reST list-table, each row must have the same number of cells; consider using a multi-line description within a single cell (e.g., | continuation) and keep the Aliases cell empty (-).

Suggested change
- Imports Contacts from a CSV file
- If the CSV import is configured to run in background then this command will pick up the pending import jobs and imports the data from CSV files to Mautic.
- | Imports Contacts from a CSV file
| If the CSV import is configured to run in background then this command will pick up the pending import jobs and imports the data from CSV files to Mautic.
-

Copilot uses AI. Check for mistakes.
Comment thread docs/campaigns/importing_campaigns.rst Outdated
* Dynamic Content
* Asset\*
* Other related dependencies

Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Asset\* includes an asterisk but there’s no corresponding footnote/explanation in this document. Either add the footnote text (e.g., explaining what’s included/excluded for Assets) or remove the asterisk to avoid confusing readers.

Suggested change
.. note::
The asterisk (*) indicates that only Assets directly associated with the exported Campaign are included.

Copilot uses AI. Check for mistakes.
Comment thread docs/campaigns/exporting_campaigns.rst Outdated
Comment on lines +98 to +99
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--data ''
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The cURL example uses --data '' with an export endpoint, but providing --data makes curl send a POST request (even if empty). Since this export endpoint is described as a GET, remove --data (or explicitly use --request GET) to avoid users making the wrong HTTP method call.

Suggested change
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--data ''
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Copilot uses AI. Check for mistakes.
RCheesley and others added 3 commits April 1, 2026 16:01
Co-authored-by: Ruth Cheesley <ruth@ruthcheesley.co.uk>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: 🔎 In review

Development

Successfully merging this pull request may close these issues.

7 participants