SOLVED

Get and Set the OWA Archive folder

%3CLINGO-SUB%20id%3D%22lingo-sub-37714%22%20slang%3D%22en-US%22%3EGet%20and%20Set%20the%20OWA%20Archive%20folder%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-37714%22%20slang%3D%22en-US%22%3E%3CP%3E%3CEM%3E(I'm%20referring%20to%20the%20Archive%20button%20in%20OWA.%20%26nbsp%3BThe%20%22quick%20archive%22%20-%20which%20I%20think%20is%20how%20it's%20referred%20internally.%20%26nbsp%3BNot%20the%20other%202-3%20archive%20capabilities%20you'll%20find%20when%20you%20google%20for%20%22Exchange%20Online%20Archive%22.)%3C%2FEM%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThe%20user%20is%20only%20prompted%20by%20OWA%20to%20define%20which%20folder%20to%20use%20for%20Archive%20when%20they%20first%20click%20on%20it.%20%26nbsp%3BThere%20is%20no%20%5Bapparent%5D%20location%20in%20the%20OWA%20options%20that%20allows%20the%20user%20to%20view%20or%20change%20this%20folder.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EDuring%20first%20use%20of%20the%20Archive%20button%20in%20OWA%2C%20I%20can%20see%20the%20HTTP%20request%20to%20set%20this%20user%20option%20fly%20by%20in%20my%20browser%20network%20logs%3A%26nbsp%3B%3C%2FP%3E%3CPRE%3EPOST%20%2Fowa%2Fservice.svc%3Faction%3DUpdateUserConfiguration%26amp%3BEP%3D1%26amp%3BID%3D-39%26amp%3BAC%3D1%20HTTP%2F1.1%0AHost%3A%20outlook.office365.com%0A...%0AX-OWA-UrlPostData%3A%20%257B%2522__type%2522%253A%2522UpdateUserConfigurationJsonRequest%253A%2523Exchange%2522%252C%2522Header%2522%253A%257B%2522__type%2522%253A%2522JsonRequestHeaders%253A%2523Exchange%2522%252C%2522RequestServerVersion%2522%253A%2522Exchange2013%2522%252C%2522TimeZoneContext%2522%253A%257B%2522__type%2522%253A%2522TimeZoneContext%253A%2523Exchange%2522%252C%2522TimeZoneDefinition%2522%253A%257B%2522__type%2522%253A%2522TimeZoneDefinitionType%253A%2523Exchange%2522%252C%2522Id%2522%253A%2522Central%2520Standard%2520Time%2522%257D%257D%257D%252C%2522Body%2522%253A%257B%2522__type%2522%253A%2522UpdateUserConfigurationOwaRequest%253A%2523Exchange%2522%252C%2522UserConfiguration%2522%253A%257B%2522__type%2522%253A%2522ServiceUserConfiguration%253A%2523Exchange%2522%252C%2522UserConfigurationName%2522%253A%257B%2522__type%2522%253A%2522UserConfigurationNameType%253A%2523Exchange%2522%252C%2522BaseFolderId%2522%253A%257B%2522__type%2522%253A%2522DistinguishedFolderId%253A%2523Exchange%2522%252C%2522Id%2522%253A%2522root%2522%257D%252C%2522Name%2522%253A%2522OWA.UserOptions%2522%257D%252C%2522Dictionary%2522%253A%255B%257B%2522__type%2522%253A%2522UserConfigurationDictionaryEntry%253A%2523Exchange%2522%252C%2522DictionaryKey%2522%253A%257B%2522__type%2522%253A%2522UserConfigurationDictionaryObject%253A%2523Exchange%2522%252C%2522Type%2522%253A%2522String%2522%252C%2522Value%2522%253A%255B%2522ArchiveFolderId%2522%255D%257D%252C%2522DictionaryValue%2522%253A%257B%2522__type%2522%253A%2522UserConfigurationDictionaryObject%253A%2523Exchange%2522%252C%2522Type%2522%253A%2522String%2522%252C%2522Value%2522%253A%255B%2522AAMkADRiY2Q2YWZkLWI3NjctNGNiZi1hNWFhLTczMWU3NzRkYWNhYwAuAAAAAAAoV6V%252BG%252BsjR5XODG7ipEbRAQAtgw4AwYWRRJ7f5wPhvyvDAABII%252F0yAAA%253D%2522%255D%257D%257D%252C%257B%2522__type%2522%253A%2522UserConfigurationDictionaryEntry%253A%2523Exchange%2522%252C%2522DictionaryKey%2522%253A%257B%2522__type%2522%253A%2522UserConfigurationDictionaryObject%253A%2523Exchange%2522%252C%2522Type%2522%253A%2522String%2522%252C%2522Value%2522%253A%255B%2522NavigationPaneViewOption%2522%255D%257D%252C%2522DictionaryValue%2522%253A%257B%2522__type%2522%253A%2522UserConfigurationDictionaryObject%253A%2523Exchange%2522%252C%2522Type%2522%253A%2522Integer32%2522%252C%2522Value%2522%253A%255B%25221%2522%255D%257D%257D%255D%257D%257D%257D%0AAction%3A%20UpdateUserConfiguration%0AX-Requested-With%3A%20XMLHttpRequest%0AX-OWA-ActionName%3A%20UpdateUserConfigurationAction%0A...%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAnd%20if%20you%20decode%20the%20%3CSTRONG%3EX-OWA-UrlPostData%3C%2FSTRONG%3E%20header%20you%20get%3A%26nbsp%3B%3C%2FP%3E%3CPRE%3E%7B%22__type%22%3A%22UpdateUserConfigurationJsonRequest%3A%23Exchange%22%2C%22Header%22%3A%3CBR%20%2F%3E%7B%22__type%22%3A%22JsonRequestHeaders%3A%23Exchange%22%2C%22RequestServerVersion%22%3A%22Exchange2013%22%2C%22TimeZoneContext%22%3A%3CBR%20%2F%3E%7B%22__type%22%3A%22TimeZoneContext%3A%23Exchange%22%2C%22TimeZoneDefinition%22%3A%3CBR%20%2F%3E%7B%22__type%22%3A%22TimeZoneDefinitionType%3A%23Exchange%22%2C%22Id%22%3A%22Central%20Standard%20Time%22%7D%7D%7D%2C%22Body%22%3A%3CBR%20%2F%3E%7B%22__type%22%3A%22UpdateUserConfigurationOwaRequest%3A%23Exchange%22%2C%22UserConfiguration%22%3A%3CBR%20%2F%3E%7B%22__type%22%3A%22ServiceUserConfiguration%3A%23Exchange%22%2C%22UserConfigurationName%22%3A%3CBR%20%2F%3E%7B%22__type%22%3A%22UserConfigurationNameType%3A%23Exchange%22%2C%22BaseFolderId%22%3A%3CBR%20%2F%3E%7B%22__type%22%3A%22DistinguishedFolderId%3A%23Exchange%22%2C%22Id%22%3A%22root%22%7D%2C%22Name%22%3A%22OWA.UserOptions%22%7D%2C%22Dictionary%22%3A%5B%3CBR%20%2F%3E%7B%22__type%22%3A%22UserConfigurationDictionaryEntry%3A%23Exchange%22%2C%22DictionaryKey%22%3A%3CBR%20%2F%3E%7B%22__type%22%3A%22UserConfigurationDictionaryObject%3A%23Exchange%22%2C%22Type%22%3A%22String%22%2C%22Value%22%3A%5B%22ArchiveFolderId%22%5D%7D%2C%22DictionaryValue%22%3A%3CBR%20%2F%3E%7B%22__type%22%3A%22UserConfigurationDictionaryObject%3A%23Exchange%22%2C%22Type%22%3A%22String%22%2C%22Value%22%3A%5B%22AAMkADRiY2Q2YWZkLWI3NjctNGNiZi1hNWFhLTczMWU3NzRkYWNhYwAuAAAAAAAoV6V%2BG%2BsjR5XODG7ipEbRAQAtgw4AwYWRRJ7f5wPhvyvDAABII%2F0yAAA%3D%22%5D%7D%7D%2C%3CBR%20%2F%3E%7B%22__type%22%3A%22UserConfigurationDictionaryEntry%3A%23Exchange%22%2C%22DictionaryKey%22%3A%3CBR%20%2F%3E%7B%22__type%22%3A%22UserConfigurationDictionaryObject%3A%23Exchange%22%2C%22Type%22%3A%22String%22%2C%22Value%22%3A%5B%22NavigationPaneViewOption%22%5D%7D%2C%22DictionaryValue%22%3A%3CBR%20%2F%3E%7B%22__type%22%3A%22UserConfigurationDictionaryObject%3A%23Exchange%22%2C%22Type%22%3A%22Integer32%22%2C%22Value%22%3A%5B%221%22%5D%7D%7D%5D%7D%7D%7D%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAnd%20you%20see%20that%20it's%20setting%20the%26nbsp%3B%3CSTRONG%3EArchiveFolderId%3C%2FSTRONG%3E%20User%20Option.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20would%20like%20to%20find%20a%20way%20to%20obtain%20and%20modify%20the%20%3CSTRONG%3EArchiveFolderId%3C%2FSTRONG%3E%20User%20Option%20using%20Powershell%2C%20Unified%20Graph%20API%2C%20EWS%2C%20or%20anything.%20%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E(I'd%20like%20to%20avoid%20using%20Greasemonkey.)%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThoughts%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-37714%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EExchange%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EOffice%20365%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-37894%22%20slang%3D%22en-US%22%3ERe%3A%20Get%20and%20Set%20the%20OWA%20Archive%20folder%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-37894%22%20slang%3D%22en-US%22%3E%3CP%3ENo%20idea%2C%20nothing%20was%20announced.%20I%20know%20that%20if%20you%20had%20the%20%22archive%22%20folder%20created%20previously%2C%20it%20will%20provision%20a%20new%20one.%20The%20feature%20should%20still%20be%20using%20the%20one%20designated%20by%20the%20user%2C%20however%20what's%20the%20point%20of%20creating%20a%20new%20folder%20(a%20default%20one%20at%20that)%20is%20beyond%20me.%20Hopefully%20we%20will%20manege%20to%20convince%20them%20to%20give%20us%20some%20control%20over%20this...%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-37889%22%20slang%3D%22en-US%22%3ERe%3A%20Get%20and%20Set%20the%20OWA%20Archive%20folder%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-37889%22%20slang%3D%22en-US%22%3E%3CP%3EI%20noticed%20that%20not%20all%20accounts%20are%20being%20prompted%20to%20choose%20the%20folder.%20%26nbsp%3BWas%20there%20an%20announcement%20for%20this%20change%3F%20%26nbsp%3BIn%20a%20sense%2C%20it%20makes%20my%20original%20question%20moot%2C%20but%20it%20introduces%20more%20questions.%20%26nbsp%3BSuch%20as%2C%20what%20happens%20for%20existing%20accounts%20that%20specified%20a%20different%20folder%3F%20%26nbsp%3BWill%20they%20ever%20be%20able%20to%20change%20it%3F%20%26nbsp%3BWill%20it%20get%20reset%20to%20the%20default%20at%20some%20point%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-37784%22%20slang%3D%22en-US%22%3ERe%3A%20Get%20and%20Set%20the%20OWA%20Archive%20folder%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-37784%22%20slang%3D%22en-US%22%3E%3CP%3EI%20dont%20think%20it's%20exposed%20anywhere%2C%20at%20least%20my%20attempts%20to%20find%20a%20way%20to%20do%20this%20have%20failed.%20Considering%20they%20just%20pushed%20a%20default%20%22Archive%22%20folder%2C%20my%20guess%20is%20we%20will%20not%20get%20any%20controls%20over%20this.%20Well%2C%20until%20after%20they've%20received%20some%20complaints%20from%20large%20customers%20I%20guess%20%3A)%3C%2Fimg%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E
Occasional Contributor

(I'm referring to the Archive button in OWA.  The "quick archive" - which I think is how it's referred internally.  Not the other 2-3 archive capabilities you'll find when you google for "Exchange Online Archive".)

 

The user is only prompted by OWA to define which folder to use for Archive when they first click on it.  There is no [apparent] location in the OWA options that allows the user to view or change this folder.

 

During first use of the Archive button in OWA, I can see the HTTP request to set this user option fly by in my browser network logs: 

POST /owa/service.svc?action=UpdateUserConfiguration&EP=1&ID=-39&AC=1 HTTP/1.1
Host: outlook.office365.com
...
X-OWA-UrlPostData: %7B%22__type%22%3A%22UpdateUserConfigurationJsonRequest%3A%23Exchange%22%2C%22Header%22%3A%7B%22__type%22%3A%22JsonRequestHeaders%3A%23Exchange%22%2C%22RequestServerVersion%22%3A%22Exchange2013%22%2C%22TimeZoneContext%22%3A%7B%22__type%22%3A%22TimeZoneContext%3A%23Exchange%22%2C%22TimeZoneDefinition%22%3A%7B%22__type%22%3A%22TimeZoneDefinitionType%3A%23Exchange%22%2C%22Id%22%3A%22Central%20Standard%20Time%22%7D%7D%7D%2C%22Body%22%3A%7B%22__type%22%3A%22UpdateUserConfigurationOwaRequest%3A%23Exchange%22%2C%22UserConfiguration%22%3A%7B%22__type%22%3A%22ServiceUserConfiguration%3A%23Exchange%22%2C%22UserConfigurationName%22%3A%7B%22__type%22%3A%22UserConfigurationNameType%3A%23Exchange%22%2C%22BaseFolderId%22%3A%7B%22__type%22%3A%22DistinguishedFolderId%3A%23Exchange%22%2C%22Id%22%3A%22root%22%7D%2C%22Name%22%3A%22OWA.UserOptions%22%7D%2C%22Dictionary%22%3A%5B%7B%22__type%22%3A%22UserConfigurationDictionaryEntry%3A%23Exchange%22%2C%22DictionaryKey%22%3A%7B%22__type%22%3A%22UserConfigurationDictionaryObject%3A%23Exchange%22%2C%22Type%22%3A%22String%22%2C%22Value%22%3A%5B%22ArchiveFolderId%22%5D%7D%2C%22DictionaryValue%22%3A%7B%22__type%22%3A%22UserConfigurationDictionaryObject%3A%23Exchange%22%2C%22Type%22%3A%22String%22%2C%22Value%22%3A%5B%22AAMkADRiY2Q2YWZkLWI3NjctNGNiZi1hNWFhLTczMWU3NzRkYWNhYwAuAAAAAAAoV6V%2BG%2BsjR5XODG7ipEbRAQAtgw4AwYWRRJ7f5wPhvyvDAABII%2F0yAAA%3D%22%5D%7D%7D%2C%7B%22__type%22%3A%22UserConfigurationDictionaryEntry%3A%23Exchange%22%2C%22DictionaryKey%22%3A%7B%22__type%22%3A%22UserConfigurationDictionaryObject%3A%23Exchange%22%2C%22Type%22%3A%22String%22%2C%22Value%22%3A%5B%22NavigationPaneViewOption%22%5D%7D%2C%22DictionaryValue%22%3A%7B%22__type%22%3A%22UserConfigurationDictionaryObject%3A%23Exchange%22%2C%22Type%22%3A%22Integer32%22%2C%22Value%22%3A%5B%221%22%5D%7D%7D%5D%7D%7D%7D
Action: UpdateUserConfiguration
X-Requested-With: XMLHttpRequest
X-OWA-ActionName: UpdateUserConfigurationAction
...

 

And if you decode the X-OWA-UrlPostData header you get: 

{"__type":"UpdateUserConfigurationJsonRequest:#Exchange","Header":
{"__type":"JsonRequestHeaders:#Exchange","RequestServerVersion":"Exchange2013","TimeZoneContext":
{"__type":"TimeZoneContext:#Exchange","TimeZoneDefinition":
{"__type":"TimeZoneDefinitionType:#Exchange","Id":"Central Standard Time"}}},"Body":
{"__type":"UpdateUserConfigurationOwaRequest:#Exchange","UserConfiguration":
{"__type":"ServiceUserConfiguration:#Exchange","UserConfigurationName":
{"__type":"UserConfigurationNameType:#Exchange","BaseFolderId":
{"__type":"DistinguishedFolderId:#Exchange","Id":"root"},"Name":"OWA.UserOptions"},"Dictionary":[
{"__type":"UserConfigurationDictionaryEntry:#Exchange","DictionaryKey":
{"__type":"UserConfigurationDictionaryObject:#Exchange","Type":"String","Value":["ArchiveFolderId"]},"DictionaryValue":
{"__type":"UserConfigurationDictionaryObject:#Exchange","Type":"String","Value":["AAMkADRiY2Q2YWZkLWI3NjctNGNiZi1hNWFhLTczMWU3NzRkYWNhYwAuAAAAAAAoV6V+G+sjR5XODG7ipEbRAQAtgw4AwYWRRJ7f5wPhvyvDAABII/0yAAA="]}},
{"__type":"UserConfigurationDictionaryEntry:#Exchange","DictionaryKey":
{"__type":"UserConfigurationDictionaryObject:#Exchange","Type":"String","Value":["NavigationPaneViewOption"]},"DictionaryValue":
{"__type":"UserConfigurationDictionaryObject:#Exchange","Type":"Integer32","Value":["1"]}}]}}}

 

And you see that it's setting the ArchiveFolderId User Option.

 

I would like to find a way to obtain and modify the ArchiveFolderId User Option using Powershell, Unified Graph API, EWS, or anything.  

 

(I'd like to avoid using Greasemonkey.)

 

Thoughts?

3 Replies
best response confirmed by Jesse Thompson (Occasional Contributor)
Solution

I dont think it's exposed anywhere, at least my attempts to find a way to do this have failed. Considering they just pushed a default "Archive" folder, my guess is we will not get any controls over this. Well, until after they've received some complaints from large customers I guess :)

 

 

I noticed that not all accounts are being prompted to choose the folder.  Was there an announcement for this change?  In a sense, it makes my original question moot, but it introduces more questions.  Such as, what happens for existing accounts that specified a different folder?  Will they ever be able to change it?  Will it get reset to the default at some point?

No idea, nothing was announced. I know that if you had the "archive" folder created previously, it will provision a new one. The feature should still be using the one designated by the user, however what's the point of creating a new folder (a default one at that) is beyond me. Hopefully we will manege to convince them to give us some control over this...