Prompt
Scenario: watch a Google Drive folder named after each week. For every new folder, upload up to 10 JPEGs, aggregate the ids, write a caption summarizing the week from a Notion page, and create one Instagram carousel draft. How to do it
- Connect Instagram and mint a key In https://app.socialhandoff.com, open Connections, connect an Instagram professional account (Business or Creator). Then create an agent key named Make scoped to Instagram with draft permission.
- Set up the trigger Add the trigger, for example Watch Folders in Google Drive, and an Iterator over the files. Limit the iterator to 10 items so the carousel stays within Instagram's cap.
- Import media by URL Add an HTTP, Make a request module: POST https://app.socialhandoff.com/v1/media/import with JSON {"url": public https link, "alt": description} for the JPEG image, Reel, or carousel (up to 10 items). No multipart needed. Keep the id it returns for the next step.
- Create the post Add a second HTTP module: POST https://app.socialhandoff.com/v1/posts with a bearer header and JSON body {"body": caption, "networks": ["instagram"], "mode": "submit", "mediaIds": [the uploaded ids]}. The post lands in the approval inbox.
- Review and approve Check the caption, hashtag count, and alt text on the approval card. On approval, the post publishes; if Instagram's daily quota is full, it is deferred by an hour.
Example draft
This week in the workshop, in 6 photos: 1. The first batch of oak stools 2. A new jig for repeat cuts 3. Oil finish, day 3 4. Packing orders on Friday 5. The shop dog, supervising 6. What is next: a walnut bench #woodworking #makersgonnamake #smallshop [Carousel: 6 JPEG photos from this week's Drive folder, alt text on each]
Gotchas
- Collect the uploaded ids with an Array aggregator before the post module. Sending one create request per image produces 6 separate drafts instead of one carousel.
- Captions allow 2,200 characters, 30 hashtags, and 20 mentions. A thread is joined into one caption, so a 5-part draft becomes one long caption.
- Build the post JSON with a Create JSON module. Hand-typed JSON breaks as soon as a caption contains a quote or a line break.
- Only professional accounts (Business or Creator) can connect. A personal account is refused at connect time with instructions to switch.
- Account type: Professional accounts only (Business or Creator). Personal accounts cannot publish through the API.
- Media: Every post needs an image or video. Text-only posts are not possible on Instagram.
- Image files: JPEG only, up to 8 MB. Convert PNG or WebP before posting.
- Reels: Video posts publish as Reels, from MP4 or MOV files.
Frequently asked questions
What happens if I hit Instagram's daily limit?
The daily publishing quota is checked before each post. If it is full, the post is deferred by an hour instead of failing.
Is there a native Make app?
Not today. The HTTP module calls the REST API directly, with JSON for both the media import and the post.
Can I post a carousel to Instagram this way?
Yes. Attach 2 to 10 images or videos and the post publishes as a carousel. Single images take alt text; set it when you upload with the alt field.