I'm newish to XML, and did some digging around the campaign to see the structure/how it works.
The campaign uses a couple tiles that I've seen to move the quests forward.
2) Goodie Huts
Triggers can be created on tiles in the Cartography Program in the Workshop, but from what I see they can only be edited in XML (notepad)
Basic Roleplaying Triggers that I've found are:
<TriggerResultPopupDialog> This simply throws out a dialog box with whatever text element you add with Title and Image.
<TriggerResultOpenCampaignBook> Opens the campaign book and allows you to make adjustments that will also show up in the campaign tab of the kingdom overview.
<LogText> Allows to add an exclamation point to the things to do notifications in the upper right of the screen.
<TriggerResultSimpleConversation> Begins a one answer conversation with a specific player (AI sovereign). Can chain them together to create more than one line exchange of dialog
There are several other game modifying triggers that are available as well such as adding units to the map, unlocking techs or spells, adding items, etc.
Also you can have triggers that are.... triggered via units being killed. Those units are defined in the MainCampaign XML. The map, War of Magic XML is the file that contains all the information for triggers.
So to structure a custom campaign, you would setup the units, sovereign, players, factions, unique items, NPCs etc, using the MainCampaign.xml and then you would create the actual story in the map xml file after drawing it and saving it.
Would a tutorial on campaign modding be useful / wanted?