IDMA documentation

How to connect your tools, what each command takes, and what IDMA does and doesn't store.

Last updated

Getting started

You can use the website analyzer right now without an account — it runs a dozen checks on a single page. Everything else lives inside a project, which is one workspace per site or brand.

A project holds its own chat thread, its own connected tools, and its own schedules. Agencies keep one per client so access never bleeds across accounts. For the sequence from signup to first result, see How it works.

Status: IDMA is pre-launch. The analyzer is live; projects, connectors, and automations are marked At launch below where they aren't built yet.

Voice assistant

A voice assistant project is the second project kind. It has a phone line at its centre instead of a website, so it has no chat thread, no connectors and no automations — every one of those exists to do work on a site. You pick the kind in the first step of the create dialog, and it cannot be changed afterwards.

Status: the configuration surface is live — you can build an assistant and save it. There is no telephony connection yet, so no number reaches it, no calls are answered, and the call log stays empty and says so. Nothing is metered while that is true.

What you configure

  • Name, tone and greeting — what it calls itself and the first thing every caller hears.
  • What it must never do — one restriction per line. Quoting prices, promising delivery dates, discussing account details: whatever would cost you if it got it wrong.
  • The line it says when it doesn't know — its own field rather than part of the prompt, because it decides whether a caller feels helped or stonewalled.
  • Business hours — per day. A day left unchecked is a closed day. Outside your hours it takes a message, answers normally, or forwards to a number you give it.
  • Departments — up to twelve. Each is matched on its description, not on keywords, so “my order hasn't arrived” reaches Support without you having listed the word “arrived”.

Accessibility defaults

Continue-by-text and keypad input are both on by default and are requirements rather than features. A voice-only line excludes Deaf and hard-of-hearing callers, and speech recognition fails on accents, poor lines and speech differences. You can turn them off; think about who that leaves out first.

Recording

Recording is off by default and turning it on requires an announcement callers hear before anything is recorded — the form refuses to save without one. Your callers never signed up to IDMA and never agreed to be recorded. Whether you may record them at all depends on where you and they are, and that obligation is yours, not ours. Check what applies to you before enabling it.

“Switched on” is not “answering”

The switch at the bottom of the form records that you consider the assistant ready. It does not mean calls are being answered, and it cannot until a number is connected — the page says which of the two is true at the top, every time you open it.

Connectors

Connectors are configured inside the project that uses them, never in account settings. Credentials are scoped to that one project. A voice assistant project has none of these — every connector below feeds an SEO agent.

WordPress

Available now

The only connector that lets IDMA change anything. The Technical Fixer uses it to apply the fixes it found — meta descriptions, titles, alt text — and the Content Writer uses it to save drafts into your CMS. Without it, /fixer still runs, but it can only tell you what to do by hand.

Before you start: WordPress 5.6 or newer, an account with the Editor or Administrator role, and application passwords enabled (they are by default on HTTPS sites).

Setting it up

  1. In WordPress, go to Users → Profile and scroll to Application Passwords.
  2. Type a name you'll recognise — “IDMA” — and click Add New Application Password.
  3. Copy the password WordPress shows you. It is displayed once and never again.
  4. In IDMA, open the project's Connectors panel and enter your site URL, your WordPress username, and that password.
  5. IDMA immediately checks the credential and tells you which role it has — an account that can't edit content is caught here, not mid-fix.

Watch out: Your normal login password will not work — it has to be an application password. WordPress shows it with spaces for readability and IDMA strips them for you, so paste it either way.

Permissions: An application password is revocable from WordPress at any time and never exposes your account password. IDMA needs an Editor or Administrator account to change content.

What IDMA can see: IDMA authenticates as the account you name and can do whatever that account can do. Prefer an Editor account over an Administrator one unless you need plugin changes. Every write is recorded in the run's WordPress action log.

To disconnect: Users → Profile → Application Passwords → Revoke. IDMA loses access immediately and your account password is unaffected. Disconnecting inside IDMA also deletes the stored credential outright.

