On a schedule
Email PNGs of your Figma frames every Friday
At the end of the week you get image links for the top-level frames on your page, ready to share.
- Runs
- On a schedule
- Apps
- Figma
- AI
- Not needed
- Access
- file_content:read
Send this to your assistant
Create a ClickRuntime automation: every Friday at 5pm, export the top-level frames of my Figma file 'Marketing site' as PNGs, up to 30 frames, and email me each frame name with its image link.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Designers send screenshots all the time: exporting each frame as a PNG, naming it, uploading it somewhere and pasting links into an email for a client or developer. For a page with twelve frames, that is a lot of clicks, and a Friday review needs the latest versions, not last week's. People skip it and send a link to the live file, which clients are reluctant to open. The result is slow approvals and delayed feedback.
Every Friday, ClickRuntime reads the Figma file at shallow depth to find the frames on your page, asks Figma to render images for those frame IDs, and emails you a list with each frame's name and image URL. The email is ready before the weekly review.
It fits agencies sending weekly progress updates and teams that archive visuals for sign-off.
What you get out of it
Send clients something they can open
PNG links open in any browser without a Figma account. Clients who hesitate to open design files can review the frames immediately, and approvals come back faster. Faster approvals shorten the whole review cycle noticeably. Consistency also looks more professional to clients receiving the files.
Cut the weekly export chore
Selecting frames, choosing export settings and renaming files takes time every Friday. A scheduled email with frame names and image links removes that routine and avoids inconsistent file names. That protects you in disputes about what was shown.
Keep each week's visuals on record
Emails collect into a dated history of how the design looked each Friday. When a client claims they never saw a version, you can point to the exact email. Dated emails settle those arguments quickly.
Catch frames that look wrong
Looking at the rendered images at the end of the week, you may notice a broken layer or missing font. It is easier to spot problems when you see the output as a viewer would. Documentation stays accurate without anyone chasing screenshots.
Support handoff and documentation
Writers and developers can pull screenshots from the email for specs and docs. They always use the latest rendered frames, not an old attachment forwarded months ago. Handoff notes stay accurate.
How it works
What happens, step by step
Every Friday at 5pm, ClickRuntime opens your Figma file and finds its top-level frames.
It asks Figma to render each frame as a PNG image.
You get one email listing each frame's name with a link to its image.
Before it runs live
- Connect Figma
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Figma steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, notify, http, credentials
FILE_KEY = "c9D0e1F2g3H4i5" # your 'Marketing site' file
@on_trigger
def run(event):
headers = {"Authorization": "Bearer " + credentials.connection("figma", "main")}
doc = http.get(f"https://api.figma.com/v1/files/{FILE_KEY}", headers=headers, params={"depth": 2}).json()["document"]
frames = [n for page in doc["children"] for n in page.get("children", []) if n["type"] == "FRAME"][:30]
if not frames:
return {"frames": 0}
images = http.get(f"https://api.figma.com/v1/images/{FILE_KEY}", headers=headers, params={
"ids": ",".join(f["id"] for f in frames), "format": "png",
}).json()["images"]
lines = [f"{f['name']}\n{images.get(f['id'])}" for f in frames if images.get(f["id"])]
notify.email_me(f"Marketing site frames ({len(lines)})", "\n\n".join(lines))
return {"frames": len(lines)}FAQ
Common questions
Which frames are exported?
How long do the image links last?
Can I choose the image size and format?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get a morning list of open Figma comments
Each weekday you start with every unresolved comment on your files, grouped by file.
See how it worksPost new Figma comments to Slack
Feedback left on your file shows up in a channel with the comment text and a link back to it.
See how it worksAnnounce new versions of your design system
When someone saves a named version, the team sees its label and description without asking.
See how it worksKeep exploring
Set up “Email PNGs of your Figma frames every Friday” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.