As time goes on, more capabilities are being introduced to automatically set a retention label on a document rather than having to rely on the end-user to manually set it. As of this date, options include defaulting a retention label at a document library level, folder level, or auto-applying based on either a queryable managed property or a content type.
There still may be times when you need to set a retention label based on a more complex set of conditions not falling into any of the above categories. On the Content Services Roadmap shared at Ignite 2018, there was mention of an action in Microsoft Flow to set a Retention label at a Later time. (red star)
Until then, here is how you can set a retention label using a Send an HTTP Request to SharePoint action in Microsoft Flow: (this example is for a non-record label)
Eventually, this capability will be available as an action in Microsoft Flow. Until that time, this is how you can do it. Note: I haven’t tested all of the above property settings for record and event-based labels.
Thanks for reading!