Google Search Console

Available now

Turns estimates into measurements. Audits normally infer how a page is doing; with Search Console connected they read your actual impressions, clicks, average position and indexing state, so the priority list reflects the pages that genuinely matter to your traffic.

Before you start: A verified Search Console property, a Google Cloud project with the Search Console API enabled, and a service account key in JSON form.

Setting it up

  1. In Google Cloud Console, create (or pick) a project and enable the Search Console API.
  2. Go to IAM & Admin → Service Accounts, create one, then add a key of type JSON and download it.
  3. Open Search Console → Settings → Users and permissions, and add the service account's client_email as a user with Full permission.
  4. Paste the whole JSON key file into IDMA's Connectors panel.
  5. IDMA lists the properties that key can actually see — the most common mistake is a valid key that was never added to the property, and this catches it.

Watch out: The most common failure is a perfectly valid key that was never added to the property — everything looks right and no data appears. Copy the client_email out of the JSON and add it as a user in Search Console. IDMA's health check lists the properties your key can see, which is how you confirm it worked.

Permissions: Read-only. IDMA requests the webmasters.readonly scope and cannot change anything in Search Console.

What IDMA can see: Read-only. IDMA requests the webmasters.readonly scope, so it can read performance and indexing data and cannot alter your property, submit sitemaps, or request removals.

To disconnect: Search Console → Settings → Users and permissions → remove the service account, or delete the key in Google Cloud. Either takes effect immediately.

Semrush

Available now

Adds the off-page half of a technical audit: backlink profile, referring domains, and domain-level competitive metrics that cannot be discovered by crawling your own site.

Before you start: A Semrush subscription that includes API access, and enough API units for the reports you plan to run.

Setting it up

  1. In Semrush, open Subscription info → API units and copy your API key.
  2. Paste it into the project's Connectors panel.
  3. IDMA runs one small query to confirm the key works and has units available.

Watch out: API access is not included in every Semrush plan. If the health check says the key is rejected, confirm your plan includes API units before re-entering it.

Permissions: Bring your own key — IDMA uses your Semrush plan and its API units. Requires a plan that includes API access.

What IDMA can see: Read-only queries against your own Semrush quota. Each audit consumes a small number of API units from your plan.

To disconnect: Delete the key in the project's Connectors panel, or rotate it in Semrush. Rotating invalidates the stored key immediately.

SerpAPI

Available now

Lets IDMA discover who actually competes with you by reading live search results for your field of work — rather than only analysing the competitors you thought to name in Setup.

Before you start: A SerpAPI account. This one is optional: without a key, IDMA uses its own where available.

Setting it up

  1. Copy your API key from the SerpAPI dashboard.
  2. Paste it into the project's Connectors panel — or leave it blank to use IDMA's own key where available.
  3. IDMA checks the key and reports how many searches remain on it.

Watch out: This is the only connector with a platform fallback, so competitor discovery may keep working after you remove your key. Worth knowing if you need it to use only your own quota.

Permissions: Optional. This is the one connector that falls back to IDMA's platform key when you don't set your own.

What IDMA can see: Read-only searches. Each competitor-discovery run consumes a few searches from whichever key is used.

To disconnect: Clear the key in the Connectors panel. Discovery then falls back to IDMA's key, or is skipped if none is available.

KWfinder

Available now

Supplies search volume and keyword difficulty, so the Strategy Generator ranks opportunities on real numbers instead of ordering them by guesswork.

Before you start: A Mangools account on a plan that includes API access.

Setting it up

  1. In your Mangools account, open Settings → API and copy the access token.
  2. Paste it into the project's Connectors panel.
  3. IDMA runs one keyword lookup to confirm it works.

Watch out: The token is under Mangools account settings, not inside the KWfinder tool itself — it is shared across all Mangools products.

Permissions: Bring your own key. Requires a Mangools plan with API access.

What IDMA can see: Read-only keyword lookups against your own quota.

