Weekly portfolio report
"Give me a growth report for my apps this week. What moved and why?"
The agent pulls movers, visibility and revenue across your portfolio and summarizes what changed, no dashboard required.
What you get on day one, what to ask your agent, where the numbers come from, what costs money, and what waits for your approval.
What works before you connect anything, what each connection adds, and how the agent gets in.
Plain language, no syntax to learn. The agent picks the tools itself and answers with the numbers behind them. Four asks people start with:
"Give me a growth report for my apps this week. What moved and why?"
The agent pulls movers, visibility and revenue across your portfolio and summarizes what changed, no dashboard required.
"Find new keyword opportunities for my app and track the best ones."
It mines competitor metadata and autocomplete, scores each candidate on difficulty and popularity, then starts tracking the ones worth chasing.
"Rewrite my promotional text to lead with the free trial, and propose it."
The agent drafts the change and files it for review. Nothing reaches App Store Connect until you approve the exact diff.
"Alert me if a competitor changes their title, or if I get a 1-star review."
Turn instant alerts on once in Settings and it mails you on metadata changes and new low reviews; ask your agent any time for a reply draft to approve before it goes live.
Every tool it can call, with scope, cost and when to use it: full tool reference.
Every ask below maps onto a flow that ships today. Under each is what the agent actually does with it.
"Publish build 42 for review."
Waits until Apple has finished processing that build, attaches it to the version being prepared, and files the submission for your approval. You upload the binary yourself from Xcode, Transporter or fastlane, because Apple exposes no API for that step, and the submission can never go through on auto.
"Draft replies to this week's 1-star reviews."
Reads your live App Store Connect reviews, drafts a response to each and queues them for approval. Nothing is published until it is approved, by you or by a policy you set to Auto beforehand, and App Store Connect caps a response at 5970 characters.
"Replace the screenshots on the English listing with the new set."
Reserves upload slots for the files, then proposes the new set for one locale and device size at a time. Replacing screenshots that are already live counts as high risk and waits for a human even when screenshots are set to Auto.
"Rewrite the subtitle to lead with the offline mode."
Files a diff of exactly that field. Six text fields are open to it: app name, subtitle, description, keywords, promotional text and what's new. You approve the diff, then it publishes.
"Which languages should I localize next? Then write the German listing."
Ranks the gaps by countries that send traffic with no localized listing, by the locales competitors ship, and by what your listing already fills, then proposes the copy for the new locale. The agent writes the translation itself; App Store Connect only checks lengths and locale codes.
"Did the new subtitle actually help?"
Records a hypothesis with the baseline and an observation window when the change goes out, then reports the outcome once the window closes. Ask any time and it lists the ones still open.
"What changed since I last checked?"
One feed of what moved: competitors' metadata, version and price changes, your keywords entering or leaving the top 10, chart moves, and hypothesis windows that closed. What waits in Approvals and what sits on your task board are two separate reads, so say you want those as well and it will fetch them too.
"Import my unreleased app from App Store Connect."
Imports it by ASC app id or bundle id with no public listing needed, and hands back the pre-launch checklist: texts, screenshots, category, age rating, price, availability. Keyword tracking and rank collection switch themselves on once the app ships.
"Reprice the yearly subscription one tier up."
Reads the product ids and the price points Apple offers today, then files one proposal for that one product. Money is never approved automatically, whatever the policy says, and existing subscribers keep the price they signed up at.
"Email this summary to my co-founder."
Sends it as plain text through your own SMTP connection. It sends only what you explicitly asked it to send, because an email cannot be recalled.
Copy one of these into the agent connected to your workspace. Replace the text in square brackets when it matters. Each prompt asks for evidence and limits, so the agent does not fill gaps with guesses or make a costly change before you say so.
A prompt is an instruction, not a permission. Your key scope, Agent permissions, approval rules and integration status still apply.
Start a new workspace, app or agent session with a clear baseline.
Orient me in this ASOHawk workspace. Inspect the workspace state, apps, integrations, data freshness, active tasks and permissions. Give me a short baseline: what is connected, what data is ready, what is missing, and the three highest-value next steps. Do not create or change anything.Add this App Store app to my ASOHawk workspace: [App Store URL]. It is [my app / a competitor]. Before you add it, tell me what data ASOHawk can collect for that ownership type. Afterward, report the starter keywords and first collection status. Do not add competitors or keywords beyond the starter set unless I confirm them.Audit the integrations needed for this goal: [goal]. Tell me exactly what App Store Connect, GA4, Apify and SMTP would each add to this workspace, what is already connected, and the next human step for anything missing. Never ask me to put a secret, private key or token into chat.Make a keyword tracking plan for [app] in [countries]. Inspect the app, its existing tracked keywords, competitors, quota and current data first. Recommend the countries and a staged keyword set with the reason for each group. Show the plan before you track, archive or change any country.Before we work, inspect my ASOHawk scopes and Agent permissions. Explain which actions will run, wait in Approvals, or be refused. Treat metadata, prices, screenshots, releases, email and paid ASA measurements as opt-in actions: show me the proposed effect and ask when the tool contract requires confirmation. Do not change my permissions.Build a reliable baseline before making an ASO decision.
Check whether ASOHawk has collected enough data for [app] and [country]. Show what is available for ranks, keywords, metadata, reviews, charts, downloads and revenue, when each was last refreshed, and the exact prerequisite for every missing layer. Do not invent a metric that has not been collected.Refresh the rank data for [app] now if the workspace rate limit allows it. Then tell me what changed in the latest snapshot and what is still on the normal collection schedule. Do not describe the result as live App Store data until the refresh has actually finished.Research a starting keyword set for [app] in the [country] storefront and [locale] listing. Use the current listing, visible competitors and ASOHawk data. Give high-, medium- and lower-demand candidates, explain why each fits, and separate evidence from hypotheses. Do not promise downloads or search volume. Wait for my confirmation before tracking terms.Give me a weekly report for my whole ASOHawk portfolio. Compare this week with the previous one across ranks, visibility, keywords, reviews, competitor changes, downloads and revenue where those data layers exist. Name the evidence for each conclusion, separate missing data from a zero, and finish with the three actions worth considering. Do not create tasks or proposals yet.I want to measure exact Apple Search Ads popularity for the most useful tracked keywords in this workspace. First find terms with proxy or missing popularity where an exact reading could change a decision and estimate a selected set without spending. Ask me for a maximum USD budget, no more than $5.00. Choose a set within it, show the exact estimate and storefronts, and ask for final confirmation. Start nothing until I explicitly confirm that exact set and amount. Afterward, report the run id and its status instead of starting a second run.Turn evidence into a focused ASO proposal, never a silent store change.
Find the highest-value keyword opportunities for [app] in [country]. Compare current tracked terms, rank gaps, competitors, difficulty, popularity provenance and the listing text. Return a ranked shortlist with the expected role of each term: defend, improve, test or avoid. Do not track terms until I confirm the shortlist.Audit the title, subtitle and keyword field for [app] in [locale]. Explain coverage, duplication, weak terms, competitor gaps and length constraints. Give three ranked rewrite directions with their trade-offs. Draft nothing for App Store Connect and do not create a proposal until I choose one direction.For [app] in [locale], use the current listing, keyword evidence, reviews and competitor positioning to propose the smallest metadata change likely to improve [goal]. Show the exact before-and-after text, the risk, evidence and limitations. Create an approval proposal only after I approve the draft in this conversation.Choose the next localization opportunity for [app]. Compare the locales already filled, storefront activity, acquisition data when available and competitor coverage. Rank the top three locale gaps, explain the evidence, and draft the first locale only after I select it. A new locale must be presented as a proposal, not published silently.Study the competitors of [app] in [country]. Tell me which changes, keywords, metadata patterns, ratings or chart moves are most relevant to us right now. Distinguish observed facts from interpretation, then give a short counter-strategy. Do not add new competitors or change tracking unless I say so.For [app] in [locale], identify the most important review or conversion themes that the listing could address. Recommend whether to draft review replies, improve screenshots, or change copy. Show the proposed response or visual brief first. Treat publishing a review reply and replacing a live screenshot set as approval-gated actions.Use these when you want one concrete answer instead of a broad audit.
What changed for [app] since [date or my last visit]? Check keyword and chart movement, competitor metadata or version changes, reviews, recorded listing changes, hypotheses, tasks and approvals. Give a dated timeline, then say which changes need a decision from me.Explain why visibility changed for [app] in [country] over [period]. Compare ranks and keyword coverage, identify which terms carried the movement, check known listing and competitor changes, and separate correlation from a proven cause. Give the next diagnostic step before suggesting a fix.How are downloads, proceeds, subscriptions and revenue changing for [app] over [period]? Use App Store Connect data only when it is available. Break down the answer by what the reports actually contain, call out reporting delays or missing ASC roles, and do not replace unavailable revenue with a public estimate.Diagnose retention and the product funnel for [app] over [period]. Use GA4 data if connected to find the largest drop-off, compare cohorts and feature adoption, and say whether the likely next step is product work, acquisition work, or more evidence. If GA4 is missing, tell me exactly what cannot be concluded.Check whether my own apps compete for the same keywords in [country]. Show overlaps, the current rank of each app, the severity hint and the business trade-off. Recommend only the overlaps worth resolving. Do not modify any listing until I choose a strategy and approve a proposal.Estimate the downloads and revenue range for this public App Store app: [App Store URL]. Give the confidence and limitations with the range. Treat it as a directional public estimate, not the developer's actual sales data, and do not add the app to my workspace unless I ask.Move work forward while keeping human decisions visible and reversible.
Show every ASOHawk approval that needs my attention. For each, summarize the exact change, risk, unresolved confirmation and expected effect. Recommend approve, reject or request a revision, but do not apply anything until I decide.Turn the evidence from [report or goal] into a small prioritized ASO plan for this week. Separate work the agent can do, work that needs my approval, and work that needs a human outside ASOHawk. Show the plan first, then create only the tasks I explicitly confirm.Prepare [app] and version [version] for App Review. Inspect builds, release readiness, metadata, screenshots, price, availability and missing compliance. Give me a checklist in dependency order. Do not upload a binary, attach a build, submit for review or change the listing until the relevant human confirmation is present.Draft a concise update about [app or portfolio] for [recipient]. Use only evidence available in ASOHawk, mark estimates and missing data, and show the full plain-text email to me first. Send it through SMTP only after I explicitly confirm the exact message and recipients.How ranks are taken, how long they live, and what difficulty and visibility actually measure.
Search popularity is the one number ASOHawk cannot derive on its own. Apple sells it, so every tracked keyword carries a free estimate, and the exact figure is there to buy when a decision turns on it.
proxy is that free estimate. asa is an exact reading this workspace measured itself. asa-aggregate is a pooled figure built from exact readings other workspaces paid for, published only once at least three independent workspaces have measured the same keyword, so it never exposes what any one of them did. none means the keyword carries no popularity number at all yet, not even the free estimate.popularity_source is still proxy or none, then narrow it with a rank band (rank_max) or a floor on the estimate (min_popularity).popularity_source: asa, and the number you then see is Apple's own. Terms with too little demand for Apple to report come back without a reading, keep whatever source they had, and are still billed. Measuring a keyword that already reads asa buys the same value twice, so your agent will not suggest it.What the agent may do alone, what waits for you, and where your credentials sit.
What can reach you without opening the dashboard.
Four things that are easy to miss.
Buy exact popularity for the keywords whose real demand would change your next move. Everything else can stay on the free estimate; it is there already and costs nothing to read.
Collection follows keywords, not the country list on an app. To start collecting in a new storefront, track a term there and the country comes along by itself. Editing the country list only changes what the switcher offers you.
Your plan caps keywords per app. Archiving a keyword keeps its history and gives the slot back, so a stale set is quietly costing you the room to test a new one.
An app with no public listing yet still imports straight from a connected App Store Connect account, by its ASC app id or bundle id. Keyword tracking and rank collection start by themselves once it goes live.
Eight sections in the sidebar. Your agent reads and writes the same data through MCP.
The ones a one-line description cannot carry: what each is for, how to work it, and what to ask your agent.
An order-of-magnitude read on how many downloads an app takes and what it earns, for any app in the store and not only your own. It answers the sizing question you have before you commit: how big is this competitor really, is this niche worth entering, what became of that app after its rebrand. No integration, no cost, nothing stored, so every submit is a fresh live lookup.
Paste an App Store link or a bare numeric app id. There is no search by name, no picker for the apps you already track, and the page always reads the US storefront. Back come daily and monthly downloads and revenue, each as a low to high band with a confidence label, where the monthly figure is the daily one times thirty. Ten estimates per workspace every ten minutes.
The signal underneath is review velocity: ratings posted in the last 90 days from the public reviews feed, cross-checked against lifetime ratings spread over the app's age, turned into downloads by a per-genre band. Chart positions and in-app purchases play no part. Revenue for a paid app is downloads times price less Apple's 30 percent; for a free app it rests on a flat revenue-per-download assumption, which is why free apps carry the roughest number on the page. Only a calibrated read reaches medium confidence, and calibration needs no integration: a pooled correction built from other developers' data applies on its own. Connecting App Store Connect swaps it for one built from your own real figures, which is the more accurate of the two. An app too new to have reviews gets no number at all rather than an invented one.
"Estimate downloads and revenue for this app: <App Store link>"
Runs the same estimate through estimate_app_performance, which unlike the page also takes a country, so you can ask about a storefront other than the US. It will answer for an app of your own too, but its contract tells the agent not to ask it there: for a connected app the real downloads and proceeds are one read away through inspect_revenue and inspect_acquisition.
A shared Todo, Doing, Done board for the workspace, split into the work you hold and the work your agent holds. Nothing files itself here. Every card is put there by you or by your agent, which is what makes it a handover point rather than another inbox.
A card carries a title, a description, a priority, a due date and an optional link to an app and to a tracked keyword. You delegate by assigning a card to your agent. The agent delegates back by assigning one to you, which is how it hands over what it cannot do itself: uploading a binary, approving a change, connecting an integration.
It opens a session with list_tasks, which by default shows only its own open work. It moves a card to Doing when it starts, posts short progress notes through a long job so you are not left watching an unchanged card, and closes it with a result note. An exact retry of create_task reuses the same open card, while a different title always creates a separate action item. It may only touch cards assigned to it; reassigning and archiving stay with you. Task activity shows in the Overview feed, but no alert and no digest line carries it, so the board is where you look.
"What is on your board? Start with the highest priority one."
Lists its own open cards, moves the first to Doing, and reports on that same card when the work is finished.
"Remind me to refresh the screenshots once 1.2 is out."
Files a card on your side of the board, linked to that app, instead of attempting it itself.
The memory that survives between sessions. Each record is a short note scoped to the whole portfolio, to one app, to a keyword cluster or to a locale, with a confidence from 0 to 1 and the evidence behind it. Anything claimed above 0.6 confidence has to carry evidence, so the strong statements come with their receipts.
Three writers fill it. Your agent records what it worked out. You record what you already know. And ASOHawk records bare facts as it notices them: a competitor rewrote its subtitle, an app shipped a new version, a price moved, ratings crossed a whole number. Those are labelled System and are written for every app you track, yours and your competitors' alike.
The agent reads them back on demand with get_relevant_memory, a text search over a topic that can be narrowed to one app. The System records also arrive unasked inside other answers: ask what moved and the listing changes recorded in the same window come attached, so a rank drop appears next to the competitor release that may explain it. This is a notebook, not a search engine: no tags, no semantic search. Archiving and deleting are yours, and the agent only adds.
"Before you touch the subtitle, check what we already learned about it."
Pulls the notes for that app and topic, ASOHawk's own record of the last subtitle change among them, and says what followed it.
"Remember that the German listing converts better without a price in the subtitle."
Stores it against that locale so the next session starts from it. To file it with high confidence it has to attach the evidence it is standing on.
A read-only log of mail that left through your own SMTP connection, which today means one thing: what your agent sent because you asked for it. ASOHawk's own mail, the alerts and digests, the invitations and password resets, goes out from ASOHawk's sender and never appears here.
A row shows the date, the recipient, the subject and who sent it. The body is stored but never shown back, and never returned to the agent either. The hundred most recent are listed, with no resend, no cancel and no delete, because this is a record of mail that already left. A send that failed leaves no row at all.
The guardrails sit on the sending side: plain text only, no attachments, up to five people in copy and ten recipients in total, ten emails an hour and fifty a day for the workspace. Sending does not pass through Approvals, so a key with write scope can send on its own. What holds it back is the tool's own contract, which tells the agent to draft in the conversation and send only once you confirm, because an email cannot be recalled. With no SMTP integration connected the tool refuses and points at Settings.
"Send this week's summary to my co-founder."
Shows you the wording first, then sends it as plain text from your own mailbox, and the row appears here.
"Draft a note to Apple about the rejected build."
Writes it in the conversation. It sends nothing until you tell it to, which is exactly what its contract asks of it.
The queue where anything a customer would see waits for a human. Wider than metadata, despite the name: text fields per locale, screenshots, replies to reviews, the app's price, an in-app purchase or subscription price, category, age rating, the territories the app sells in, a native A/B test, and the App Review submission itself.
A card shows the exact before and after, a risk badge, and the points you have to confirm. Screenshots come with thumbnails and a warning when the set would be replaced rather than extended. Owners and admins approve; members see the queue without acting on it.
Approving writes nothing to Apple. It authorizes the agent's next call, and that call is what pushes the change, which is why an approved card says it is waiting for the agent. Rejecting is final and the agent has to propose again. Nothing expires, so a pending card waits as long as you need. The counter beside the section in the sidebar is the only nudge you get, since no alert and no digest line covers a waiting approval.
Not everything stops here. Whatever you set to Auto in Agent permissions is approved by policy the moment it is proposed and lands in the queue already approved, which for review responses means a public reply can go out before you have read it. What can never be automatic, whatever you set, is listed under Approvals and safety above.
"What is waiting on me?"
Lists the queue with the status and risk of each item, and pulls the full diff of any one you ask about.
"I approved the subtitle change, push it."
Checks the card really is approved, confirms the points listed on it with you, then writes it to App Store Connect. A verification pass re-reads the listing minutes later and flags it if what landed differs from what you approved.