Email deliveries in Adobe Campaign are stored in the database β inaccessible to external tools and invisible to AI agents without extraction.
Use acc instance pull to download all delivery HTML and text files locally, then run local helpers to extract their id, status, startDate, folder and more.
Preparation
Requirements: acc installed and authenticated. Refer to Getting started.
What will be downloaded:
- Email deliveries as
.html,.txtand.meta.xmlfiles, named by internal name
Walkthrough
1. Pull all email deliveries
acc instance pull --metadata nms:delivery
Deliveries are extracted to Campaign Management/Deliveries/. Our main interest will be the metadata files, named with the suffix .meta.xml:
<delivery folder-id="11622" folderProcess-id="0" internalName="DM74" label="Agency delivery"
messageType="5" status="5" supplierModel-id="0" targetStatus="0" typology-id="1826"...>
<scheduling contactDate="" contactDateTimeZone="America/New_York".../>
<mailParameters mirrorPagePolicy="default" needMirrorPage="0" useDefaultErrorAddress="true">
<senderName><![CDATA[Local Win11]]></senderName>
<senderAddress><![CDATA[[email protected]]]></senderAddress>
<replyAddress><![CDATA[[email protected]]]></replyAddress>
</mailParameters>
<indicators processed="100" success="99" recipientClick="20" optOut="2".../>
[...]</delivery>
It contains all delivery information, such as:
-
Sender:
[mailParameters/senderName] -
Sent with success:
[indicators/@success] -
Status:
[@status] -
Folder:
[@folder-id]
2. Open the folder in a terminal
Open Campaign Management/Deliveries/ in your Terminal of choice - Windows Powershell, MacOS bash. Then, list all meta files
cd "Campaign Management/Deliveries"
On Windows:
Get-ChildItem *.meta.xml
On Mac/Linux:
ls *.meta.xml
Wrap the folder in quotes
"to handle spaces
3. Extract 1 XML field for quick check
Letβs extract the label from all deliveries.
On Windows:
Get-ChildItem *.meta.xml | ForEach-Object {
$r = ([xml](Get-Content $_)).DocumentElement
"$($r.label)"
}
On Mac/Linux:
xmllint *.meta.xml --xpath 'string(/*/@label)'
Sample output:
DM61;0
DM64;5
DM74;5
4. Extract many XML fields for CSV
Add fields such as the contact date (attribute in element) and sender address (element in element).
On Windows:
Get-ChildItem *.meta.xml | ForEach-Object {
$r = ([xml](Get-Content $_)).DocumentElement
"$($r.scheduling.contactDate);$($r.mailParameters.senderAddress)"
}
On Mac/Linux:
xmllint *.meta.xml --xpath 'concat(/*/*/contactDate,";",//*[local-name()="senderAddress"])'
Sample output:
2026-05-02 22:01:52.342Z;[email protected]
2026-01-30 10:06:56.123Z;[email protected]
;[email protected]
Going further
The same approach works for personalization blocks and JavaScript codes: pull with acc, parse the XML and work locally in CSV/Excel/Terminal.
Lern how to use AI with acc in the next tutorial.