#Publora
my big idea died on day 1: 7 ai agents found at least five products already had an mcp server for posting. cheapest possible day to lose an idea. so i bet on the part that's slow to copy: platform approvals. postwire.io/r/yuzgd
September 30, 2026 at 4:00 PM
IFTTT accepted our service on the first try. The flow broke on the first redirect.
Last week I was bringing Publora onto IFTTT. Our server was already live, OAuth was working, and the API was there. I expected most of the work to be filling in their application and getting through review. The application passed on the first try, in under a day instead of the estimated one to two weeks. The actual integration broke on the first authorization redirect. Here's what I ran into. ## The OAuth that didn't line up The first problem showed up immediately. IFTTT sends plain OAuth2: authorization code, no PKCE. Our authorization server requires PKCE. Their redirect arrives without a `code_challenge`, so our server rejects it. I tried the request in exactly the format IFTTT sends: GET https://mcp.publora.com/authorize ?client_id=...&response_type=code&scope=ifttt&state=...&redirect_uri=... -> 302 ...?error=invalid_request "expected string, received undefined" on code_challenge Add a `code_challenge` to the same request and it reaches the login screen normally. So there wasn't much mystery left: IFTTT doesn't send something our authorization server requires. I could either make PKCE optional on our server for IFTTT or put something between the two. I went with the second option. I added a small Cloudflare Worker between IFTTT and Publora. To IFTTT, it looks like the plain OAuth2 provider it expects: no PKCE and a non-expiring token. On the Publora side, the Worker runs the PKCE flow itself, generating the verifier and challenge before sending the request to our authorization server. That also gave me somewhere to handle the rest of the differences between the two APIs. IFTTT expects endpoints and responses in its own format, while Publora already has its own API. The Worker translates between them. ## Turning posts into an event feed IFTTT treats a trigger as a feed rather than a current state: up to fifty recent events, newest first, each with its own `meta.id` and `meta.timestamp` in seconds. For Publora that means one post group may need to become several events, one for each channel. Otherwise the `meta.id` isn't unique: for (const post of posts) { for (const target of post.platforms ?? []) { items.push({ content: post.content, account: label(connections, target.platformId), network: target.platform, occurred_at: at, meta: { id: `${post.postGroupId}:${target.platformId}`, timestamp: seconds(at) }, }); } } There's another requirement they test separately: every trigger needs to return at least three events during testing, so it behaves like a feed rather than a state sensor. An empty or short response doesn't pass. I also replaced hourly polling with realtime notifications. A Publora webhook is created when the connection is set up, and when an event arrives the Worker calls IFTTT's Realtime API. It doesn't send the event data there; it just tells IFTTT there's something new, and IFTTT fetches the feed itself. ## Five things I couldn't find in their docs This is where I spent most of the time. If you're building an IFTTT service, these are worth knowing before you start running their tests. **The`test/setup` endpoint is required, but I couldn't find it in the docs.** Their automated tests hit it second. There is a sample response in the dashboard under View scaffold JSON: it needs a `queries` section, and `media_url` can't be an empty string. The method isn't specified there, so ours accepts both GET and POST. **Ingredient slugs can double without showing it in the UI.** The form generates a slug while you're typing the field name, and entering your own can leave you with things like `contentcontent` and `occurred_atoccurred_at`. The resulting slug isn't visible in the form. I only found it in the service export under Tools, Export. A good chunk of my failed tests came from this. **The UI didn't show me why tests were failing.** I could expand the failed result row, but it was empty. The actual results were available through these endpoints: POST /services/<slug>/publish/endpoint_session -> session_id GET /services/<slug>/publish/endpoint_test_results?offset=N&session_id=... The results come in chunks, with `suite_end` marking the end. That's where I eventually found the individual failed checks. **A request with no fields needs to return a proper 400.** They test requests with `triggerFields` missing and with required keys missing inside it. The response needs an `errors` array. I initially supplied defaults in some of these cases, which made the tests fail. **The cursor is mandatory when results are limited.** If you return only part of the feed because of a limit, the response also needs a `cursor`. Without it, the test fails. ## Numbers Their run has 535 checks. I eventually got it to zero failures, after spending considerably more time than I'd like to admit on doubled slugs and test results hidden behind an empty UI row. There are also two launch requirements I hadn't found in the docs: twelve published applets and four service admins. You can submit the service without them, but you need them before launch. I submitted on September 7 and the review passed on September 8, so under a day against the estimated one to two weeks. The Worker ended up at about 700 lines of TypeScript and a 19.8 KB bundle. ## What I'd check first next time If you're doing an IFTTT integration, check the generated slugs in the service export rather than trusting the form. If an automated test fails without an explanation in the UI, look at `endpoint_test_results`. And before running the full suite, make sure you have `test/setup`, cursors on limited responses, and proper 400 responses for missing fields. For OAuth, I was glad I didn't make PKCE optional in Publora just to accommodate this integration. The Worker was already needed to translate IFTTT's API format, so handling the OAuth difference there kept the change isolated too. I built it with Claude: it wrote most of the TypeScript, while I tested the requests in IFTTT's format and worked out where the two sides disagreed. Most of the time went into finding those disagreements, especially the ones I couldn't see from the dashboard. The listing is here: https://ifttt.com/publora If you've integrated with IFTTT before and found another undocumented test, I'd like to know which one.
dev.to
September 16, 2026 at 3:39 PM
My first automated post through Publora
September 10, 2026 at 11:30 AM
Spent yesterday happily connecting things to Publora. Then found the free tier: 3 connectors, 15 posts/month ONLY. ~$20/month for what I need 🤯 Almost the same price I pay for Supabase
August 16, 2026 at 6:50 AM
Looking forward to more automation! #Publora #Automation
August 10, 2026 at 10:00 AM
My first automated post through Publora
August 9, 2026 at 8:21 AM
📆 Weekly https://lamabot.social update:

This week I was mostly busy working on building a sort of AI-native company around https://camelotai.tech.

✅ Publora works again
🎯 Make an AI native project

#buildinpublic #myelixirstaus #elixirlang #LamaBot
May 8, 2026 at 12:00 PM
Seems I forgot to delete random post scheduled for debugging https://www.raycast.com/anton_shvein/publora
#buildinpublic #Raycast #100DaysOfRaycast
September 10, 2025 at 4:17 AM
I think I should congratulate @sevaleo.bsky.social as well and express gratitude to him for publora.com and his support.
Publora - The Ultimate Social Media Management Platform
Save time and get real results on social media. Schedule posts, track performance, and grow your audience across all social platforms.
publora.com
September 9, 2025 at 2:39 PM
🎉 My first ever @raycast.com extension for managing social media through https://publora.com was finally published to store.

https://www.raycast.com/anton_shvein/publora

#buildinpublic #Raycast #100DaysOfRaycast #Publora
September 9, 2025 at 10:00 AM
Goals for this week:
🎯 Make landing and other pages editable from admin for https://lamabot.io
🎯 Write an article about Publora plugin for @Raycast.com for https://t0ha.ru
🎯 Design social media strategy
#buildinpublic #LamaBot #Raycast
September 1, 2025 at 8:00 AM
@sevaleo.bsky.social just submitted @raycast.com extension for review.
https://github.com/raycast/extensions/pull/21066
#RaycastAI #100DaysOfRaycast #Publora #buildinpublic
August 20, 2025 at 2:10 PM
Preparing https://publora.com extension for @raycast.com for publishing! 🎉

#RaycastAI #100DaysOfRaycast #publora
August 20, 2025 at 1:48 PM
Hi @sevaleo.bsky.social!
If you could see this post then PoC or @raycast.com extension for publora.com works.
Pls, review https://github.com/T0ha/publora-raycast
August 7, 2025 at 1:57 PM
I confirm publora.com to be a great tool. I use it weekly and it becomes better week to week.
Publora - The Ultimate Social Media Management Platform
Save time and get real results on social media. Schedule posts, track performance, and grow your audience across all social platforms.
publora.com
March 29, 2025 at 6:52 AM
Try this today:
Sit still.
Breathe deep.
Ask: what am I avoiding that would set me free?

My answer: creating a demo video for Publora :D
I've been postponing for a WEEK.
May 14, 2025 at 7:00 AM
I thought that making my first $$ on Publora would make me feel content and satisfied.
What happened is euphoria quickly gone and I feel more greedy.
Is that normal? 🤔
May 12, 2025 at 4:37 PM
Launching Publora on Fazier @FazierHQ tomorrow!!!! 🚀🚀
Where we aiming at?
THE MOON 🌕️
April 30, 2025 at 8:00 AM
Thinking about diving into video, but it feels like a mountain to climb.

If only there was a way to make it easier.

Publora, are you listening? 🤔
April 26, 2025 at 4:27 AM
FINALLY 🔥

Publora now officially supports FACEBOOK 🥳

now it supports 10 platforms

video, audio, story, reel, carousel, images, short text format, long text format - Publora now supports all of that

(sent this post through Publora to 4 platforms)
April 24, 2025 at 8:00 PM
I really really wanna start engaging more into video platforms, but making videos is... too much hassle.
Should I streamline this process too? What about if Publora does that for me? 🤔🤔🤔
April 24, 2025 at 11:00 AM
Good morning / good evening (morning for me) everyone

What's your plan for today?

Me:
- surfing
- yoga
- coding
- add some backlinks to Publora

April 23, 2025 at 9:17 PM
Publora is on G2!!!! 🥳🎉

If you use and it's been helping you, leave a review!
It will help more people to discover it =)

thanks
Sev

https://www.g2.com/products/publora/reviews
April 23, 2025 at 9:00 AM
Don't underestimate connecting with your users
My users shared so much that helped to shape and improve Publora.

Especially with finding bugs :D
April 23, 2025 at 6:00 AM
Hey, yo! 🫡

Publora now supports different text for different platforms within same post group!
April 2, 2025 at 1:04 PM