To disconnect: Regenerate the token in Mangools, or delete it in the Connectors panel.

Google Custom Search

Available now

Used during project setup to discover sources and related terms for your field of work.

Before you start: A Google Cloud API key with the Custom Search API enabled, plus a Programmable Search Engine and its Search engine ID.

Setting it up

  1. In Google Cloud Console, enable the Custom Search API and create an API key.
  2. At programmablesearchengine.google.com, create a search engine and copy its Search engine ID (the cx value).
  3. Paste both into the project's Connectors panel.

Watch out: Two separate values are required from two different places — the API key from Google Cloud, the cx from the Programmable Search Engine control panel. Neither works alone.

Permissions: Read-only search. Google's free tier covers 100 queries per day.

What IDMA can see: Read-only search. Google's free tier allows 100 queries per day; beyond that Google bills your Cloud project.

To disconnect: Delete or restrict the API key in Google Cloud Console.

Slash command reference

Plain sentences work everywhere — commands just skip the routing step. Each canonical command has agent-named aliases that resolve identically.

Parameters are key=value pairs after the command, in any order. Quote any value containing spaces. Every parameter is optional unless its fallback says otherwise.

/analyzer [max_pages=50]Technical SEO Analyzer

Crawls your site and scores its technical health, then ranks what to fix first.

Also works as: /audit, /technical-seo, /analyze

Before you run it: Nothing. Works on any public site. Connect Search Console or Semrush to add indexing and backlink data to the same report.

Parameters

Parameters accepted by /analyzer
NameValueIf omitted
max_pagesnumber, 1–200How many pages to crawl. Larger crawls take proportionally longer.50
urla full URLCrawl somewhere other than the project's own site — a staging domain, say.your project's domain

You get back: A health score out of 100, a prioritised fix list, Core Web Vitals, and indexing status. Issues carry the pages they affect.

Examples

  • /analyzer
  • /analyzer max_pages=100
/content-analyzer [max_pages=30]Content SEO Analyzer

Reads your published content for E-E-A-T signals, groups it into topic clusters, and finds the gaps.

Also works as: /content-seo, /content

Before you run it: Nothing, but fill in Setup first — without your audience and field of work the analysis has nothing to judge relevance against.

Parameters

Parameters accepted by /content-analyzer
NameValueIf omitted
max_pagesnumberHow many content pages to read.30
urla full URLAnalyse a different site.your project's domain

You get back: E-E-A-T scores per page, topic clusters, a content gap list, and recommendations.

Examples

  • /content-analyzer
  • /content-analyzer max_pages=60
/strategy [time_horizon_days=90]Strategy Generator

Merges your latest technical and content audits into one prioritised plan with a content calendar.

Also works as: /plan

Before you run it: At least one audit. Run /analyzer or /content-analyzer first — with neither, there is nothing to build a plan from.

Parameters

Parameters accepted by /strategy
NameValueIf omitted
time_horizon_daysnumberHow far ahead to plan. Shorter horizons produce fewer, more urgent actions.90

You get back: Priority actions with impact and effort, a monthly plan, a content calendar, and expected outcomes.

Examples

  • /strategy
  • /strategy time_horizon_days=30
/fixer [dry_run=true]Technical Fixer

Applies the fixes it safely can through WordPress, and writes step-by-step guidance for the rest.

Also works as: /fix

Before you run it: The WordPress connector, for anything other than a preview. Without it the agent still tells you what it would change.

Parameters

Parameters accepted by /fixer
NameValueIf omitted
dry_runtrue or falseLeave it alone to preview. Set dry_run=false only when you have read the preview and want the changes made to your live site.true — it previews by default

You get back: What was fixed, what still needs a human, and a log of every WordPress call. The card states plainly whether it was a preview or a real edit.

Examples

  • /fixer
  • /fixer dry_run=false
/writer topic="..." [type=blog_post] [words=1500]Content Writer

Turns a topic into an outline and a full draft shaped by your audits and business context.

