Help Center

Integrations

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:

DestinationWhat you connectWhat you'll need
WordPressA self-hosted or WordPress.com site via the REST APISite URL, username, and an Application Password
GhostA Ghost site via the Admin APIAdmin API URL and an Admin API Key (id:secret)
Webhook / Custom RESTAny HTTP endpoint you controlEndpoint 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

  1. Go to Integrations and choose a destination type.
  2. 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.
  3. Mediastilo runs a test connection to confirm the credentials work before saving.
  4. 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:

KindCovers
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:secret Admin API key and the URL points at your Ghost admin domain.
  • Webhook fails: confirm your endpoint returns a 2xx status for the ping event and verifies the X-Mediastilo-Signature header.

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