Ramp
Connect your Ramp account to ChatGPT and manage finances through natural conversation. For Finance Teams: Analyze spend trends, identify top expenses, spot anomalies, and run queries on transactions, vendors, and budgets—all in real time without leaving ChatGPT. For Employees: Check card balances, activate cards, add transaction memos, request reimbursements, get policy answers, and manage travel expenses instantly. Access is permission-based: employees see only their data, while admins get full analytics and team oversight.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Corporate Spend, Expense & Procurement
- Secondary Subcategories
- Finance Spend & Accounting Ops
- Brand
- Ramp
- Access
- Account required
- First tracked
- 2026-07-14
- Tool count
- 128
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is visible.
ChatGPT Plugin Discoverability Score
ChatGPT organic discovery is not live yet
Ramp is tracked in the ChatGPT Plugin registry. Public organic-discovery measurement is not live for ChatGPT yet, so there is no score to publish today.
Get notified when your score goes live
Enter your work email and we’ll notify you when ChatGPT Plugin organic discovery scoring launches.
No spam. Unsubscribe any time.
Competing in ChatGPT Corporate Spend, Expense & Procurement
View CategoryHow the Discoverability Score works
Organic discovery scoring for Ramp on ChatGPT is not live yet. The score will use measured agent conversations when it launches.
Organic discovery scoring is pending. Your Plugin score will appear on this scale when measurement goes live.
FoundDiagnostic
Whether Claude found your Plugin in connector search. It must be Found before it can reach the picker, but the score counts picker appearances—not search results.
PickedMain score
How often your Plugin appeared in the picker, or Claude invoked it directly, across contested conversations. This percentage is the Discoverability Score; the headline number is rounded.
PositionedDiagnostic
What position your Plugin appeared in when it was shown in the picker. This shows prominence, but it does not affect the score.
128 tools agents can invoke
List agent account numbers
List bank accounts
Activate a card by its last four digits. Activates an unactivated card for the user. If the card is a physical card awaiting delivery confirmation, call this tool first without confirm_delivery to detect the state, then call again with confirm_delivery=True after the user confirms the physical card has arrived.
Compatibility route for callers that have not migrated to SetTravelerLoyaltyProgram.
Get an answer to a question about the expense policy or funds (amount, restrictions, etc). Use this tool when the user asks about expense policy rules, spending limits, fund restrictions, or whether certain purchases are allowed under company policy.
Approve or reject an employee reimbursement request for an out-of-pocket expense. Use this tool when the user wants to approve or reject a reimbursement. Reimbursements are employee-submitted requests for reimbursement of out-of-pocket expenses. Common usage patterns: "approve this reimbursement", "reject the expense", "yes, reimburse them", "no, don't reimburse this". This tool is specifically for employee reimbursements and is NOT for approving/rejecting card transactions or unified requests (spend allocations, purchase orders).
Approve or reject a pending unified request for spend allocation (fund), purchase order, or procurement approval. Use this tool when a user wants to approve or reject a specific request they have identified or referenced. Common usage patterns: "approve this request", "reject this request", "accept the request", "deny this", "authorize this", "yes approve it", "decline this request". This tool is specifically for unified requests (spend allocations, purchase orders, procurement approvals) and is NOT for approving expenses like corporate card transactions or reimbursements. The user must have proper approval authority for the request.
Approve or reject a transaction awaiting your review. Use this tool when the user wants to approve a transaction, send it back for revisions, or require the cardholder to repay the full amount. The acting user must have the proper approval authority for the transaction. If the user provides a written justification (e.g., “reject this because the receipt is missing”), pass that verbatim via `user_reason`—do not invent your own rationale.
Cancel the payment on a reimbursement that has been approved but not yet paid out.
Create a manually connected bank account
Create a reimbursement from an actual uploaded receipt. The receipt is identified by its real UUID from the conversation context or receipt-matching handoff. Do not use this tool for mileage reimbursements. Do not call this tool unless a real receipt UUID is available. Never pass placeholders such as null, "null", "mileage", or 00000000-0000-0000-0000-000000000000. When you have extracted receipt details from the image, provide amount, currency_code, transaction_date, and merchant directly. This creates the draft faster and more reliably than OCR. At minimum, provide the amount. Omit fields you could not extract. After successfully creating the reimbursement: 1. Check missing_items to see what is required 2. For items that CAN be filled via the agent (memo, accounting categories, funds, trip, attendees): - Request the missing item from the user - Include the relevant suggestions (suggested_memos or suggested_codings) - For funds, consult suggested_funds alongside the user's expense history and any preference the user has stated. suggested_funds is ordered by policy preference (most preferred first). Submitting without a fund appears as a regular entry (fund_name="None", fund_uuid="00000000-0000-0000-0000-000000000000") when policy permits it — treat it like any other choice and refer to it as "None" to the user. 3. For items that CANNOT be filled via the agent (mileage_locations, or if all agent-fillable items are complete): - ALWAYS provide the reimbursement_link URL as a clickable link in your response - Format it as markdown: [link text](reimbursement_link) - Example: "You can complete your reimbursement here: [Complete reimbursement](https://app.ramp.com:3000/s/reimbursements/xxx)" Items are requested in this order: receipt, memo, accounting categories, funds.
Create a new trip for the acting user.
List all departments in the company. Returns the departments available in the user's business, which can be used as inputs to workflows that require department references.
Duplicate an existing reimbursement as a new draft.
Edit one or more fields on a reimbursement. Omitted editable fields are left unchanged; pass ``null`` or ``[]`` explicitly to clear nullable/list fields. Supported fields: amount, currency, date, memo, funds, accounting categories, custom record fields (text, boolean, and number types only), trip, and attendees. Field semantics: - ``amount``, ``currency_code``, and ``reimbursement_date``: non-clearable; ``null`` is ignored. - ``memo``, ``fund_uuid``, ``trip_uuid``: pass ``null`` to clear. - ``tracking_category_selections``: pass ``[]`` to clear. - ``custom_record_values``, ``attendee_user_uuids``: pass ``[]`` to clear while the reimbursement is in DRAFT state. In non-DRAFT states, empty lists are accepted only when there is nothing to clear. Read the current state from the ``state`` field in the tool output when you need to preserve or intentionally clear existing fields. Always use ``fund_remaining_balance`` guidance from a validation error to resolve the fund limit. Its currency is ``fund_remaining_balance_currency``: use the amount directly when it matches ``state.currency.value``; otherwise, account for the currency conversion instead of copying the numeric value as the reimbursement amount. After successfully editing the reimbursement: 1. Check missing_items to see what is required 2. For items that CAN be filled via the agent (memo, accounting categories, funds, writable custom records, trip, attendees): - Request the missing item from the user - Include the relevant suggestions (suggested_memos, suggested_codings) - Do not set accounting categories from suggestions or prior reimbursements unless the user explicitly confirms those category values. - For funds, consult suggested_funds alongside the user's expense history and any preference the user has stated. suggested_funds is ordered by policy preference (most preferred first). Submitting without a fund appears as a regular entry (fund_name="None", fund_uuid="00000000-0000-0000-0000-000000000000") when policy permits it — treat it like any other choice and refer to it as "None" to the user. 3. For items that CANNOT be filled via the agent (mileage_locations, reference/date custom records): - ALWAYS provide the reimbursement_link URL as a clickable link in your response - Format it as markdown: [link text](reimbursement_link) Items are requested in this order: receipt, memo, accounting categories, funds, custom records. If there are no missing items left, the agent should confirm with the user if they want to submit the reimbursement.
Edit a transaction field. The supported edit types are memo, funds, accounting category, trip, and attendees. This tool allows updating specific fields of a transaction that the user has permission to edit. Provide at least one field to update. After successfully editing the transaction: 1. Check missing_items to see what is required 2. For items that CAN be filled via the agent (memo, accounting categories, funds, trip, attendees): - Request the missing item from the user - Include the relevant suggestions (suggested_memos, suggested_codings, or suggested_funds) 3. For items that CANNOT be filled via the agent (if all agent-fillable items are complete): - ALWAYS provide the transaction_link URL as a clickable link in your response - Format it as markdown: [link text](transaction_link) - Example: "You can complete your transaction here: [Complete transaction](https://app.ramp.com/transactions/xxx)" Items are requested in this order: receipt, memo, accounting categories, funds, trip, attendees. If there are no missing items left, the agent should confirm with the user if they want to submit the transaction.
Enroll the current business in agent cards for agentic commerce.
Estimate the reimbursement amount for a given mileage distance based on the user's company rates.
Estimate the per diem reimbursement amount for a trip given start/end dates and optional meal deductions.
Run read-only SQL for aggregate business analysis. First use the analyst catalog and read the domain docs for every table in the query; those docs define supported tables, columns, joins, and metric semantics.
Get daily balance history for a specific Ramp Checking Account. Use when the user asks about balance history for a specific account, savings account trend, checking account balance over time, or the balance trend for a specific Ramp Checking Account. This tool only supports Ramp Checking Accounts, not Investment Accounts or Managed Portfolios.
Get a one-time payment token for a fund. Handles card enrollment and purchase instructions automatically.
List funds that can be used for agent card payments. Returns eligible funds with available balance.
Aggregate AI token usage or estimated cost across selected dimensions. Use this for AI-spend analysis questions: totals, trends over time, and breakdowns by provider, model, configuration, department, user, or API-key tag group. Set metric='cost' for estimated dollar cost or metric='usage' for token counts. Discover valid filter/group-by values with GetAiTokenSpendFilterOptions first. Notes: - The window is half-open [start_at, end_at) in UTC; ISO dates are accepted. - When rollup is not 'all', the window must be at least roughly one bucket wide (≈6 days for weekly, ≈24 days for monthly). - Grouping by 'tag_group' requires tag_definition_id; 'cost_category' is only valid for metric='cost'; 'user_uuid'/'department_uuid' and the matching filters are only valid for metric='usage'. - Filter by exact models, by model_families, and/or by the model_* facets (compute tier, thinking, speed, context window, fine-tune source) returned by GetAiTokenSpendFilterOptions; these are resolved to concrete models and combined by intersection.
Summarize which AI providers are connected for the business. Use this to answer "which AI providers are connected?" and "is OpenAI/ Anthropic/Cursor/Gemini set up?". Returns the connected provider configurations (admin keys and gateway connections) and a per-provider "is anything connected" flag. For actual Ramp spend on AI vendors use GetAiTokenSpendCurrentSpend; for token usage volumes or estimated token cost use GetAiTokenSpendAggregates.
Report actual Ramp spend on AI vendors over the trailing 30 days. Returns, per AI merchant/provider, the real money the business paid through Ramp in the last 30 days (card transactions, paid bills, paid reimbursements) plus the overall total. This is actual spend, not estimated token cost — for estimated token usage/cost use GetAiTokenSpendAggregates. This reads financial transaction/bill/reimbursement data, so it requires transaction, reimbursement, or bill read access (not just AI-spend access).
List the filter/group-by dimensions available for AI-spend aggregates. Call this before GetAiTokenSpendAggregates when you need the valid values to filter or group by: available providers, models, model families/facets, departments, and API-key tag groups (label groups). The returned tag definition ids are what you pass as tag_definition_id when grouping aggregates by tag group. Tag definitions are only returned when the business has the tag-definitions feature enabled.
Discover available analyst tables and starter SQL for aggregate business analysis. Review the catalog before writing a query, then read domain docs for every table used.
Discover supported analyst metrics and starter SQL for aggregate business analysis.
Read domain documentation for analyst.spend_facts before using it in an analyst query.
Read domain documentation for an analyst table before using it in an analyst query.
Return the authenticated user's homepage attention feed. Use this tool to see what needs the user's attention right now: pending approvals, missing receipts, overdue reviews, signatures, and similar action items that appear on the Ramp homepage. By default, the tool returns the default homepage sections with compact LIST-hydrated task rows. To fetch more from a section, pass that section's section_type and next_cursor back in sections.
Get aggregate dollar amounts for bills matching the given filters. Examples: total unpaid amount, total pending amount. Use when users ask things like "How much do we owe in bills?" or "What's our total outstanding bill amount?". Bills in Ramp have two stages: draft bills (created/uploaded but not yet submitted; use the draft-bill tools) and bills (submitted; they move through approval, then scheduling, then payment). A draft keeps the same ID after submission, but draft-only tools stop working on it once submitted.
Retrieve comments from a bill's comment thread. Bills in Ramp have two stages: draft bills (created/uploaded but not yet submitted; use the draft-bill tools) and bills (submitted; they move through approval, then scheduling, then payment). A draft keeps the same ID after submission, but draft-only tools stop working on it once submitted.
Get comprehensive details about a specific bill including payment status, approval status, and all metadata. This tool retrieves submitted bills only. For draft bills that have not yet been submitted, use get-draft-bill-details instead. Bills in Ramp have two stages: draft bills (created/uploaded but not yet submitted; use the draft-bill tools) and bills (submitted; they move through approval, then scheduling, then payment). A draft keeps the same ID after submission, but draft-only tools stop working on it once submitted.
Retrieve the full modification and approval history of a bill, including status changes, approval actions, and creation details. Returns a chronological event log — creation, submission, each approval-chain action with actor and timestamp, and deletion. Use it to answer questions like "who approved this bill?". Bills in Ramp have two stages: draft bills (created/uploaded but not yet submitted; use the draft-bill tools) and bills (submitted; they move through approval, then scheduling, then payment). A draft keeps the same ID after submission, but draft-only tools stop working on it once submitted.
Retrieve invoice file attachments (PDFs/images) for a submitted bill. Returns the source documents backing the bill: for each attachment, the filename, type, and a time-limited download URL (the URL expires after about 3 days). Draft bills are not supported: draft attachments are not retrievable through agent tools. get-draft-bill-details returns draft metadata and a link to the draft page in the Ramp web app, where attachments can be viewed. Bills in Ramp have two stages: draft bills (created/uploaded but not yet submitted; use the draft-bill tools) and bills (submitted; they move through approval, then scheduling, then payment). A draft keeps the same ID after submission, but draft-only tools stop working on it once submitted.
Returns the count of bills matching specified filters. Use this to answer questions like "How many bills are pending approval?" or "How many overdue bills do we have?". Bills in Ramp have two stages: draft bills (created/uploaded but not yet submitted; use the draft-bill tools) and bills (submitted; they move through approval, then scheduling, then payment). A draft keeps the same ID after submission, but draft-only tools stop working on it once submitted.
Get the current payment and approval status of a specific bill, including any required next actions. Bills in Ramp have two stages: draft bills (created/uploaded but not yet submitted; use the draft-bill tools) and bills (submitted; they move through approval, then scheduling, then payment). A draft keeps the same ID after submission, but draft-only tools stop working on it once submitted.
Get bills that are pending approval from the current user. Use this tool when the user wants to see bills they need to approve or asks about pending approvals. This returns only bills where the authenticated user is the next required approver in the approval chain. Bills in Ramp have two stages: draft bills (created/uploaded but not yet submitted; use the draft-bill tools) and bills (submitted; they move through approval, then scheduling, then payment). A draft keeps the same ID after submission, but draft-only tools stop working on it once submitted.
Get detailed status and approval information for one booking. Use the exact ID returned by GetBookings. The ID may identify an unfulfilled booking request or a confirmed flight, hotel, or car booking.
Retrieves flight, hotel, and car rental bookings for the user. Use this tool when users ask about their: - Hotel bookings or reservations - Flight bookings - Car rental bookings - Travel bookings in general - Status of a recent booking request - The booking UUID to cancel or change an existing flight, hotel, or car rental By default this returns the acting user's own bookings. To look up ANOTHER user's bookings (e.g. an admin, travel manager, or a delegate asking about the person they assist), first resolve that person to a user UUID with GetAllReducedUsers (an org-wide search; do NOT use LookupUser, which is team-scoped and fails for delegates/regular employees) and pass it as `traveler_user_id`. Results are permission-scoped: you only receive bookings the acting user is authorized to see. An empty result can mean either that the person has no bookings or that you are not authorized to see them — say you couldn't find any bookings you can access for that person; do NOT assert a hard permission denial, and do NOT fall back to searching for new hotels or flights. By default this returns only CURRENT and UPCOMING bookings — flights that have not yet landed, hotel stays that have not yet ended, and car rentals not yet returned. Past/completed bookings are excluded so that cancellation and modification requests never act on a finished booking. When past bookings are hidden, the past_*_excluded counts are non-zero; mention to the user that they also have past bookings available if they want to see them (e.g. "you also have past flights I can show you") and only call this tool again with include_past=True if they explicitly ask. Pending and in-progress booking requests are always returned regardless of include_past. Unsuccessful unfulfilled booking requests (status=FAILED, CANCELLED, or REJECTED) are NOT returned by default. Set include_past separately for history; set include_failed=True ONLY when the user explicitly asks about failed, cancelled, rejected, or otherwise unsuccessful booking attempts. Returns confirmed bookings and pending/in-progress booking requests in unified lists (plus unsuccessful requests when include_failed=True). Check the status field: PENDING_APPROVAL, PROCESSING, FAILED, CANCELLED, or REJECTED can indicate unconfirmed requests. If status is FAILED, the error_message field explains why. Use GetBookingDetails with an entry's id when the user asks for its approval, amount, error, or other request details. IMPORTANT: Cancelled, rejected, and failed requests do NOT block new bookings. Always allow the user to proceed with a new search and booking when they ask to rebook after an unsuccessful request. IMPORTANT: When presenting results, use Rich Object References (ROR) format: - For hotels: [Hotel Name](hotel-uuid) e.g., [Marriott Downtown](abc123-def456) - For flights: [Flight Info](flight-uuid) e.g., [UA 100 SFO → JFK](abc123-def456) The 'id' field in each booking is the UUID to use in the reference.
Fetch trips that could be relevant to the current transaction. Returns ongoing, upcoming, and recently completed trips for the acting user.
Get a detailed explanation of why a transaction was declined. IMPORTANT: Only call this tool on transactions that are already known to be declined. If you need to find declined transactions first, use GetUserTransactions with state='declined'. Do NOT call this on approved or pending transactions — it will return a not_declined error. This tool provides: - Human-readable explanation of the decline reason - Structured remediation actions the user or admin can take - The SMS/push notification message sent to the user - Transaction details (amount, merchant, card, timestamp) Use this when a user asks why their transaction was declined or what they can do about it.
Get rich details for a draft bill. Returns compact draft-bill metadata by default. When requested, it also returns the draft's full editable field set inline, in the shape accepted by the draft update tool. Bills in Ramp have two stages: draft bills (created/uploaded but not yet submitted; use the draft-bill tools) and bills (submitted; they move through approval, then scheduling, then payment). A draft keeps the same ID after submission, but draft-only tools stop working on it once submitted.
Resolves locations (airports/cities) available for booking a flight from user intent. Preserve the user's location wording in ``query``. When the user names a city or metro area such as "NYC", set ``location_type=city``. A returned city ``search_code`` searches all supported airports in that metro; do not ask the user to choose one airport when a city result is available. Call this before SearchFlights for every departure or arrival location that the user did not provide as an exact airport IATA code. If the results contain multiple plausible locations, present the choices and wait for the user to clarify; never choose a location on their behalf. Do not infer a location from profile data, an area code, or a broad description such as "somewhere warm." Returns locations where flights can be booked from or to, which may include: - Individual airports (e.g., JFK, SFO, LAX) - City groups with multiple airports (e.g., NYC includes JFK, LGA, EWR) - Major travel destinations with flight availability Pass a result's ``search_code`` straight into SearchFlights departure/arrival. Cities search every airport in the metro area; airports search just that airport.
View all details, memos, funds, and receipts for a specific transaction.
Retrieve funds (also known as cards or budgets) that belong to the current user or other users. Use this tool when users ask about: - Their funds, cards, or budgets (e.g., "show me my funds", "what cards do I have?") - What they can buy from a specific fund - Why their card is locked or not working (e.g., "why is my card locked?", "why can't I use my card?") - Fund balances, restrictions, or lock status When querying for a specific person's funds, first call GetOrgChart to get their UUID, then use the user_uuids parameter. For queries about "my funds", use funds_to_retrieve=MY_FUNDS. To search by fund name, use search_by_fund_display_name. To look up a specific fund by its UUID, use fund_uuid. For card lock questions, set include_lock_info=True to get lock details. When balance_info is returned, treat its remaining balance as authoritative for cleared charges and pending authorizations. Do not subtract those amounts again. Never infer that a booking is included merely because it is confirmed: a postpaid booking with no charge or pending authorization is a future charge and has not yet reduced the remaining balance.
Fetch available room-rate options for one selected hotel from SearchHotels. Use this after the user picks a hotel from ``SearchHotels`` results and before booking. The returned ``rate.id`` values are the exact IDs to pass to ``SubmitHotelBooking``.
Get the balance of investment accounts for the business. Use this when the user asks about investment account balances, brokerage cash, or the current balance of Ramp investment accounts. Returns all investment accounts the business has, along with balances, status, yield, and earnings.
How do I improve a ChatGPT Plugin's 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 Ramp alternatives on ChatGPT?
As of 2026-08-14, Ramp competes with Allowance, Brex, Expensify, Perk, Ramp Data, Tropic in ChatGPT Corporate Spend, Expense & Procurement, 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.