Quick overview
This workflow collects a CSV/XLSX/XLS campaign file via an n8n form, validates each row, then uploads images to PinFlow and schedules posts for Pinterest, Instagram, and Facebook at a defined interval (default 5 hours).
How it works
- Receives a file upload through an authenticated n8n form along with the file format, posting interval in hours, and an optional first publish timestamp.
- Parses the uploaded file as CSV, XLSX, or XLS based on the selected format and converts each row into an item.
- Validates required fields (HTTPS image URL and either title or description) and assigns a scheduled time per row using either
scheduled_at or an interval-based schedule starting from the provided first publish time.
- Processes the campaign one row at a time, downloading the row’s image from the provided URL.
- Uploads the downloaded image to PinFlow media storage and uses the returned media URL.
- Schedules a Pinterest pin, then an Instagram post, then a Facebook post in PinFlow using the row’s text, link, and computed scheduled time.
Setup
- Create and assign a PinFlow credential for the PinFlow nodes.
- Fill in your PinFlow targets: Pinterest profile ID and board ID, Instagram profile ID, and Facebook page ID.
- Prepare a spreadsheet with required columns (
image_url and at least one of title or description) and optional columns (destination_url, instagram_caption, facebook_message, scheduled_at).
- Enable basic authentication on the form and share the form URL with anyone who should upload campaign files.
Requirements