Also works as: /write, /draft

Before you run it: Nothing, but a /content-analyzer run first makes the draft far more specific — it writes against your real gaps rather than in general.

Parameters

Parameters accepted by /writer
NameValueIf omitted
topictext in quotesWhat to write about. Quote anything with spaces: topic="Best CRM for freelancers".required — the agent has nothing to write about without it
typeblog_post or landing_pageChanges the structure. blog and article also resolve to blog_post; landing and page resolve to landing_page.blog_post
wordsnumberTarget length. Treated as a target, not a hard limit.1500

You get back: A title, meta description, suggested slug, headings and a full HTML body — saved as a draft. Nothing is ever auto-published.

Examples

  • /writer topic="Best CRM for freelancers"
  • /writer topic="Pricing page rewrite" type=landing_page words=800

Automations

Anything you can ask for once can run on a schedule. Results land in the project thread alongside everything else.

Auto SEO Fixer

At launch
Default schedule
Weekly · Mondays 09:00 — editable per project.
Trigger
Re-crawls the site on your schedule and diffs the result against the previous run.
Output
One thread message: what regressed, what's newly broken, and what it can fix — each fix listed as an item you approve or skip.
Guardrail
It proposes changes. It never edits your site unprompted.

Auto Content Generator

At launch
Default schedule
Monthly · 1st at 08:00 — editable per project.
Trigger
Takes the keyword gaps the Strategist found and turns the highest-opportunity ones into briefs.
Output
Outlines and first drafts in the project thread, and optionally saved to your CMS.
Guardrail
It saves a draft. Nothing is published on your behalf.

Limits and quotas

These are the public analyzer's limits, which apply without an account. Plan limits for projects are on the pricing page.

Analyzer rate limit
5 per hour, 2 per minute
Per IP address, on the free public analyzer. Cached results don't count against it.
Analyzer cache
6 hours
Analyzing the same URL again within six hours returns the stored result instead of re-fetching.
Fetch budget
5 seconds, 2 MB, 3 redirects
The analyzer gives up rather than hanging. A slow homepage is reported as a finding, not an error.
Pages per analyzer run
1
The public analyzer reads your homepage only. Multi-page crawling is the Technical SEO Analyzer's job inside a project.

Data and privacy

What does the public analyzer store?
The normalized URL, the check scores, and a salted SHA-256 hash of your IP address. Never the raw IP, and never the content of the page — it's fetched, parsed in memory, and discarded.
What happens to connector credentials?
They're stored per project, so access granted for one client's site is never visible to another project. Disconnect at any time; agents that depended on it say so rather than silently falling back to estimates.
Does IDMA publish anything on my behalf?
No. The Auto SEO Fixer proposes changes and waits for approval. The Auto Content Generator saves drafts. Neither writes to your live site without you.
What do you keep from the contact form?
Your name, email, and message so we can reply, plus a salted hash of your IP for spam prevention.

Troubleshooting

Common IDMA errors, what causes them, and how to fix them
SymptomCauseFix
Analyzer says “We couldn't reach that URL.”The site didn't respond within 5 seconds, or DNS didn't resolve.Check the URL loads in a browser, then retry. A 500 from your site is reported as a finding, not this error.
Analyzer returns 429You're over 5 analyses in an hour or 2 in a minute from one IP.The response includes a Retry-After header telling you how long to wait.
“That address can't be analyzed.”The hostname resolves to a private, loopback, or link-local address, or uses a non-standard port.Only publicly reachable http/https sites on ports 80 and 443 can be analyzed.
Search Console connects but returns no dataThe property is verified but has no data for the period, or you picked the wrong property variant (http vs https, www vs bare).Check which property variant actually receives traffic in Search Console, then reconnect against that one.
WordPress connection fails with 401The application password was copied with its spaces stripped, or the account lacks the Editor role.Regenerate the application password and paste it exactly as shown, spaces included.

Still stuck? Send us a message with the URL and what you expected to happen.