Turn new Drive campaign creative into every social size
Every weekday morning, new master artwork in your shared Drive folder becomes Instagram, LinkedIn, and email sizes, posted to Slack with labelled links.
Integrations
Cloudinary
Google Drive
Slack Bot
Type
Categories
- Marketing
- Operations
Every weekday at 8am, check our shared campaign folder in Google Drive for new master creative files and turn each one into the full set of channel-ready sizes in Cloudinary.
Start with Google Drive List Files, using Drive query syntax scoped to the campaign folder id, an image mime type, trashed = false, and modifiedTime greater than the timestamp of the last run. Keep a record of the last run time and the file ids you have already handled, so a file is never processed twice.
Use judgement about what is actually a master creative before doing any work. Skip screenshots (names like Screenshot 2026-01-04 or Screen Shot), logo and icon files, exports that are clearly small UI assets, and anything already brought into Cloudinary on an earlier run. When a file is ambiguous, look at the filename, the dimensions, and the folder it sits in.
For each master that passes, use Download File Content to pull the bytes, then Cloudinary Upload Asset to bring it into a campaign folder in our media library, with a public id derived from the campaign name and the original filename.
Then use Apply Explicit Transformations with eager transformations to generate the derivatives: Instagram square at 1080x1080, Instagram story at 1080x1920, LinkedIn at 1200x627, and an email header at 1200x400. Use c_fill with g_auto so faces and products stay in frame. Collect the derived secure URLs the response returns for each variant.
Work out the campaign name from the Drive folder name or the filename, normalizing messy naming into one consistent tag (for example Spring_Launch_2026 FINAL v3 becomes spring-launch-2026). Use Manage Tags to tag the master and its derivatives with that campaign name.
Finally, post one Slack message per master to #campaign-assets using Send a Message. Give the master's name and then a clearly labelled link for each variant: Instagram square, Instagram story, LinkedIn, and Email header. Keep it scannable so the social and email teams can grab the right size without pinging a designer.
Use judgement on which formats actually apply. If a master is a shape that one of the crops would destroy, such as a wide panorama forced into a square, still generate what makes sense but flag the mismatch in the Slack message instead of presenting an unusable crop as finished. If a file fails to download or transform, say so in the message rather than dropping it silently. If there are no new masters, post nothing.
What it does
- Checks your shared campaign folder in Google Drive each weekday morning and picks up master artwork added since the last run.
- Creates the full set of channel sizes for every master: Instagram square, Instagram story, LinkedIn, and an email header, cropped so faces and products stay in frame.
- Files each asset in a campaign folder in your Cloudinary media library and tags it with the campaign name pulled from the folder or filename.
- Posts one Slack message per master with a clearly labelled link to each size, so social and email can grab what they need without asking a designer.
What you’ll need
- A Google Drive account with access to the shared folder your designers drop finished artwork into.
- A Cloudinary account for storing and resizing your media.
- A Slack workspace and a channel where the social and email teams should receive the links.
- A rough idea of how your team names campaign folders and files, so the campaign tag comes out clean.
How to customize it
- Change the schedule: run it hourly during a busy launch week and once a day the rest of the time.
- Add, remove, or resize the channel formats. Swap in a Pinterest pin, a YouTube thumbnail, or your own banner dimensions.
- Point it at a different Slack channel, or send social and email teams their own separate messages.
- Adjust what counts as a real master creative if your team has a naming convention for final files.
Use cases
- Content Generation
- Notifications & Alerts