> ## Documentation Index
> Fetch the complete documentation index at: https://developers.investorlift.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Prompts and chaining

> The seven prompts as recommended workflows, all of them at api.investorlift.com, and how the ids in one answer feed the next call.

The seven prompts are the recommended workflows: they name the tools to call, in order, and what to say about the answer.
A client that exposes prompts shows them as commands (Claude Code as `/godmode:<name>`). A key at api.investorlift.com
lists all seven prompts ([The twenty-six tools](/mcp/tools)). `investorlift_listing_outcome` and the Investorlift step of
`market_snapshot` run on the Investorlift-listing tools. Those tools are in early access for the team and trusted
partners.

| Prompt                         | Arguments, in order                                                                                                                   | The workflow                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `find_buyers`                  | `latitude longitude asking_price [condition] [arv]`                                                                                   | Open the parcel for its segment, beds and square feet. Rank buyers on that `property_id` with the subject facts. Open the top three to five profiles. Treat rows that share an `operator_id` as one operation. Put each `reasons[]` entry in plain words against the `data_end` the API measured it at.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `profile_investor`             | `investor_id_or_name [market]`                                                                                                        | Look the investor up by `investor_id` when the value starts with `inv_`, and by `name` otherwise. If it did not resolve, list the candidates and stop. Read the purchase history newest first, then the same history filtered to what is on the market. Close with kinds, scale, price band and buying cycle.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `investorlift_listing_outcome` | `wholesale_listing_id`                                                                                                                | Read the Investorlift listing. Follow `registry_deal_id` to the deed. Open the buyer when `buyer.tier` is a registry tier. Repeat `outcome_text` and the confidence word for word. Describe the record through `verification` and `outcome` only, never through a status in the app.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `market_snapshot`              | `latitude longitude [radius_miles]`                                                                                                   | Check coverage first, so you know the point sits in a loaded market and you have the as-of dates. Then get the headline counts, the ten busiest investors and the Investorlift summary for the same location. Say how many rows are unpriced.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `who_owns_this_house`          | `latitude longitude`                                                                                                                  | Resolve the parcel under the point. Open the holder when it is a registry investor. Where owner names are null, give the rule that produced the null instead of calling the data missing. Then list every deal on the parcel, newest first.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `same_buyer_check`             | `investor_ids` (comma list)                                                                                                           | Open each id in turn. Compare `operator_id` and `buyer_signal.operator_member_ids` to see which share an operation. Quote `merge_confidence`. Keep the ids, because an operator id lasts for one refresh.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `underwrite_property`          | `asking_price property`. The property is a `prop_` id, a `latitude,longitude` pair or a street address with its ZIP or city after it. | Open the parcel and carry its `property_id`, ZIP, `county_fips`, square feet and last purchase. Read the open liens, equity and LTV at their slice date. Get the comps for the median price per square foot and, among them, every comp whose `deal.kind` is flip (`gross_profit`, `hold_days`). Get the flips bought within a mile in the twelve months to `data_end`. Run a `count_only` search with `location.zip` a one-item list holding the ZIP. Filter it to the priced sales within 10 percent of the price in the same twelve months. That count is the ZIP's liquidity. Check if the market's coverage row carries the lender registry and its `lenders.counties` lists the parcel's county. If so, get the hard-money lenders ranked in the ZIP and the loans of the top two. If the market has no published registry, or the registry does not reach the county, say so in a sentence. Write the underwrite from those figures and repeat every `meta.dated[]` stamp. Say that Investorlift publishes the parcel layer only where the market's coverage row carries `parcel`. Say that, inside a market, the financing slice is what `parcel.financing` describes, and the lender registry covers the counties in `lenders.counties`. Say that Texas prices are mostly null and that nothing here is a valuation. |

To chain calls without a prompt, use the ids. Each id in one answer opens the next record:

* `property_id` from a deal row opens the parcel.
* `investor.id` opens the profile.
* `wholesale_listing.id` opens the Investorlift listing, and `registry_deal_id` the deed behind it.
* `listing.agents[].agent_id` opens the agent.
* A lender ranking row's `lender.id` opens the lender, its loans and its borrowers. The row is on
  `godmode_lenders_top` and, since 0.19.0, `godmode_lenders_nearby`.
* A borrower row's `other_lenders[].id` opens the lenders it also uses.
* An Investorlift listing's `lenders_active[].id` opens the lenders that fund investors in its ZIP.
* A financing block's `first_lien_lender_id` or `last_mortgage_lender_id` opens the lender behind a parcel's mortgage.
* A loan row's `deal.deal_id` opens the deed it financed. Its `investor_id`, or a borrower row's `investor.id`, opens
  the investor profile, whose `financing` block names the lenders it borrows from.

The parameter names carry the prefix the value must have, so a value from one answer fits the next call without
translation. `meta.resolved_from` lists old ids merged into the current one. Store the current id. `operator_id` groups
rows within one response only.

Two fields decide if a null means "no" or "not in this answer". Read both before you report a null as fact.

`meta.coverage[]` says which markets the answer covers and how fresh each is. A null `listings_data_end`,
`agents_data_end`, `wholesale_as_of` or `lenders` block means the market has no published data of that kind, not that
none exists. So the matching tools answer `listings_unavailable`, `agents_unavailable`, `wholesale_unavailable` or
`lenders_unavailable`, not an empty page. `auction_counted: false` means the same for `investor.auction`,
`bought_auction_kind`, `by_channel.auction` on `godmode_deals_summary` and the three auction filters
(`auction_unavailable`). `sale_mortgage_measured: false` means the same for `cash_sale_proxy`, the `cash-buyer`
quicklist and `sale.cash_sale` (`cash_sale_unavailable`). The API measures every "days since" from `data_end`, never
from today.

`meta.contact` says why contact fields are or are not there, in its four values. A null name under `redacted_no_scope`
is a rule. The same null under `served` is the record.


## Related topics

- [The twenty-six tools](/mcp/tools.md)
- [Connecting a client](/mcp/connect.md)
- [The MCP endpoint](/mcp/overview.md)
- [Introduction](/index.md)
- [Changelog](/changelog.md)
