Connecting Threads to Social Quack
One free developer app on Meta's site, a few minutes of clicking, and Threads posts go out on your schedule — with no App Review to submit.
Threads doesn't hand posting access to scheduling apps directly. Instead you create a small developer app of your own on Meta's developer site and paste two keys into Social Quack. You only do this once, and because that app belongs to you, the keys stay encrypted on your own Mac and the posting limits are yours alone — there is no shared pool of other people's posts to get you rate-limited or banned.
The app stays in Development mode the whole time, which is all you need to post to your own account. Nothing to submit, nothing to wait for.
1. Open the setup screen in Social Quack first
In the sidebar click Channels, scroll down to Add a channel, find the Threads card and click Set up app keys.
Leave that window open — you will be copying out of it and pasting into it as you go. It holds:
- the redirect URL Meta asks for, with a copy button beside it. Take it from that screen rather than typing something that looks right — Meta matches it character for character, and step 3 explains why it looks the way it does.
- the two boxes you fill in at the end: Threads App ID and Threads App Secret.
2. Create the app
- Go to https://developers.facebook.com and sign in.
- Click My Apps → Create app, give it any name, and pick the Threads use case when Meta asks what you want the app to do. (Already made a Meta app for Instagram or Facebook? Open that one and add Access the Threads API to it instead — you don't need a second app.)
3. Fill in the Threads settings
Open Use cases → Threads API → Settings and fill in three things.
| Field | What to put |
|---|---|
| Redirect Callback URLs | The redirect URL from Social Quack's setup screen — use its copy button so it matches character for character |
| Uninstall Callback URL | https://socialquack.com/oauth/callback/uninstall |
| Delete Callback URL | https://socialquack.com/oauth/callback/delete |
Two of those need a word of explanation.
Why the uninstall and delete URLs? Meta refuses to save the form without them. They point at our website only so the form is satisfied — nothing is stored on our servers; those pages simply acknowledge the request.
Why is the redirect URL an address on socialquack.com rather than your own computer? Threads rejects any sign-in that would return you to a plain, non-secure address. So Social Quack gives you a secure one to register, and that page does one job: it hands the sign-in straight back to the app running on your Mac.
4. Add the three permissions
Still inside that use case, switch from Settings to Permissions and features in the left menu. (Navigated away? Use cases → Threads API → Customize takes you back.)
Each permission on that list has an Add button beside it. Click Add on these three:
threads_basicthreads_content_publishthreads_manage_replies
There is nothing to apply for and nobody to wait for: your own app is granted them the moment you click.
5. Add yourself as a Threads Tester
Under App roles → Roles, add your Threads account as a Threads Tester.
The invitation will sit there marked Pending, and no email is sent. You accept it inside the Threads app itself:
Threads app → Settings → Account → Website permissions → Invites
Sign-in from Social Quack fails until you have accepted it, so don't move on until the role stops saying Pending.
6. Copy the two keys in and connect
Back in Use cases → Threads API → Settings, copy the Threads App ID and the Threads App Secret.
These are not the app id shown on your main app dashboard. The Threads use case has its own pair, and grabbing the main one is the most common reason sign-in fails later.
Paste them into the Threads App ID and Threads App Secret boxes in Social Quack and click Save. The keys are stored encrypted on your Mac, and the Threads sign-in page opens in your normal browser straight away; if it doesn't, click Connect on the Threads card. Approve the sign-in there, and your account appears under Connected. Social Quack deliberately sends you to a real browser window instead of showing that page inside the app, because Threads' sign-in doesn't survive being embedded.
7. Write your first post
A few things worth knowing before you queue anything up:
- 500 characters per post.
- Longer pieces become a chain: each part is posted as a reply to the one before, exactly as you would thread them by hand.
- One picture or video per post. Threads fetches media from a web address rather than taking a file upload, and Social Quack does that hand-off for you at posting time — there is nothing for you to set up.
Your connection lasts 60 days, and Social Quack quietly renews it once it has under a week left. If the app has been shut for a couple of months, it may simply ask you to connect again.
If something goes wrong
| You see | It means | Do this |
|---|---|---|
| "No app ID was sent" on the Threads sign-in page | Usually the Threads Tester invite is still Pending | Accept it in the Threads app: Settings → Account → Website permissions → Invites, then click Connect on the Threads card |
| "No app ID was sent", and the invite is accepted | The keys are from the main app, not the Threads use case | Re-copy the Threads App ID and Threads App Secret from Use cases → Threads API → Settings into Channels → Threads → Edit app keys, click Save, and sign in again |
| Threads blocks the sign-in as insecure instead of showing the login page | The redirect URL registered with Meta isn't the secure one the app expects | Copy it again from Channels → Threads → Edit app keys into Redirect Callback URLs in Use cases → Threads API → Settings, and save Meta's form |
| Sign-in works, but posting fails with a permission error | One of the three permissions was never added | Open Use cases → Threads API → Customize → Permissions and features, click Add next to threads_basic, threads_content_publish and threads_manage_replies, then click Connect on the Threads card again — that updates the channel you already have, so your queued posts stay put |
| "Threads could not process the post" | Threads rejected the picture or video; the message repeats the reason Threads gave | Try a different file, then post again |
| "Threads took too long to process the media" | A large video is still being processed at Threads' end | Nothing — Social Quack retries on its own; if it keeps failing, try a smaller file |
| Threads asks you to connect again after a couple of months | The 60-day connection lapsed while the app wasn't running | Channels → Threads → Connect — the keys stay saved, so it's one click |
Still stuck? [email protected].