- Brand
- MadeMarket
- Category
- Sales & CRM
- Primary Subcategory
- Investor & Deal-Flow Relationship CRM
Integration details
Description
Bring your deal data into ChatGPT. Search active mandates, pull target lists, review activity history, and check pipeline status, then turn that data into dashboards, deal summaries, status updates, and client-ready deliverables without leaving your conversation. Ask natural language questions about your deal flow, or have ChatGPT generate presentations and reports from your live MadeMarket data. Built for the next generation of dealmakers, MadeMarket's MCP server makes ChatGPT your always-on deal management co-pilot.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Investor & Deal-Flow Relationship CRM
- Secondary Subcategories
- None listed
- Brand
- MadeMarket
- Access
- Account required
- First tracked
- 2026-09-19
- Tool count
- 37
- 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 MadeMarket
Get updates when MadeMarket’s Discoverability Score or category rank changes.
Competing in ChatGPT Investor & Deal-Flow Relationship CRM
View Category37 tools agents can invoke
Search opportunities (prospects, leads, potential deals, pitches) across the user's entire firm, using free-text query and/or structured filters. The query performs a free-text search across opportunity name, associated firm name, and contact names. Leave query empty and use filters to browse by criteria alone. Direct filter params (ID lists): stage_id_list, status_id_list, tier_id_list — filter by pipeline stage, status, or tier. IDs come from opportunity configuration. user_id_list — filter by opportunity owner(s). opportunity_firm_tag_ids — filter by tags applied to the opportunity's firm (e.g. [5, 12]). opportunity_list_ids — filter to opportunities in specific lists. The `field` param uses the same structure as firms_search. For picklist fields the value must come from that SAME field's `values` list as returned by opportunities_list_fields; IDs from a different field are rejected. There is no "in" operator — use "is" with a list value. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Note: * 'is_incomplete' means the opportunity is missing at least one valid contact/email path, and does NOT pertain to the opportunity's status. To search for opportunities by their status (such as Active, etc), use the 'status_id_list' filter. Args: query: Free-text search across opportunity name, firm name, and contacts (leave empty to match all) page: Page number for pagination (default 1) per: Results per page (default 50, max 500) stage_id_list: Stage IDs to filter by status_id_list: Status IDs to filter by tier_id_list: Tier IDs to filter by user_id_list: User IDs to filter by owner opportunity_firm_tag_ids: Tag IDs to filter by opportunity_list_ids: List IDs to filter by is_incomplete: Filter to incomplete opportunities only (true/false) field: Structured field filter (same format as firms_search) sort: Sort field ("days_inactive" and "days_in_current_stage" invert the direction server-side) direction: Sort direction — "ASC" or "DESC"
opportunities_search_advanced
Expand one or more activity references to their full payloads. Results from `activities_search` carry `{activity_class, id}` handles. Pass them here (batched — a single handle is just a list of length 1) to retrieve full activity detail, including subject, summary, logged-email subject/body, and the keyed `related` object of parent entities. Handles you may not access (another firm's, or an inaccessible deal's) are silently dropped from the response. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: handles: A list of {"activity_class": str, "id": int} references, e.g. [{"activity_class": "Activity", "id": 123}, {"activity_class": "ProjectActivity", "id": 9}].
activities_get
Get a single contact (person, client, relationship, banker, investor, counterparty) by ID. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: contact_id: The ID of the contact to retrieve
contacts_get
Get the current authenticated user's profile and identity. Returns the MadeMarket user profile associated with this user. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first.
users_get_current
Get a single deal (transaction, engagement, mandate, M&A deal, aka project) by ID. NOTE: A *deal* is NOT the same thing as an *opportunity*. Do not confuse the two. Deals are active engagements representing the workflow for a possible transaction. To view the activity log for a deal, use `deals_search_activities` for target-level activities or `deals_search_project_activities` for deal-level activities. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: deal_id: The ID of the deal to retrieve
deals_get
Get the stage/status change history for a deal (transaction, engagement, aka project). If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: deal_id: The ID of the deal to retrieve history for
deals_get_stage_status_history
Get the allowed picklist/dropdown values for a custom field (field values, metadata). Look up a field by its numeric ID or string name (ID takes priority). Returns the list of selectable values for that field, useful for understanding what values are valid in search filters. Exactly one of field_id or name must be provided. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: field_id: The field ID (from firms_list_fields, opportunities_list_fields, etc.) name: The field name (e.g. "stage", "status", "industry")
fields_get_list_values
Get a single firm (company, organization, portfolio company, target, acquirer, sponsor, client) by ID. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: firm_id: The ID of the firm to retrieve
firms_get
Get a single opportunity (prospects, leads, potential deals, pitches) by ID. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: opportunity_id: The ID of the opportunity to retrieve
opportunities_get
Get the stage/status change history for an opportunity (prospects, leads, potential deals, pitches) . If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: opportunity_id: The ID of the opportunity to retrieve history for
opportunities_get_stage_status_history
Returns setup instructions, behavioral guidance, formatting rules, and sample workflows for all MadeMarket tools (contacts, firms, deals, opportunities, tasks, activities, fields, users). MUST be called once at the start of each conversation before calling any other MadeMarket tools. Do not call it again if it has already been called in the current conversation.
get_tool_instructions
List activity categories (interaction types, meeting types, call types, email types). Without parameters, returns all activity categories for the account. When project_id is provided, returns deal-specific activity categories (target-level categories like "NDA Sent", "CIM Sent", etc.) scoped to that deal. Use this to resolve `activity_category_id` values found in target-level deal activity records from `deals_search_activities`. Note: for deal-level (key contact), opportunity, or contact activity categories, use the entity-specific tools instead: `deals_list_activity_categories`, `opportunities_list_activity_categories`, or `contacts_list_activity_categories`. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: project_id: Optional deal/project ID to scope categories to a specific deal page: Page number for pagination (default 1)
activities_list_categories
Get valid activity categories (interaction types, meeting types, call types) for contacts. Returns entity-specific activity category definitions with full field metadata. Use this to lookup or discover activity types that can be logged against contacts. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first.
contacts_list_activity_categories
List contacts (people, clients, relationships) with pagination. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: page: Page number for pagination (default 1)
contacts_list
Get valid activity categories for deal-level (key contact) activities. Returns categories used by `deals_search_project_activities` results. Use this to resolve `activity_category_id` values from deal-level activity records. NOTE: For *target-level* deal activities (from `deals_search_activities`), use `activities_list_categories(project_id=<deal_id>)` instead — those activities use a different category system. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first.
deals_list_activity_categories
List custom-field definitions enabled for targets on a specific deal. Returns field metadata (id, name, label, data_type) and, where applicable, the allowed values for select/picklist/boolean fields. Use the returned field IDs with deals_search_targets's `field` parameter to filter targets by custom criteria. Note: target fields are configured per-deal, so a deal_id is required. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: deal_id: The ID of the deal whose target field definitions to list
deals_list_target_fields
List available filter values for a deal's targets — tags, tiers, and statuses. Returns three lists: tags — custom target tags (e.g. "Strategic Buyer", "Monthly Renewal", "Eligible for Price Increase") configured for the firm. These are the same tags visible on each target in deals_search_targets responses. tiers — target tier levels for this deal (e.g. "1", "2", "3") statuses — enabled target statuses for the firm (e.g. "Active", "Passed") Use the returned IDs with deals_search_targets's buyer_tag_id_list, tier_id_list, or status_id_list parameters to filter targets by those criteria. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: deal_id: The ID of the deal whose target filter values to list
deals_list_field_list_values
List *active* deals (aka projects) with pagination under the current user. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: page: Page number for pagination (default 1)
deals_list
List firm detail custom field definitions (metadata, picklist, dropdown fields). If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: page: Page number for pagination (default 1)
firms_list_fields
List the 10 most recently created firms (companies, organizations). This is a recent-activity sample, not a directory, and it does not paginate. To find a specific firm, use firms_search with the `name` field. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first.
firms_list
List all opportunities (prospects, leads, potential deals, pitches) under the current user. Note: an *opportunity* is NOT a *deal*, do not confuse the two. Opportunities are the pre-deal workflow and can eventually convert into deals. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: sort: Optional sort column (default "opportunities.created_at", newest first)
opportunities_list
Get valid activity categories (interaction types, meeting types, call types) for opportunities. Returns entity-specific activity category definitions with full field metadata. Use this to lookup or discover activity types that can be logged against opportunities. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first.
opportunities_list_activity_categories
List opportunity custom-field definitions (metadata, picklist, dropdown fields) for the current firm. This can be used to lookup the values for IDs of custom fields, such as status, active users, client stage, financial priority, heat, marketing distribution, opportunity source, owner, tags, tier, transaction type, and more. Returns field metadata (id, name, label, data_type) and, where applicable, the allowed values for select/picklist fields. Use the returned field IDs with opportunities_search_advanced's `field` parameter or with fields_get_list_values to look up allowed values. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first.
opportunities_list_fields
List all users (team members, bankers) in the current firm. Use this tool to map user IDs to names, or to discover users attached to the current firm. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first.
users_list
Search activity (interactions, meetings, calls, emails, notes, touchpoints, logged outreach, "Passed" decisions, comments) across the ENTIRE firm — no deal, firm, opportunity, or contact id required. Use this to answer open-ended, cross-system questions such as "has anyone passed on a deal and cited AR aging as an issue?" Compose a structured filter; results come back as structured JSON, newest first. Each result carries an `{activity_class, id}` handle and `parents` (the deal/firm/contact/ opportunity it attaches to). Pass handles to `activities_get` to expand any hit to its full payload, or pass a parent's id to deals_get / firms_get / contacts_get / opportunities_get. When searching, the user may be looking for activities by category_id and/or a specific string in the activity description. Sometimes users are inconsistent with their data entry, and may enter an activity in the description field, but not set the correct category ID. Conversely, users may enter a category ID but not set the correct activity description. Both of these queries, run separately, may return records responsive to their search terms, and you can avoid returning incomplete results by checking both fields separately. (However, be sure that hits on the description field are actually relevant to the user's query.) If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: query: Free-text search on activity description/subject (and logged-email subject/body). category_ids: Filter deal/target activities to these activity-category ids (e.g. the "Passed" category). Use deals_list_activity_categories to discover ids. activity_types: Coarse category-type filter (e.g. ["email", "call"]). "not_specified" matches activities whose category has no type set. include_activity_classes: Result scope. Defaults to the five activity classes (Activity, ContactActivity, FirmDetailActivity, OpportunityActivity, ProjectActivity). Include "all" to widen to the full feed (adds comments), or pass an explicit subset. project_ids: Restrict to specific deals (re-scoped to your firm). opportunity_ids: Restrict to specific opportunities (re-scoped to your firm). firm_detail_id: Restrict to a single firm (must be owned by your firm). contact_ids: Restrict to specific contacts (re-scoped to your firm). user_ids: Filter by activity creator. start_date: ISO date for range start (e.g. "2025-01-01"). end_date: ISO date for range end (e.g. "2025-12-31"). detail: "compact" (default) returns lean fields + handle + parents + description; "full" adds subject, summary, email, and a fully-keyed related object inline. page: Page number for pagination (default 1). per: Results per page (default 25, max 100).
activities_search
Get activities (interactions, meetings, calls, emails, notes, touchpoints) for a contact with pagination and optional filters. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: contact_id: The contact ID additional_contact_ids: Extra contact IDs for multi-contact lookup page: Page number for pagination (default 1) limit: Results per page (default 5) start_date: ISO date for range start (e.g. "2025-01-01") end_date: ISO date for range end (e.g. "2025-12-31") activity_types: Coarse category-type filter (e.g. ["email", "call"]) user_ids: Filter by activity creator query: Free-text search on activity description/subject project_ids: Filter to activities for specific deals opportunity_ids: Filter to activities for specific opportunities include_activity_classes: Filter to specific activity classes (e.g. deal-related ["Activity", "ProjectActivity", "Comment", "ProjectComment"], or opportunity-related ["OpportunityActivity", "OpportunityComment"])
contacts_search_activities
Get incomplete tasks (to-dos, action items, follow-ups) for a contact. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: contact_id: The contact ID
contacts_search_tasks
Search contacts (people, clients, relationships, bankers, investors, counterparties) by name or email. The query matches contact full name and email ONLY. It does not match firm name or title, so an empty result says nothing about whether a firm exists; to check that, use firms_search with the `name` field. Results are capped at 30, sorted by last name. `q` is required for results. `firm_detail_id` narrows a query to one firm; on its own it returns nothing. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: q: Text matched against contact full name and email (substring, case-insensitive) firm_detail_id: Restrict matches to contacts at this firm contact_ids: Contact IDs to exclude from results distribution_id: Restrict to contacts who received a specific distribution
contacts_search
Get deal-level activities for a deal (activities not tied to a specific target). These are activities logged at the deal level itself, such as general deal notes, status updates, or internal discussions about the engagement. For target-level activities (tied to individual buyers/targets), use `deals_search_activities` instead. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: deal_id: The ID of the deal to retrieve project activities for page: Page number for pagination (default 1) per: Number of results per page (default 10)
deals_search_project_activities
Get target-level activities for a deal (interactions logged against individual buyers/targets). These are activities tied to specific targets on the deal, such as NDA tracking, CIM sends, or meetings with individual buyers. For deal-level activities not tied to a specific target, use `deals_search_project_activities` instead. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: deal_id: The ID of the deal to retrieve activities for page: Page number for pagination (default 1) per: Number of results per page (default 10)
deals_search_activities
Search and filter targets (buyers/investors) on a deal using free-text query and/or structured filters. The query performs a free-text search on target firm name. Leave query empty and use filters to browse by criteria alone. Each target in the response includes a `firm_buyer_tags` array of `{id, name}` objects showing which tags are assigned to that target. Direct filter params (ID lists): status_id_list — filter by target status (e.g. Active, Passed). tier_id_list — filter by target tier. buyer_tag_id_list — filter by target tags. To discover available tag names and their IDs, call `deals_list_field_list_values` first. user_id_list — filter by assigned users. Use `deals_list_target_fields` to discover custom field IDs for a deal, then pass them via the `field` param (same structure as firms_search / opportunities_search_advanced). For picklist fields the value must come from that SAME field's `values` list in deals_list_target_fields; IDs from a different field are rejected. There is no "in" operator — use "is" with a list value. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: deal_id: The ID of the deal whose targets to search query: Free-text search on target firm name (leave empty to match all) page: Page number for pagination (default 1) per: Results per page (default 50, max 500) status_id_list: Status IDs to filter by tier_id_list: Tier IDs to filter by buyer_tag_id_list: Tag IDs to filter by (call deals_list_field_list_values to discover available tags) user_id_list: User IDs to filter by assigned user field: Structured field filter (same format as firms_search) sort: Sort field ("buyers_name" sorts by target firm name; "buyer_days_inactive" inverts the direction server-side) direction: Sort direction — "ASC" or "DESC"
deals_search_targets
Search for all deals (aka projects) by name across the user's entire firm. Results here may belong to any user under the current user's firm. This is a simple name-based search. It first attempts an exact match (case-insensitive), and if no exact match is found, falls back to a wildcard/substring match limited to 10 results. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: name: Deal/project name to search for (case-insensitive)
deals_search
Get activities (interactions, meetings, calls, emails, notes, touchpoints, outreach) for a firm with pagination and optional filters. Note: Activities for a ProjectBuyer (such as those logged against a deal) can be searched here, if you first lookup the corresponding FirmDetail ID for the ProjectBuyer. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: firm_id: The firm_detail ID page: Page number for pagination (default 1) limit: Results per page (default 10) start_date: ISO date for range start (e.g. "2025-01-01") end_date: ISO date for range end (e.g. "2025-12-31") activity_types: Coarse category-type filter (e.g. ["email", "call"]) user_ids: Filter by activity creator query: Free-text search on activity description/subject project_ids: Filter to activities for specific deals opportunity_ids: Filter to activities for specific opportunities include_activity_classes: Filter to specific activity classes (e.g. deal-related ["Activity", "ProjectActivity", "Comment", "ProjectComment"], or opportunity-related ["OpportunityActivity", "OpportunityComment"])
firms_search_activities
Get incomplete tasks (to-dos, action items, follow-ups) for a firm. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: firm_id: The firm detail ID
firms_search_tasks
Search firms (companies, organizations, portfolio companies, targets, acquirers, sponsors) by structured field filters, covering both standard and customer-defined custom fields. This is a FIELD-BASED filter, not a free-text search: every filter targets a specific field by its numeric ID. Field IDs vary by account, so call firms_list_fields first to discover the available fields and their IDs. Representative system field names (the actual IDs come from firms_list_fields): name, city, state_abbrv, country, phone_number, email, url, about, stage, firm_industry_id, annual_revenue, annual_ebitda, employees_count, year_founded, firm_detail_object_tags, firm_detail_lists, firm_relationships, created_at, updated_at, last_interaction_at, is_public_company, contact_count How to build the `field` filter: `field` is a list of conditions. Each condition's `condition` property sets how it combines with the others: all "AND" returns firms matching every condition; "OR" returns firms matching any. Setting value: - One value: a string or number, e.g. "Acme" or 42. - Several values for a SINGLE field (matches ANY of them): a list, e.g. [5, 12]. Do NOT pass several IDs as one comma-separated string such as "5,12" — that is read as a single literal value and matches nothing. - For picklist/boolean/tag fields, each value must come from that SAME field's `values` list in firms_list_fields; IDs from a different field are rejected. There is no "in" operator — use "is" with a list value. Filtering by tag (firm_detail_object_tags): Find the "firm_detail_object_tags" field ID via firms_list_fields, then use operator "is" with the tag ID(s) as the value: - Firms with ANY of several tags — one condition, value = list of tag IDs: [{"id": <tags_field_id>, "operator": "is", "value": [5, 12], "condition": "AND"}] - Firms with ALL of several tags — one condition per tag, combined with "AND": [{"id": <tags_field_id>, "operator": "is", "value": [5], "condition": "AND"}, {"id": <tags_field_id>, "operator": "is", "value": [12], "condition": "AND"}] Filtering by list membership: Use `firm_detail_list_id` to restrict to firms in a single list, or the "firm_detail_lists" field within `field` for more complex list conditions. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: page: Page number for pagination (default 1). per: Results per page (default 10). The server enforces a minimum of 50 and a maximum of 500. firm_detail_ids: Firm detail IDs to restrict the search to specific firms. firm_detail_list_id: Restrict to firms belonging to a single firm list. field: Structured field filter — see "How to build the `field` filter" above. sort: Field to sort by. "last_interaction_at" sorts by days inactive and inverts the direction server-side. direction: Sort direction — "ASC" or "DESC".
firms_search
Search for opportunities (prospects, leads, potential deals, pitches) by name across the user's entire firm. This is a simple name-based search. It first attempts an exact match (case-insensitive), and if no exact match is found, falls back to a wildcard/substring match limited to 10 results. For advanced filtering by stage, status, tier, owner, tags, or custom fields, use opportunities_search_advanced instead. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: name: Opportunity name to search for (case-insensitive; leave empty to list all) page: Page number for pagination (default 1)
opportunities_search
Search for tasks (to-dos, action items, follow-ups, deadlines) with optional filters. Returns tasks ordered by due date (ascending). Without project_id or opportunity_id, results are firm-wide. Passing both returns the union (tasks of either record) -- useful for the full history of an engagement whose opportunity progressed into a deal. If `get_tool_instructions` hasn't been called in this chat/thread/conversation, call it first. Args: project_id: Filter to tasks associated with a specific deal/project (deal-level tasks, target-level tasks, and general tasks linked to the deal or its targets). Errors if the user cannot access the project. Does NOT include tasks on an opportunity linked to the deal; use opportunity_id for those. opportunity_id: Filter to tasks associated with a specific opportunity (opportunity-level tasks and tasks linked to the opportunity). Errors if the opportunity does not exist. task_category_id: Filter by task category. Valid values: 1 (general), 2 (deal/project-level), 5 (target-level), 6 (opportunity-level). status_ids: Integer status ID (or array of IDs) to filter by. Valid values: 301 (incomplete/open), 300 (complete). There is no "overdue" status; overdue tasks are open tasks whose due date is in the past. user_id: Filter to tasks assigned to a specific user name: Filter to tasks matching an exact name
tasks_search
MadeMarket ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve MadeMarket'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 MadeMarket alternatives on ChatGPT?
As of 2026-11-02, MadeMarket competes with 4Degrees, 4Degrees - KSA, Affinity, Carta CRM, Rings AI in ChatGPT Investor & Deal-Flow Relationship CRM, 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.