Skip to main content

Sync Android drawable assets from Figma to GitHub via PR (multi-density PNG)

Workflow preview

Workflow preview
100%
Sync Android drawable assets from Figma to GitHub via PR (multi-density PNG) preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Sync Android drawable assets from Figma to GitHub via PR (multi‑density PNG) This n8n workflow automatically fetches design assets (icons, buttons) from Figma, exports them into Android drawable fo...

Best for

  • File Management automation workflows
  • Multimodal AI automation workflows
  • intermediate n8n builders looking for reusable templates

Tools used

n8n-nodes-base.merge, n8n-nodes-base.httprequest, n8n-nodes-base.if, n8n-nodes-base.manualtrigger, n8n-nodes-base.code, n8n-nodes-base.stickynote

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by WeblineIndia.

Original n8n.io source

1.1 Workflow description

Title
Sync Android drawable assets from Figma to GitHub via PR (multi-density PNG)
Workflow name
Sync Android drawable assets from Figma to GitHub via PR (multi-density PNG)

Sync Android drawable assets from Figma to GitHub via PR (multi‑density PNG)

This n8n workflow automatically fetches design assets (icons, buttons) from Figma, exports them into Android drawable folder formats based on resolution (e.g., mdpi, hdpi, etc.) and commits them to a GitHub branch, creating a Pull Request with all updates.

Who’s it for

  • Android / Flutter developers managing multiple screen densities.
  • Design + Dev teams wanting to automate asset delivery from Figma to codebase.
  • Mobile teams tired of manually exporting assets, resizing, organizing and uploading to GitHub.

How it works

  1. Execute Flow manually or via trigger.
  2. Fetches all export URLs from a Figma file.
  3. Filters out only relevant components (Icon, Button).
  4. Prepares Android drawable folders for each density.
  5. Merges components with folder mapping.
  6. Calls Figma export API to get image URLs.
  7. Filters out empty/invalid URLs.
  8. Downloads all images as binary.
  9. Merges images with metadata.
  10. Renames and adjusts file names if needed.
  11. Prevents duplicate PRs using conditional checks.
  12. Commits files and opens a GitHub Pull Request.

How to set up

  1. Set up your Figma token (with file access)
  2. Get Figma File Key and desired parent node ID
  3. Connect your GitHub account in n8n
  4. Prepare a GitHub branch for uploading assets
  5. Add your drawable folders config
  6. Adjust file naming logic as per your code style
  7. Run the workflow

Requirements

Tool Purpose
Figma API Token To fetch assets and export URLs
GitHub Token To commit files and open PR
n8n Workflow automation engine
Figma File Key Target design file
Node Names Named like Icon, Button

How to customize

  • Add more component types to extract (e.g., Avatar, Chip)
  • Change drawable folder structure for other platforms (iOS, Web)
  • Add image optimization before commit
  • Switch from branch PR to direct commit if preferred
  • Add CI triggers (e.g., Slack notifications or Jenkins trigger post-PR)

Add‑ons

  • Slack Notification Node
  • Commit summary to CHANGELOG.md
  • Image format conversion (e.g., SVG → PNG, PNG → WebP)
  • Auto-tag new versions based on new asset count

Use Case Examples

  • Auto-export design changes as Android-ready assets
  • Designers upload icons in Figma → Devs get PR with ready assets
  • Maintain pixel-perfect assets per density without manual effort
  • Integrate this into weekly design-dev sync workflows

Common Troubleshooting

Issue Possible Cause Solution
Export URL is null Figma node has no export settings Add export settings in Figma for all components
Images not appearing in PR Merge or file name logic is incorrect Recheck merge nodes, ensure file names include extensions
Duplicate PR created Condition node not properly checking branch Update condition to check existing PR or use unique branch name
Figma API returns 403/401 Invalid or expired Figma token Regenerate token and update n8n credentials
GitHub file upload fails Wrong path or binary input mismatch Ensure correct folder structure (drawable-mdpi, etc.) and valid binary
Assets missing certain resolutions Not all resolutions exported in Figma Export all densities in Figma, or fallback to default

Need Help?

If you’d like help setting up, customizing or expanding this flow, feel free to reach out to our n8n automation team at WeblineIndia!

We can help you:

  • Fine-tune Figma queries
  • Improve file renaming rules
  • Integrate Slack / CI pipelines
  • Add support for other platforms (iOS/Web)

Happy automating!

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Merge

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 2 - Download Each Image from the Figma Export URL

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 3 - get figma Url

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 4 - Merge1

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 5 - If

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 6 - Get Figma Export URL

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 7 - Execute workflow

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 8 - Find Icons & Buttons

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 9 - Predefine drawable folders

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 10 - Filter nullable url of nodes

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 11 - Edit File names

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 12 - Prepare Pull Request

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 13 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Sync Android drawable assets from Figma to GitHub via PR (multi-density PNG)
Complexity intermediate
Nodes 14
Categories File Management, Multimodal AI
Author WeblineIndia
Published 01 Sept 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/8112/8112.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Sync Android drawable assets from Figma to GitHub via PR (multi-density PNG) do?

Sync Android drawable assets from Figma to GitHub via PR (multi‑density PNG) This n8n workflow automatically fetches design assets (icons, buttons) from Figma, exports them into Android drawable fo...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your File Management, Multimodal AI use case.