Recipe · Social
Instagram followers
Opens one Instagram profile in this profile's signed-in session, opens its followers dialog and files each account into Social profiles — handle and a link, keyed so the same list walked twice updates rather than duplicates. Runs on this machine only. Instagram loads this list slowly and in small pages, so a large account takes several runs rather than one long one.
What it does
This collects a list of people. Handles and profile links are personal data wherever you are, however public the account is — collect the smallest list that answers your question, and keep it no longer than the work needs.
The accounts following one Instagram profile, read out of the followers dialog into Social profiles. Slow by design — Instagram pages this list in small chunks and watches how fast it is asked for the next one.
It runs against one profile, through that profile's own proxy and with its own cookies — so the pages load the way that account's owner would see them. It navigates, so give it a profile whose session you are happy to have in use.
The 17 steps
The real tree, read out of the pack the launcher ships. Indentation is nesting: the steps under a loop run once per row, and the ones under a branch run only when the condition above them holds. Every {{…}} is a value filled in at run time — from the row being walked, from a setting on the run, or from the profile itself.
evaluateStamp the passRun scriptsetVarStart this run as unfinishedSet verdictsetVarClear the last diagnosisSet diagnosisevaluateBuild the followers URLRun scriptgotoOpen the followers listGo to {{vars.followers_url}}waitForWait for the dialogWait for selectoron failure: continuewaitWaitwaitWaitevaluateReady the collectorRun scriptloopRead, then scrollLoop timesEach time
evaluateCollect what is on screenRun scripton failure: continuewaitWaitevaluateTake everything collectedRun scriptevaluateWhat happened here?Run scripton failure: continueevaluateWhy did it match nothing?Run scripton failure: continuesaveRowsFile what was collectedSave to Social profilesscreenshotScreenshoton failure: continueEach of those is one of the step types on the automation reference, with the same fields the editor shows and the same fields an agent is handed over the local API.
The tables it uses
These load with the recipe. A dataset is a typed table your workspace owns — the columns are named and typed up front so the steps can address them, and every one of them is yours to rename, extend or fill from a file afterwards.
Social profiles
writesAccounts read off a followers or following list: handle and a link to the profile, keyed so the same list walked twice updates rather than duplicates.
- row_key
- Key · text
- username
- Handle · text
- profile_url
- Profile · url
- listed_on
- Listed on · text
- source_url
- Found on · url
- platform
- Platform · text
- collected_at
- Collected at · datetime
- profile
- Collected by · profile
- logged_in
- Signed in · select · Signed out | Signed in
Re-running updates the row it already wrote rather than adding a second one. That is what the match column in the save step is for, and it is the difference between a status check and a table that doubles in size every pass.
What it asks you for
Settings are filled in when the run starts, and every profile can hold its own values — which is how one workflow serves a whole folder of accounts.
- account
- Whose followers · text · required
- max_items
- Stop after · number
The handle whose followers list to read. You have to be able to see it — a private account shows its followers to people it has accepted.
How many accounts to keep. Instagram pages this list slowly; asking for thousands in one run is how a session gets rate-limited rather than how it gets a big list.
Loading it
In the launcher, open Automations, choose Load a starter pack, and pick Social. Untick anything you do not want. The tables land first, then the workflows, then a project called Social that links them together.
What arrives is an ordinary automation row. Open it in the editor, change a step, rename it, delete it — nothing in the app treats it as special afterwards, and loading the pack a second time makes a fresh copy rather than overwriting the one you edited. Tables are the opposite: an existing table of the same name is reused and keeps its rows.
The rest of the social pack
They load together, share the tables above, and land in one Social project.