- Brand
- Luasai
- Category
- Sales & CRM
- Primary Subcategory
- Partner & Ecosystem Revenue
Integration details
Description
Luasai helps revenue and channel teams inspect their governed opportunity pipeline, resolve account identities, and find or reveal relevant reseller relationships with clear pricing and tenant-scoped access.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Partner & Ecosystem Revenue
- Secondary Subcategories
- None listed
- Brand
- Luasai
- Access
- Account required
- First tracked
- 2026-10-28
- Tool count
- 22
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Luasai
Get updates when Luasai’s Discoverability Score or category rank changes.
Competing in ChatGPT Partner & Ecosystem Revenue
View Category22 tools agents can invoke
Open pipeline broken down by stage. Each stage shows deal count, total value, and average probability. Use this for 'where do my deals get stuck', 'show me the funnel', or 'which stage has the biggest backlog'.
luasai_reports_funnel
Pipeline by geography. Drill levels: region (default, flat array), sub-region (grouped by region), country (grouped by sub-region). Region rows include: label, openValue, closedWonValue, deals (count), partners (distinct partner count), hasChildren. Use this for 'pipeline by region', 'where are we strong/weak geographically', or 'how many partners are active in LATAM'. This report does not return top-reseller lists by geo; use luasai_reports_top_resellers with matching geo filters for that view.
luasai_reports_geo_breakdown
Explain what the Luasai connection can answer, give example questions, and state what is not available. Use this when the customer asks 'what can you do?', 'what's available?', or a similar first question.
luasai_opportunities_overview
Return one page of Luasai organization profiles (five per row by default, up to twenty with compact profile detail) for each submitted company name so the client's model can choose the intended graph entity or abstain. Resolve the account name the client supplies: a parent, group, or other supplied column value is an ordinary account lookup for that physical cell, so give every supplied cell its own stable input_id and keep each cell's result separate — an unmatched company cell is never replaced by a matched group cell. Submit at most 25 physical rows per fast call and at most five per scalar semantic call; pre-chunk larger lists while preserving every stable input_id. The explicit opt-in retrieval_mode 'bulk' instead sends ONE bounded authenticated request for every locally valid physical row (up to 1000) with compact profiles only, as a single pass with no candidate_cursor and no family_network alternate query, and returns a bounded caller-decided shortlist whose coverage is deliberately incomplete; an explicit three candidates per row is the recommended bulk shortlist for a whole-sheet run, and an empty or partial bulk window is never a final no-match, so recover unresolved input_ids with fast when operating-name or fuzzy coverage is needed, then semantic recovery. When the connected schema advertises bulk_semantic, batch the remaining semantic recovery into up to 20 compact rows; this opt-in lane requires a compatible advertised producer and returns candidates for caller decisions, never automatic matches. Fast indexed retrieval with compact profiles remains the default tool mode; the packaged whole-sheet workflow starts with compact bulk shortlists. Semantic retrieval and rich detail each accept at most five unresolved or ambiguous rows per call, and rich detail keeps at most five candidates per row; the total requested candidates across one fast or semantic call (rows times candidates_per_name) are capped at 125, so a wider compact page just walks further into the same 50-candidate window. Process every remaining unresolved row in subsequent sequential batches rather than treating five as a whole-sheet cap. Changing retrieval mode restarts that row at page one. Each row independently reports status ok or error. For transport or upstream-error recovery, keep successful rows and retry only failed input_ids; semantic expansion may separately re-query a status-ok ambiguous row. A row may carry an alternate_query with a declared basis to retrieve a bounded name variant of the submitted entity, or — only when the client has explicitly declared a broader related-account intent for that row — a separately evidenced related parent/family/network account; it is never an automatic fallback for an unmatched supplied name, and an unmatched supplied name completes as No match after bounded recovery rather than a family substitution. An alternate query changes only the retrieval string: the submitted name stays submitted_name, input_id is unchanged, the query and its basis are echoed on the row, and changing either invalidates that row's cursor. An alternate query is a retrieval lead, never an identity claim or match evidence, and a source parent or group cell can never establish the match; related-account retrieval never replaces a matched subsidiary identity or borrows its partner relationships. The submitted source name is preserved and echoed as submitted_name even when a source cell is far longer than the 2-120-character bounded retrieval query: an overlong name is never silently truncated and no prefix of it is searched, so send the grounded bounded variant as that row's alternate_query. A row whose effective search string falls outside the bounded range reports its own recoverable per-row input error instead of an empty search: source_name_too_long when a bounded grounded alternate_query is required, or insufficient_input for a blank or too-short original name that is never itself sent to search, where a grounded bounded alternate_query from usable row context may still carry that row's retrieval. Both are row-local input conditions, not identity verdicts, and both leave every sibling row complete. The published retrieval_hints schema accepts bounded geography, known-domain, alias, and organization-type clues; omit geography when a row has no valid country or region, and an otherwise empty geography object is ignored. Published hints add bounded retrieval leads as well as soft-ranking retrieval, and never become graph facts, filter candidates, or make a server match decision. Continuation cursors are opaque to the client, which resends the exact value without interpreting its version. A cursor is version-3-only: a cursor minted by a pre-fix server revision (continuation version 1 or 2) is refused per row as candidate_cursor_invalid before any lookup, because its older ranking offset cannot continue into the corrected fixed candidate window and would skip or repeat candidates; restart only that unresolved input_id without candidate_cursor, keeping the candidate copies, contradictions, and identity decisions already established for this row and all other rows. Do not page merely because next_candidate_cursor exists; use it only when current evidence leaves a plausible identity unresolved. For a row with no defensible fast candidate, restart at semantic page one before paging weak fast candidates. Results include aliases, domains, description, industry, geography, hierarchy, hint alignments, and retrieval ordering. A fast candidate's retrieval may include matched_field, matched_value, and lexical_match_kind naming the stored platform value (canonical, legal, display, alias, primary domain, verified domain, operating name, or operating legal name) that produced the lexical hit and how the strings compared (normalized_equal, prefix, compact_prefix, or the low-authority fuzzy trigram_fill). trigram_fill is bounded fuzzy name similarity over a candidate's own stored name: a low-authority retrieval lead only, never identity confidence, a match, or proof of a parent, family, or network relationship. Evaluate a trigram_fill candidate's organization_id against the submitted source row using its returned name, legal name, aliases, domains, description, and hierarchy before recording the binary completed outcome, and keep a matched exact subsidiary ahead of a merely similar or related account. That is a string-retrieval property only, never the account identity outcome, and normalized_equal compares normalized strings, so it can equate punctuation, spacing, or case variants. A primary_domain hit is that account's actual primary domain; a verified_domain hit is a stored verified domain claim on the same public canonical account, on the primary domain or a different one, and is an equality of stored values rather than source identity or family proof, so a domain shared by more than one organization stays a separate candidate clue for each. A matched operating name belongs to the same public canonical account rather than a separate account, and a semantic-only candidate may omit these fields. This tool never chooses a match, creates data, or writes to the client's system. Boundary for a domain-shaped candidate query: the exact-domain lane keeps its existing precedence. When it returns at least one eligible candidate, those candidates are the seed set and any supplied source-grounded domain/alias hints only re-rank them on that query, without adding a candidate from another hint owner; when the exact-domain lane returns no candidate, the request falls through to the hinted fast path, where those hints contribute bounded seeds. The response carries the static candidate_semantics explanation object by default; set the optional include_semantics input to false only when the client has already loaded the installed canonical identity workflow and its boundary rules, to omit that static explanation block. include_semantics=false changes no profile, result, canonical or profile fact, input echo, hint, status, error, continuation guidance, cursor, window, or truncation, and it is never carried in a signed identity token or cursor; the separate identity-evidence tool is unchanged.
luasai_graph_organization_candidates
Get recent Tasks and Email activity for a single opportunity. Use this for 'what's happening on deal X', 'when was the last touch', or 'has the AE followed up recently'. Returns subjects and dates only — task descriptions, email bodies, and email addresses are not exposed (privacy boundary). Call only when activity context is needed; the default opportunity view from `luasai_opportunities_get` is enough for most questions.
luasai_opportunities_get_activity
Get the change history for a single opportunity. Useful for 'what changed on deal X recently' or 'when did this slip from Q1 to Q2'. Tracks three fields only: stage transitions, close-date adjustments, and purchase-price changes — each event shows old/new value and when it changed. Pass `since` for incremental polling, paginate via `cursor`. Margin / sales price / profit are deliberately not exposed (commercial-sensitivity boundary).
luasai_opportunities_get_change_history
Get the full record for a single Luasai opportunity by ID. Use this when the user mentions a specific deal — pulls the structured opportunity shape (same core fields as opportunities_list plus additional detail fields). Document attachments and raw CRM context blobs are not included.
luasai_opportunities_get
Search and page through opportunities in the user's Luasai pipeline. Each row carries account name/domain/country, Luasai owner name/email, ISV AE name/email, product name/SKU/canonical IDs, opportunity/PO/invoice numbers when populated, close date, last activity date, stage, purchase price, reseller/contact fields, and subscription dates, plus two timestamps: `source_updated_at` (Salesforce LastModifiedDate, for human reading) and `replica_updated_at` (Luasai replica clock, the one to use for incremental sync). Use this for 'what's in my pipeline', 'what updated this week', or 'find opportunities for account X' — also as the foundation for any open-pipeline question (filter results client-side by stage / close date / etc). Filter by `updated_since` (ISO timestamp) for incremental polling — advance your watermark from the highest `replica_updated_at` you saw in the previous response. Otherwise paginate from the top with `cursor`. Document attachments aren't exposed (filename only on activity records); see luasai_opportunities_overview for the full picture of what is and isn't available.
luasai_opportunities_list
List reseller relationships previously revealed for selected account or software-company organization IDs in stable batches of up to 100. Supply subject_org_ids for the current spreadsheet rows instead of scanning company-wide reveal history. Viewing saved results never uses credits.
luasai_graph_revealed_relationships
Top opportunities ranked by purchase price (largest first). Compact leaderboard shape — each row has: id, name, account_name, partner_name, value, stage, close_date, owner_name, country. Use this for 'biggest deals in flight', 'top 10 deals closing this quarter', or executive 'show me what matters most' views. For full opportunity details (product, subscription dates, reseller contact, etc.) pass the `id` to `luasai_opportunities_get`.
luasai_reports_top_opportunities
Top resellers ranked by forecast value. Each row includes only: partnerName, forecastValue, closedWonValue, dealCount. Use this for 'who are our best channel partners', 'top resellers in EMEA closed-won last year', or 'partner performance review'. This report does not include region, country, or product-mix columns; for per-deal detail, pass a partner name through luasai_opportunities_list and group client-side.
luasai_reports_top_resellers
Prepare bounded organization-candidate choices for one to twenty physical account rows: in the DEFAULT output the client's model selects the intended graph entity per row or abstains, while the explicitly requested `response_format` "decisions" instead returns a deterministic own-equality acceptance (the accepted account's own id and own name, with no per-row confirmation prompt) and leaves the rest as compact exceptions. This is the normal spreadsheet identity-preparation step: submit each physical row with its stable input_id and the account name exactly as supplied (a parent/group or other column value is its own ordinary lookup, never a parent mode), plus only the typed retrieval_hints genuinely present in the row and, when a source cell is longer than the bounded 2-120-character retrieval query, a source-grounded alternate_query with basis "name_variant". The platform reuses the shared resolver and internally runs ONE bounded preparation: a compact initial shortlist, and ONE compact semantic recovery pass for a row that asks for it: its own guard marked it recovery-required, or its initial proposal was reached on a non-primary query (alternate_query or applied hints) and so is not a defensible source-intent decision. Each row returns at most three candidates per executed stage (at most six appearances, potentially fewer distinct IDs), so this is a bounded retrieval lead, never a full-corpus search, and it does not prove an absence. The response is a preparation receipt (object_version "luasai-account-list-preparation-receipt-v3"), not a final identity decision. An archived receipt is interpreted ONLY by its explicit object_version: v1 is the original guard-only recovery policy, while v3 is the current policy above, so an old capture is never re-read under the new rule and current work is never read under the old one. Each returned row carries the verbatim initial and recovery lane rows with the candidates' own identity facts, rival/guard diagnostics, partial/coverage status and both stage receipts. In every DEFAULT output format this tool NEVER auto-selects an identity, NEVER declares a No match, NEVER retrieves partner relationships and NEVER writes; ONLY the explicitly requested `response_format` "decisions" projection applies the named `direct_own_equality` policy and returns a deterministic direct-own acceptance for a row whose literal own equality is unambiguous, an explicit bounded no-match (`basis` `bounded_no_choices`, `absence_attested: false`) when a ready row's own returned choice set is empty, and a compact exception for every other row. The client agent selects one returned organization_id (or abstains) per physical row using its own source context; the server's retrieval ordering is not match confidence, and a low-authority fuzzy match kind is a retrieval lead only. A row that did not complete (a local input condition, a transport/upstream failure, or the shared deadline) is an EXECUTION-INCOMPLETE row to retry, never a No match: `preparation_state` is "complete" only when every physical row is ready, and any produced envelope whose rows all failed is still "incomplete". A candidate's own facts that conflict across appearances stay visible. The optional `response_format` input selects only the output projection: omit it (or pass "receipt") for the verbatim receipt above, or pass "choices" for a compact normal-client response (object_version "luasai-account-list-choices-v1") that keeps each physical row's exact input_id/submitted_name and its ready-incomplete state, exposes every distinct own organization_id in first-appearance order with the candidate-bound identity facts and identity_evidence_token (byte-identical same-ID copies collapsed, differing copies kept), omits retrieval scores, guard diagnostics and stage bookkeeping, and keeps an incomplete row explicit and unselectable rather than an empty no-match. Either format runs the SAME one bounded preparation with the same 1-20 row limit, hard three-candidates-per-stage shortlist and one shared 35-second bounded deadline. The optional `preparation_mode` input is an EXPLICIT, closed bulk opt-in: omit it for the incumbent bounded 1-20 preparation (the only mode a default/native client should use); pass "whole_list" to prepare 1-1000 physical rows, which REQUIRES response_format "identity_brief" and refuses every other format before any lookup. `preparation_mode` "whole_list" runs the SAME shared resolver as ONE bulk preparation followed by recovery of only the rows that ask for it (its own guard, or a non-primary-query proposal), chunked into at most twenty rows per semantic request through at most two bounded workers that reuse the same search slots and the same single 25-second preparation deadline. It returns the SAME identity brief (object_version "luasai-account-list-identity-brief-v1") with every physical row in source order; that payload may exceed ordinary model-visible limits, so a consumer must verify all physical rows, their order and the brief_digest and must NOT claim completion from a truncated or partial read. Whole-list is explicit bulk/programmatic consumption; the DEFAULT behavior (an absent preparation_mode, and every default/native client) is unchanged. The optional bounded identity-detail read is a separate existing tool and is unchanged.
luasai_graph_prepare_organization_choices
Read the bounded, public identity evidence behind one organization candidate, using only the identity_evidence_token returned on that candidate row. There is no arbitrary organization id, query, offset, or page parameter: the token pins one organization and the requesting principal, tenant, and authentication type, expires within ten minutes, and cannot be refreshed. Call it only when that candidate's identity is genuinely unresolved or a needed identity fact is still omitted, not to pre-fetch evidence for rows you can already decide. The candidate row's identity_evidence_token carries an explicit signed identity-evidence version and its fixed eligibility policy: the incumbent v1 ordinary-canonical policy (the legacy fieldless capability issued while the producer's v2 availability is unconfirmed), or the widened v2 requested-canonical policy a newly-issued capability opts into only after the producer positively advertises that it serves v2 (it may carry a self-link or a supported non-merge grouped relation while still returning the requested canonical id). The initial token is bound to a candidate-eligible active account and every read re-checks that eligibility, so an account that later flips inactive, is merged, or carries a contradictory relation is refused instead of returning stale evidence. A read must also carry the store's current candidate-evidence receipt whose object_version, eligibility policy, and organization id exactly match the token's signed version; a legacy, cached, flag-ignoring, or cross-version context fails closed as a version-unavailable execution rather than being trusted, and the read is never silently upgraded or downgraded. Issuing a token is permission to read a candidate the search already retrieved — it is not proof the candidate passed fresh canonical eligibility, and it is not proof of legal equivalence. The response carries only public identity fields (organization id, name, legal name, aliases, primary and verified domains, headquarters, description, industry, and display-root name); internal profile identifiers, quality metadata, operating-entity identifiers, source-system, profile version, and raw diagnostic blocks are never returned. The description is presented in 4096-codepoint pages and aliases/verified domains at 25 items per page, each item clipped to a fixed bound, with at most two evidence pages; anything that still does not fit is reported in truncated_fields with window_exhausted so nothing is silently omitted, and an over-long alias or domain item is clipped and flagged while content_digest still commits to the full value. A next_evidence_token is offered only when a real bounded continuation exists. On a successful read the returned name, legal name, aliases, primary domain, and verified-domain claims come from the current canonical row (its active aliases, its active verified-domain claims, and its canonical primary domain), and a canonical null or absence stays null rather than falling back to a derived profile, while description, industry, headquarters, and display-root name may be profile-enriched or coalesced; this presented identity is not a canonical revision, does not assert globally unique domain ownership, and does not assert legal equivalence, and content_digest binds the allowed evidence revision without pretending to be a canonical record version. This tool never searches relationships, reveals paid data, writes quality feedback, or changes the organization. It is internal agent working data for your own identity decision: the customer-facing result stays the matched platform account and its meaningful scope, or a no-match reason, and source references, citations, content digests, capability tokens, and diagnostic receipts are never added to customer output or exposed as a user-visible evidence or audit surface.
luasai_graph_organization_identity_evidence
Recommend partners for one resolved account using the same ordered recommendations as Account Match and Account Lists. Use for best/top partners and account-list partner columns. Default intent is transaction; use explicit criteria consistently across surfaces. Returns masked ranked previews and a quote; reveal uses the existing paid reveal tool. Preserve every physical input ID when several list rows refer to this account. Catalog search order must never be used to select recommendations.
luasai_graph_recommend_partners
Recommend the canonical platform account for each supplied name and its own literal identity clues. Uses Luasai's shared managed account decision service. Use this for normal account identity resolution when available; do not independently replace a returned recommendation with a parent or a candidate-only judgment. Matched/no_match are completed bounded decisions; execution_incomplete must be retried, never reported as No match. Every physical input_id is retained. No partner relationships are retrieved or revealed. Headquarters country must be explicitly about this account; market/territory is not HQ. A source country (for example a billing country) is soft context about the caller's own record, never the account's headquarters. Process at most 20 rows per call and two calls in flight.
luasai_graph_recommend_accounts
Match up to 1,000 physical company rows from a spreadsheet or prompt to organizations already available in Luasai. Preserve a unique input ID for every row, including duplicates. Include a website domain whenever possible; full legal names, aliases, and explicit headquarters country improve difficult matches. Do not treat a generic Country, market, or territory field as headquarters. Only auto-linked results expose a graph-search-eligible ID. Possible or conflicting matches need new confirming identity evidence and another resolution pass; never search their candidate IDs as confirmed accounts. Unmatched companies are never guessed. Use the reseller-only option only when every input must be a reseller or partner.
luasai_graph_resolve_organizations
Reveal reseller identities and full details for up to 100 results from a current search quote. Only newly revealed relationships use credits. Retrying the same request or reopening a relationship already available to the company uses no additional credits, and revealed results remain available in Luasai.
luasai_graph_reveal
Search the relationship catalog without recommendation ranking. Use luasai_graph_recommend_partners to recommend or select partners for an account or account list. Find reseller customer relationships or reseller partnerships with named software companies. Search is free, results come in batches of up to 100, and each batch includes a price before reseller identities are revealed. Account-list callers can attach stable row IDs so duplicate rows and explicit blank reasons remain reconcilable across batches. A search can match any named software company or require resellers that partner with all of them. Customer headquarters, reseller market coverage, and the market linked to a relationship can be filtered separately.
luasai_graph_search
Summarize Luasai's partner network: total coverage, regional and company-size reach, documented relationship sources, leading partners and software companies, and contact availability. This network-wide view does not expose another customer's private information or claim that every customer of a partner uses a particular product.
luasai_intelligence_network_snapshot
Channel performance: partner-sourced vs vendor-sourced split (count + value + won), sales cycle averages, time to quote, new business vs renewal split, top countries, partners by region, newly-activated partners, tasks logged. Use this for 'how is our channel performing', 'compare partner-sourced to direct', or 'who's our most productive reseller this quarter'. With a date-range filter you also get current-vs-previous-period comparison.
luasai_reports_channel_metrics
Snapshot of the pipeline. Total opportunities, total value, open vs closed-won split, close rate, average deal size, forecast revenue (probability-weighted), and recent-activity counts. Use this for 'how's my quarter going', 'what's in my pipeline', or 'pipeline overview by region'. Filter by date range, stage, owner, geography, product, or partner-sourced flag.
luasai_reports_pipeline_summary
Revenue trended over time. Quarter mode (default) returns buckets labeled `FY{year}-Q{n}` spanning every fiscal year that has data (Q1-Q4 emitted per year, zero-filled for empty quarters) — so a renewals dataset spanning 2026/2027/2028 gets 12 buckets, not 4 collapsed-across-years buckets. Month mode returns 12 fiscal months for the active fiscal year only. Each bucket shows open value (unfulfilled) vs closed-won. Use this for 'how is revenue trending', 'when does this year's revenue land', or 'compare Q2 vs Q1 across years'. Fiscal year follows the ISV's configured fiscal calendar (calendar year if not configured).
luasai_reports_revenue_by_period
Luasai ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Luasai's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Luasai alternatives on ChatGPT?
As of 2026-10-28, Luasai competes with Channlworks, Crossbeam, EULER, Introw PRM, Nesha, Partner.io, Suger in ChatGPT Partner & Ecosystem Revenue, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.