Replit
Connect an app built with Replit so RankYak publishes articles to it through a webhook that the Replit Agent sets up from a prompt.
The Replit integration lets RankYak publish articles to an app you built with Replit. A Replit app has no CMS for RankYak to log in to, so the Replit Agent creates the receiving end instead: RankYak provides a setup prompt, the Agent adds a blog and a webhook to your app, and from then on every new article is delivered to your app, live or as a draft for your review.
Connecting
The connection takes four steps: one in RankYak, two in Replit, and one back in RankYak.
- Go to Settings, then Integrations, click Connect next to Replit, and click Continue. RankYak creates the connection with a secret and opens the connection settings, which show the setup prompt.
- In your Replit app, open Tools, then Secrets, add a secret named
RANKYAK_WEBHOOK_SECRET, and paste the value that RankYak shows next to Copy secret. The Replit Agent refuses a secret pasted in its chat, so the prompt names the secret but does not contain it. - Click Copy prompt and paste the prompt into the Agent chat of your Replit app. The prompt makes the Agent create an
articlestable in the app's PostgreSQL database, a routePOST /api/rankyak-webhookthat checks the secret and stores each article, and the pages/blogand/blog/:slug. The Agent reads the secret from your app's Secrets. When the Agent finishes, it deploys the app and prints the URL of the webhook on the deployed app. - Back in RankYak, paste that URL into Webhook URL and click Save. RankYak sends a test request to the URL, and when your app answers, the connection shows as connected. Publishing starts with the next scheduled article.
You should paste the URL of the deployed app, which ends in .replit.app unless you use a custom domain. The development URL of a Replit app sleeps when you are not working on it, so RankYak cannot reach it. Of course, you may reopen the setup prompt and the secret at any time by clicking Edit settings next to the connection.
If the test request fails, RankYak keeps the URL and tells you why under the field. Typically, an unreachable endpoint means the app is not deployed yet or the development URL was pasted, and a rejected secret means the secret in your app's Secrets does not match. Ask the Agent to correct it, then click Save again.
What your app receives
Each article arrives at your webhook as JSON: the title, the body as HTML and as Markdown, the excerpt, the meta title and description, the URL slug, the header image URL, and the relevant dates. The body holds no title of its own, so your pages render the title as the heading. The article object matches the payload described on the webhooks page, wrapped in an event name and a status. The secret travels in a request header, so only RankYak writes to your blog.
Your app answers with the address of the new article page, and RankYak shows that address as the live link on the article. If your app answers with something else, you may enter a Blog URL in the connection settings, and RankYak builds the link from that URL and the slug. You may also report the address through the article's actions menu or the API.
The Replit connection is separate from the webhook in the Developer zone. You should not point both at the same endpoint, since your app would then receive every article twice.
Publishing as drafts
If you would like to review each article before it goes live, enable Publish articles as draft in the connection settings. Each article then arrives with the status draft, your app stores it without showing it, and you decide in your app when it goes live, for example by changing its status in the table. A draft has no address yet, so RankYak leaves the live link empty until you report it.
Updating articles
When an article is refreshed or rewritten in RankYak, it is delivered again with the event article.updated. Your app replaces the stored article by its id, so the page keeps its address and no duplicate appears. However, if you change the slug of an article in RankYak, the app stores the new slug and the old address no longer resolves, so you should add a redirect in your app when an address has already been shared.
When something fails
If your app answers with an error or cannot be reached, the article stays unpublished in RankYak. The article page shows the message your endpoint returned, and the owner of the organization receives an email with the same message. Fix the endpoint in Replit, redeploy the app, then publish the article again from its page.
Disconnecting
To stop publishing to your Replit app, go to Settings, then Integrations, and click Disconnect next to the connection. Publishing stops immediately; articles already on your app are not affected. Connecting again creates a new secret, so you should update RANKYAK_WEBHOOK_SECRET in your app's Secrets before the first article is delivered.
Still need help?
Ask the copilot inside RankYak for an instant answer about your own account, or send us an email and a human will get back to you.