Flexport
Manage freight shipments
- Category
- Pending
- Primary Subcategory
- Pending
Integration details
Description
Flexport helps users search logistics reference data, track and browse shipments, review quote requests and pricing, request rates, and create freight bookings through ChatGPT.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Category
- Pending
- Primary Subcategory
- Pending
- Secondary Subcategories
- None listed
- Brand
- Unknown
- Access
- Account required
- First tracked
- 2026-09-23
- Tool count
- 17
- Geography
- US
The broad Category that contains the Primary Subcategory.
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for Flexport
Get updates when Flexport’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competitive lineup
17 tools agents can invoke
Instantly create a booking. Two modes: (1) search_snapshot_id + item_snapshot_id (PREFERRED) — book directly off a prior rates_search_instant_price result; or (2) client_rate_id — book against a known client rate whose identifier the user supplies directly. Mode 1 is the normal path; no currently available tool returns a client rate identifier. Provide exactly one mode's fields, never both. In snapshot mode, cargo_ready_date, cargo_details, and route/incoterm are all reused from the original search — do not resupply them; cargo_details is ignored if provided. In client_rate_id mode, cargo_ready_date and cargo_details are also required, and the rate's active/expiry/effective status and transportation mode are validated before booking. On validation failure, returns a structured error_code instead of creating a booking. This tool creates a real, binding booking and cannot be undone through this interface — never call it speculatively. In snapshot mode, price_confirmation_token is required. Pass the fingerprint returned by rates_evaluate_total_price_from_instant_price_search with the same search_snapshot_id, item_snapshot_id, wants_* flags, and detention_addon_free_days. Show the evaluated price and every selected add-on/detention selection to the user and get explicit go-ahead before calling this tool. If the fingerprint is missing or does not match, this tool returns REQUIRES_PRICE_CONFIRMATION. This is a workflow guard for cooperative MCP clients, not proof that an arbitrary caller ran the evaluate tool. client_rate_id mode has no evaluate step, so price_confirmation_token is not required for it — but the same rule to always show the booking summary and get explicit go-ahead before calling still applies. When the search result includes nac_allocation (NAC rate with allocation data): before calling this tool, present the feasible allocation weeks to the user — show each week's week_date_range and available_allocation alongside the shipment's requested_teus — and ask the user to select a week. Pass the selected week and year as ssat_allocation_preference. Never pick a week silently.
rates_instant_book
Create and submit an unrated supplier booking for consignee acceptance. Use only when the user is acting as the shipper or supplier; Flexport prepares the quote for the consignee after submission. Treat every user-provided value and occurrence as intentional and semantically significant. Never silently deduplicate, merge, omit, replace, reinterpret, or invent user-provided data. Normalize only when meaning and cardinality remain unchanged. If input is ambiguous, contradictory, unsupported, or cannot map one-to-one to the schema, explain the issue and ask how to proceed. Disclose every normalized, derived, defaulted, or excluded value before submission. If the user's role is unclear, ask whether they need a rate to make the booking. If yes, use rates_search_instant_price; otherwise use this tool. Before collecting individual answers, summarize all required and conditionally required information described by the input schema. Resolve company entities and ports with their network search tools and addresses only with network_search_addresses; Google-address search results are unsupported. After collecting the required values and service confirmation, call without booking_confirmation_token to run the validated preflight. Show the complete validated booking and returned fingerprint to the shipper. After explicit confirmation, retry the exact same booking with the unchanged token. Any booking-detail change requires a new preflight. Dangerous-goods cargo and document uploads are unsupported; if any dangerous-goods answer is true, direct the user to the Flexport UI.
rates_book_without_rate
Find client-visible quote requests by name or FLEX-ID, or browse and filter them by status, freight mode, origin or destination, and submitter. Defaults to active requests and returns client-facing status, route, cargo, submitter, pagination, and web link. Resolve port or address names with network_search_ports or network_search_addresses before filtering by location. When filtering by submitter, call list_active_company_users to search a named submitter or list active company users for selection before filtering by requestor_ids.
rates_browse_quote_requests
Browse Flexport-managed shipments matching status/mode/date/task/demurrage/detention filters, paginated. Returns up to 100 tenant-scoped shipments per page with the same shipment detail shape as track_shipment (route stops, containers with last-free-day info, customs entries, exceptions, open work item tasks, and metadata tags) except lifecycle milestones, which this tool does not populate — use track_shipment for those.
browse_shipments
Evaluate the live price breakdown for a rate the user has selected from rates_search_instant_price results. Call this after the user picks a specific item from the search results to show a detailed, evaluated total with itemized charges before booking. Requires search_snapshot_id and item_snapshot_id from the prior rates_search_instant_price call — all other search parameters (cargo, routing, incoterm, cargo ready date) are read automatically from the search snapshot. Set each wants_* flag based on the user's resolved selection from addon_service_options on the search result: true for any service where force_included=true or the user opted in, false otherwise. Services not offered on this rate should be omitted (false). If the user selected a detention add-on tier, pass the add-on days (not total) as detention_addon_free_days. Returns total_price, charge_line_items grouped by category (freight, origin, destination, customs, additional, capital, future_applicable), and a price_confirmation_token. Pass that fingerprint unchanged to rates_instant_book after the user confirms the evaluated price.
rates_evaluate_total_price_from_instant_price_search
Get one quote option's complete transit, route, and client-UI itemized rate groups with virtual charges, base-currency subtotals, subtotal display overrides, total price, expiration, and web action link. Prefer subtotal_display over subtotal when the display override is present. Use the quote_id returned for a quote option.
rates_get_quote_details
Get one quote request's submission details and every priced quote option, including quote ID, carrier, transit estimates, freight and inclusive costs, total price, expiration, and web link.
rates_get_quote_request_details
List or search active users in the authenticated client's company, including the authenticated user. When the user names a quote-request submitter, pass that name or email in query and present the matching users for confirmation. When the user asks to choose or filter by submitter without naming one, omit query, list the active users, and ask them to select one. Pass the confirmed user_id to requestor_ids in rates_browse_quote_requests.
list_active_company_users
Request a new rate for a lane when rates_search_instant_price does not return an acceptable option for the user. IMPORTANT: Before calling this tool you MUST: (1) Call rates_search_instant_price to check for existing rates on this lane. If no rates exist, use offering_contract_type=HEDGE_FAK (spot/FAK). If only spot rates exist and the client wants a fixed rate, use offering_contract_type=LONG_NAC (NAC). If no rates exist, do not request a rate automatically. Ask the user whether they want to place a booking without a rate using rates_book_without_rate or request a new rate, and only continue with this tool if they choose to request a new rate. (2) Call network_search_ports to verify any port_id and network_search_addresses to find any address FID. If no matching address is found, use network_search_google_addresses as a fallback and pass its commerce_address_fid. Never pass a port_id or FID directly from the user — always confirm it exists via search first. (3) Present the complete rate request details to the user and obtain their explicit confirmation to submit. Do not call this tool without that confirmation.
rates_request_rate
Search Google Places for cities, postal codes, and general place matches. Use returned commerce_address_fid values in follow-up workflows.
network_search_google_addresses
Search Flexport's six-digit international HS-code catalog by product description or code. Use this when a user needs rates_book_without_rate but does not know the exact HS code. Present likely matches, ask the shipper to confirm the correct classification, then pass the selected hs_code_dbid and the shipper's goods description to rates_book_without_rate. Never choose a classification without user confirmation.
network_search_hs_codes
Search addresses onboarded in Flexport for the authenticated client's network. Query terms are ANDed per-word prefixes across address name, street, city, state, and primary company legal name. Before calling, remove postal/ZIP codes and country names or codes, but preserve hyphens inside street and unit identifiers. If no result is found, retry with fewer distinctive terms. Use returned address_fid values in follow-up workflows such as rates_search_instant_price.
network_search_addresses
Search active Flexport company entities in the authenticated client's company network by legal name. The backend uses whole normalized legal-name similarity, not prefix search, and does not search DBA names or tax IDs. Use the most complete correctly spelled legal name available; corporate suffixes such as Inc, LLC, and Ltd are optional. If no result is found, correct typos or add missing legal-name words before retrying. Use returned company_entity_id values in follow-up workflows.
network_search_company_entities
Search eligible Flexport warehouse destinations for a booking that should automatically create a fulfillment inbound. Eligibility is determined from the authenticated client company and booking origin. Use the returned address_fid as destination_address_fid in rates_book_without_rate.
network_search_fulfillment_inbound_addresses
Search available instant-price freight rates for Ocean FCL, Ocean LCL, or Air shipments. NOT supported: dangerous goods (DG/hazmat) — ask the user if cargo contains any DG before searching and decline if it does. NOT supported: FTL or any road/trucking-only mode. Collect all required info before calling — ask explicitly for anything not provided: origin, destination, cargo_ready_date, incoterm, and cargo details. Before resolving the origin and destination, ask the user two questions: (1) whether Flexport should handle pickup from the origin (door pickup) or whether the shipment starts at a port; (2) whether Flexport should handle delivery to the destination (door delivery) or whether it ends at a port. Use the answers to set freight_type: DOOR_TO_DOOR, DOOR_TO_PORT, PORT_TO_DOOR, or PORT_TO_PORT. Only skip asking when the user has already made it clear (e.g. explicitly named a port for a side). Then confirm with the user whether each origin/destination is a specific port or an address, and whether the address is onboarded in Flexport or a general location. Resolve origin/destination: for PORT sides use network_search_ports to get a port_id, or if the user does not want to specify a port use an address FID — the tool resolves coordinates internally and the backend finds the nearest port. For address FIDs: use network_search_addresses for addresses onboarded in Flexport; use network_search_google_addresses for general addresses not onboarded in Flexport (e.g. city name, postal code, street address). After searching for a port or address, always present the result(s) to the user and ask them to confirm the correct one before proceeding to call this tool. Infer when possible: transportation_mode from conversation; incoterm from prior shipment context. For OCEAN_LCL and AIR, loose cargo details are required for accurate pricing: prefer per-package dimensions (cargo.loose_cargo_info.shipping_units) for the most accurate pricing — if the user cannot provide package details, accept total weight (kg) and total volume (cbm) as a fallback. Returns rate options with carrier name, pricing, transit times, charge breakdown, addon_service_options (eligible add-on services with force_included flag), detention add-ons, CO2e emissions, and rate_type (NAC = client-negotiated, FAK = spot; FCL only). NAC results also include nac_allocation showing per-week TEU availability. If empty_reason is set, no instant-price rates are available. Tell the user and ask them to choose whether to place a booking without a rate using rates_book_without_rate or request a new rate using rates_request_rate. Do not call either tool until the user chooses. After presenting search results and the user selects a rate, before calling evaluate price collect two types of user choices from the selected result: (1) Add-on services — inspect addon_service_options: list services with force_included=true as automatically included (cannot be removed), list services with force_included=false as optional and explicitly ask the user whether they want each one. (2) Detention free days — if detention_addon_options is non-empty, show the user the available tiers (each tier shows total_free_days and addon_price) alongside the base detention_base_free_days, and ask whether they want to upgrade; if yes, record the chosen tier's add-on days (total_free_days minus detention_base_free_days). Once both choices are confirmed, call rates_evaluate_total_price_from_instant_price_search with: the snapshot IDs, wants_* flags per the user's add-on choices (force_included services must also have their wants_* flag set to true), and detention_addon_free_days set to the chosen add-on days (omit if the user declined the upgrade). Present the evaluated total price and full charge breakdown, then ask for explicit confirmation. Pass the same wants_* flags and detention_addon_free_days to rates_instant_book unchanged, along with the price_confirmation_token this evaluate call returns. rates_instant_book recomputes the same selection fingerprint and returns REQUIRES_PRICE_CONFIRMATION if it is missing or does not match. This workflow guard is intended for cooperative MCP clients; it is not proof that an arbitrary caller ran the evaluate tool. Only call rates_instant_book after the user confirms the evaluated price.
rates_search_instant_price
Search Flexport ports by name, city, UN/LOCODE, IATA code, ICAO code, or customs port code. Use returned port_id values in follow-up BQI MCP workflows. IMPORTANT: An exact UN/LOCODE, IATA, ICAO, or customs port code identifies a single port unambiguously — you may use its port_id directly. A name or city query is a fuzzy match and often returns several real ports that all plausibly fit. Results carry no match score and their order carries no authority, so when more than one result could match what the user asked for, present the candidates — port_name, city, country_code, and codes — and ask the user which they mean. Never assert one result as the definitive port and never silently pick the first. When listing candidates, use only the ports in this response: every one you list must be one of the returned results, and every returned result you present must keep its fields exactly as returned. Do not add a port from your own knowledge that is not in the results, even if it seems like a better or more familiar match, and do not drop a returned result from the list you present. If you are not certain a port you are about to mention is one of the results, omit it rather than guess. If has_more is true, tell the user the list is incomplete rather than treating it as complete.
network_search_ports
Search for Flexport shipments by FLEX-ID, name, or client-assigned tag. Supply exactly one search field: flex_id, name, or tag. flex_id is exact-match only; name and tag match exactly when possible and otherwise return close (fuzzy) matches. Returns up to 20 tenant-scoped shipments with full tracking detail: route stops, containers with last-free-day info, customs declarations with PGA hold status, exceptions, client-facing work item tasks, and metadata tags.
track_shipment
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.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.