Integrations are how Mediastilo publishes your finished drafts to the places your audience actually reads. You connect a destination once per brand, and from then on you can push any ready draft straight to it. Connections are managed from the Integrations section of your dashboard.
<!-- screenshot: Integrations page listing available destinations and their status -->Supported destinations
Mediastilo ships with three publishing destinations today:
| Destination | What you connect | What you'll need |
|---|---|---|
| WordPress | A self-hosted or WordPress.com site via the REST API | Site URL, username, and an Application Password |
| Ghost | A Ghost site via the Admin API | Admin API URL and an Admin API Key (id:secret) |
| Webhook / Custom REST | Any HTTP endpoint you control | Endpoint URL and a signing secret |
Each destination is a per-brand connection, connecting WordPress for one brand doesn't connect it for the others. See Workspaces & Brands.
Publishing is a plan-gated feature. If you don't see Integrations or the Push action, check your plan in Credits & Billing.
Connecting a destination
- Go to Integrations and choose a destination type.
- Fill in its fields (see below). Secret fields, passwords, API keys, signing secrets, are encrypted at rest and masked whenever you view the connection again.
- Mediastilo runs a test connection to confirm the credentials work before saving.
- The connection shows as Active when it's good, or Error if a later check fails (for example, if you rotate a key on the destination).
You can re-run the test at any time, reconnect with new credentials, or disconnect a destination entirely.
<!-- screenshot: Connect WordPress dialog with masked Application Password field -->WordPress
WordPress has a guided setup. Click Set up with guide, enter your site address, and Mediastilo checks the site and offers the smoothest path:
- One-click authorization (recommended). If your site supports it, Mediastilo sends you to your own WordPress to approve access, with no passwords to copy. WordPress generates an Application Password and hands it back automatically.
- Manual entry (fallback). If one-click isn't available, create an Application Password in WordPress (Users → Profile → Application Passwords) and paste it with your site URL and username.
After connecting, the wizard lets you choose publishing defaults (the post type, default categories, and whether posts go out published or as a draft) and optionally refresh your Brand voice by re-analyzing the site (this uses one analysis credit). You can change these later from the WordPress connection (Edit publishing defaults).
Ghost
Mediastilo uses the Ghost Admin API. In Ghost, create a Custom Integration
(Settings → Integrations → Add custom integration) to get an Admin API key in
the form id:secret, plus the Admin API URL. Paste both here.
Webhook / Custom REST
For anything else, point Mediastilo at an endpoint URL you control. On publish,
Mediastilo sends a JSON POST describing the content, signed with an
X-Mediastilo-Signature: sha256=… header derived from your signing secret so
your receiver can verify the request is genuine. A ping event is sent when you test
the connection.
Publishing a draft
Once a destination is connected and a draft is Ready, use Push in the editor or draft view to send it. You can publish to several destinations at once by selecting them. For a selected WordPress destination, you can fine-tune the post type, categories, tags, and status right there, pre-filled from your saved defaults and overridable per publish. Mediastilo:
- Sends the title and body, as a published post (or a scheduled one, if you set a publish time), with your chosen post type, categories, and tags.
- Records the result, the destination's post ID and a link to view it.
- Marks the publication published or failed, with the error if something went wrong, so you can fix the connection and try again.
See Drafts & Publishing for the full draft lifecycle.
What a connection reads
A connection is two-way. Besides sending drafts out, Mediastilo reads back what that site has already published — title, date, author, categories and tags — so your own output can be measured the same way we measure everyone else's. Nothing extra is asked of you: the reading uses the credentials you already gave for publishing, and only ever reads published posts. Drafts, private posts and anything behind an editorial workflow stay where they are.
This is the difference between a site you publish to and a site you watch: a connected CMS gives real dates and real categories rather than what a public page happens to show, so it is the ground truth your benchmarks are built on. Disconnect the destination and the reading stops with it.
What comes back: Google Search Console
Destinations are where your content goes. Search Console is the other half: what happened after it got there. Connecting it lets Mediastilo see the search terms people typed before they found your site, which pages they landed on, and how often, so the ideas we suggest are based on what people actually search for and not only on what you tell us you cover.
It lives in the What comes back section of the Integrations page, below your destinations.
<!-- screenshot: Integrations page, "What comes back" section with Search Console -->What we read, and what we can't do
- We read search terms, landing pages, clicks, impressions and average position, for up to the last 16 months.
- The permission is read-only. Mediastilo cannot change anything in Search Console or anywhere else in your Google account.
- We never see your Google password, and you can disconnect at any time.
You can also just ask
Once either connection exists, Ask and the draft assistant can read it in a conversation — "what are people typing to find us?", "how did last week's piece do?", "what have we actually published this month?". The tools are offered to a conversation only when the connection is there, so an answer about your search terms is never assembled out of general knowledge. Until you connect, Ask will say what it is missing, and can hand you a card that takes you to this page; the connection itself is always made by you, under your own account.
Before you connect
You need to already be verified as an owner or user of the site in Search Console, using the Google account you're about to connect. If you connect an account that isn't verified for your site, the connection succeeds but there is nothing to measure, Mediastilo will tell you so and offer to try another account.
Choosing which site to measure
After you authorize, you pick one property. Search Console has two kinds and they are not the same dataset:
| Kind | Covers |
|---|---|
Domain (example.com) | Every subdomain, and both http and https |
URL prefix (https://www.example.com/) | Only addresses that start with exactly that |
This is the single most common way a Search Console connection quietly returns
nothing: a site that serves example.com measured by a property for
https://www.example.com/. Mediastilo compares each property against the site
you already publish to and marks the likely one Matches your site, so in most
cases the right answer is already at the top of the list.
Properties you can see but not read (Search Console calls this an unverified user) are shown greyed out with the reason. Ask the site's owner for full or restricted access and they'll become selectable.
Nothing is ever chosen for you, even when there's only one option, because the choice decides what every later number means.
While history fills in
The most recent days arrive first, so the last month is usable almost immediately. Earlier months are collected in the background over the following days and the card shows how many of the sixteen months it holds so far.
Search Console publishes its data on a delay of a few days, so the newest figures are always a little behind today. This is Google's lag, not ours.
Reconnecting and disconnecting
- Needs reconnecting means Google stopped accepting the connection, usually because access was removed in the Google account, or the person who granted it left. Nothing collected is lost: reconnect and measuring resumes where it stopped.
- Disconnect removes the connection and deletes the search figures collected under it.
Troubleshooting
- Connection shows Error: re-run the test. The most common causes are a rotated API key, an expired Application Password, or a changed site URL. Reconnect with fresh credentials.
- WordPress fails: confirm the Application Password (not the login password)
and that the REST API is reachable at
…/wp-json/. - Ghost fails: confirm the key is the full
id:secretAdmin API key and the URL points at your Ghost admin domain. - Webhook fails: confirm your endpoint returns a
2xxstatus for thepingevent and verifies theX-Mediastilo-Signatureheader.
What's next for integrations
The connection model is built to grow, destinations are pluggable, and one-click authorization is already live for WordPress. Bringing the same paste-free sign-in to more platforms is on the roadmap. New destinations appear in the Integrations list automatically as they ship.
See also
- Drafts & Publishing: generating and pushing drafts.
- Workspaces & Brands: connections are per brand.
- Account & Settings: where Integrations live.
- Credits & Billing: which plans include publishing.