MCP App Store
by KeenEthics

Overview

Vente AI connects ChatGPT to your Vente account to help recruiters explore job leads and prioritise business-development opportunities. Search and filter leads across your lists, review job details and company information, access hiring-manager contacts with employment verification and validated contact details where available, and identify companies experiencing high hiring stress with supporting signals. Analyse hiring activity, summarise relevant opportunities, and keep lead and pipeline status up to date. Vente only accesses the data available to the account you connect.

Tools

assign_pipeline_lead

ChatGPT
Assign pipeline lead owner Set owner_user_id to a teammate public id, or null to unassign.

bulk_mark_leads_actioned

ChatGPT
Bulk mark actioned Up to 50 readable leads with one reason.

bulk_reject_leads

ChatGPT
Bulk reject leads Up to 50 readable leads with one reason (prefixed [API/MCP] on each rejected_leads.reason).

discover_contact_email

ChatGPT
Discover hiring manager email Enqueues or runs email enrichment for one assigned HM (same as in-app JIT discover). Background (202) or sync; poll get_lead until email appears or email_not_found. MCP defaults to background when mode is omitted. Costs lead credits when providers run. User asks for HM emails or outreach — get_lead first for hiring_manager_id and flags; call this when needs_email_discovery is true; poll get_lead (minutes possible). Check get_account credits before bulk discover.

discover_contact_phone

ChatGPT
Discover hiring manager phone Enqueues or runs phone enrichment for one assigned HM. Background (202) or sync; poll get_lead until phone appears or phone_not_found. Respects personal_phone_numbers policy. Same pattern as discover_contact_email for phone; only when needs_phone_discovery is true and user/team allows personal phone discovery.

get_account

ChatGPT
Account context Team membership, pipeline flags, and lead credits. On a team, both the shared pool (credits.team) and your personal allocation (credits.personal) must have room — see credits.can_receive_new_leads and credits.state (matches in-app banner: unallocated, team_exhausted, personal_exhausted). credits.remaining is personal allocation remaining, not the team pool. Warn before discover/write when credits.warning is true. Call at session start before discover or bulk triage. Teammates' lists: list_team_lists (not list_my_lists).

get_lead

ChatGPT
Lead detail Full vente_leads_v1 detail (job description, hiring managers, goal_match, stress_score). hiring_managers include needs_email_discovery / email_not_found (and phone analogs). Empty email with needs_email_discovery true = not enriched yet; call discover_contact_ then poll this endpoint. Single-lead depth and discovery poll target after discover_contact_. Browsing/filtering a list → list_leads. Before saying a HM has no email, check needs_email_discovery / email_not_found; if discovery is needed, discover_contact_email then poll get_lead. CRM cross-check: company_name, job_title, job_location, job_url, hiring_managers — search CRM from the host.

get_lead_usage_report

ChatGPT
Lead usage report Per-list delivery stats; scope=me (default) or scope=team for managers. Not sign-ins (get_team_activity) or pipeline task counts (get_pipeline_activity_report).

get_list

ChatGPT
Single list metadata List detail when readable (owner or team-visible published list). Response includes what_you_want (the list goal / niche rubric). Use what_you_want with goal_match_level on list_leads when prioritizing which leads fit the niche.

get_pipeline_activity_report

ChatGPT
Pipeline activity report Completed pipeline stage tasks by type for the pipeline team. Not sign-ins (get_team_activity) or list delivery stats (get_lead_usage_report).

get_team_activity

ChatGPT
My Team activity report Sign-in days and per-member actioned/rejected/discover stats for a date range. Defaults to today only when start_date/end_date omitted. How many leads did team members action / sign in on DATE → set start_date and end_date. Not list credit consumption (get_lead_usage_report) or pipeline task counts (get_pipeline_activity_report).

list_leads

ChatGPT
Paginated leads on a list Pending tab by default; supports actioned/rejected/unactioned (archived) tabs and view=pipeline for board fields. When the user asks for today's or new leads, list the pending tab without posted_after/posted_before: that means leads currently available in Vente, not jobs posted today. Use posting-date filters only for an explicit POSTED ON [DATE] or POSTED BETWEEN [DATES] request; never infer them from today's or new leads. First page (no cursor) on pending tab includes date_semantics and may include inbox_query_hint when posting-date-only filters return an empty page while the list cache is non-empty. Each lead row includes first_linked_to_list_at (ISO UTC, first time this job was added to the list — not last pending-inbox appearance), posted_date, goal_match_level, stress_score, and job/company fields. Archived is the same tab as unactioned — leads Vente archived after long inactivity, not simply leads with no action recorded. Actioned tab only includes leads with activity recorded as actioned within the applied date window (default: roughly the last calendar month). Response includes applied_action_date_filter; optional actioned_leads_outside_date_window_count on the first page when the list is not huge. Use start_date=all to disable the action date window; start_date/end_date accept YYYY-MM-DD (ISO) or dd/mm/yyyy. Today's or new leads → pending tab with no posted_after/posted_before: do not treat that as a request for jobs posted today. Never filter returned rows by posted_date in your reply. first_linked_to_list_at is when the job was first added to the list, not when it last appeared in the inbox — do not use alone for new today. Only an explicit POSTED ON [DATE] or POSTED BETWEEN [DATES] request → posted_after/posted_before; never infer date filters from today's or new leads. JOB TITLE in LOCATION → q= + location= on pending tab. High-stress companies → sort=stress_score direction=desc limit=5. Full lead + HMs → get_lead, not paginated client filter. Due pipeline tasks → list_pipeline_tasks. Null hiring_managers[].email here does not mean undiscoverable — run get_lead + discover_contact_* when the user needs contact details.

list_my_lists

ChatGPT
Lists owned by the caller ICP lists for the authenticated user with derived list_state and what_you_want (list goal / niche rubric). Pick a list by name + what_you_want before list_leads; get_list adds nothing beyond a single list if you already have list_public_id.

list_pipeline_tasks

ChatGPT
Due pipeline tasks Due pipeline stage tasks with lead context. Requires pipeline_enabled from get_account. What should I focus on today → due=today (when pipeline_enabled). Not pending inbox tabs — use list_leads tab=pending.

list_team_lists

ChatGPT
Teammate pipeline lists Lists owned by teammates on your pipeline team (not your own — use list_my_lists). Optional owner_user_id filters to one teammate’s public user id from list_team_members.

list_team_members

ChatGPT
Pipeline team roster User ids and display names for routing (e.g. list_team_lists with owner_user_id).

mark_lead_actioned

ChatGPT
Mark lead actioned Requires readable lead and vente:write. Idempotent; records mcp_actioned. Reason is stored in activity history. After the user has done something concrete with a lead (logged in CRM, sent outreach, called, exported, etc.), call with a short reason describing what was done so the lead leaves pending/unactioned. Use bulk_mark_leads_actioned for batches.

move_pipeline_lead_stage

ChatGPT
Move pipeline lead stage Same validations as pipeline board.

pause_list

ChatGPT
Pause list delivery ICP owner only. Stops new lead delivery without deleting the list. Reason is required for explicit intent but is not stored on the list record.

reject_company

ChatGPT
Reject company for list owner Blacklists company and rejects lead. Requires reason and confirmed=true.

reject_lead

ChatGPT
Reject lead Requires readable lead and vente:write. Idempotent when already rejected. Stored reason is prefixed with [API/MCP] for audit filtering.

resume_list

ChatGPT
Resume list delivery ICP owner only.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps