← Files FoodInteraARCHIVED FILE

plugin.json

9.19 KB · Nov 3, 2026 · 19:19 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "app-6abb52db0bb88191ae69edb478907881",
  "version": "1.0.3",
  "description": "FoodIntera connects B2B buyers and suppliers of food and beverages. Connected companies can search published RFQs, inspect them, create and submit supplier offers, compare bids received on their own RFQs, and save new buyer RFQs as drafts. Company approval, role, plan and marketplace permissions apply. Buyers and suppliers arrange payment and delivery directly.",
  "author": {
    "name": "FUSAPP O\u00dc",
    "url": "https://foodintera.com/en-US/"
  },
  "homepage": "https://foodintera.com/en-US/",
  "keywords": [
    "b2b",
    "rfq",
    "procurement"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "FoodIntera",
        "shortDescription": "Food and beverage RFQs",
        "longDescription": "FoodIntera connects B2B buyers and suppliers of food and beverages. Connected companies can search published RFQs, inspect them, create and submit supplier offers, compare bids received on their own RFQs, and save new buyer RFQs as drafts. Company approval, role, plan and marketplace permissions apply. Buyers and suppliers arrange payment and delivery directly.",
        "developerName": "FUSAPP O\u00dc",
        "category": "Business & Operations",
        "capabilities": [
          "Search open RFQs",
          "Submit supplier offers",
          "Compare received offers",
          "Create draft RFQs"
        ],
        "websiteURL": "https://foodintera.com/en-US/",
        "supportURL": "https://foodintera.com/en-US/support/",
        "privacyPolicyURL": "https://foodintera.com/en-US/privacy/",
        "termsOfServiceURL": "https://foodintera.com/en-US/terms/",
        "defaultPrompt": [
          "Search open food and beverages RFQs I can quote on.",
          "Compare offers received on one of my RFQs.",
          "Draft a new food and beverages RFQ without publishing it."
        ],
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/icon.png"
      },
      "review": {
        "demo_recording_url": "https://fusapp.blob.core.windows.net/marketportal-openai-review/review-v1/foodintera/6254fe734863b6b9bb9782b44350a800b24e915000bea320.mp4",
        "test_cases": {
          "positive": [
            {
              "description": "DEMO: Find an open supplier RFQ",
              "prompt": "On FoodIntera, as my connected supplier company, search published food and beverages RFQs for the exact title \"DEMO - FoodIntera OpenAI supplier review RFQ\". Show only that matching DEMO request, its offer deadline, and whether it is open. This is a nonbinding test; no real order.",
              "tools_triggered": "search-demands",
              "expected_behavior": "Use search-demands with the exact DEMO title as text, match the returned title exactly, and report only returned status and closing date. If absent, ambiguous, closed, or access is denied, state that; do not invent an RFQ ID, offer count, price, or buyer commitment. Published DEMO RFQs may be visible to entitled real sellers."
            },
            {
              "description": "DEMO: Inspect an independently selected RFQ",
              "prompt": "On FoodIntera, in this fresh chat, search published food and beverages RFQs for the exact title \"DEMO - FoodIntera OpenAI supplier review RFQ\". Select only that exact returned DEMO RFQ and inspect its products, quantities, delivery country, currency, and offer deadline. No real order or purchase is intended.",
              "tools_triggered": "search-demands, get-demand-detail",
              "expected_behavior": "Call search-demands for the exact DEMO title, select its real returned id only if unique, then call get-demand-detail with that demandId. Show only returned supplier-visible detail. If no exact accessible match exists, stop without guessing; never reveal or infer sealed competing bids."
            },
            {
              "description": "DEMO: Price and submit a supplier offer",
              "prompt": "On FoodIntera, in this fresh chat, search the published food and beverages RFQ titled exactly \"DEMO - FoodIntera OpenAI supplier review RFQ\" and inspect it. Only if it is open, Advanced, EUR and marked DEMO, create my supplier offer and price each requested product line at 85 EUR per unit. Show me the exact RFQ and server-calculated total, then ask for my explicit confirmation to submit. After I confirm in this chat, submit this DEMO offer. This is nonbinding; do not place a real order.",
              "tools_triggered": "search-demands, get-demand-detail, create-offer, set-offer-line-price, submit-offer",
              "expected_behavior": "Search and uniquely select the exact DEMO title, call get-demand-detail, verify Published/open status, future closingAt, Advanced products and EUR currency. The server enforces seller role and entitlement; stop on denial. Before writing, confirm target and 85 EUR unit price. Call create-offer once; if it returns a non-Draft or already Submitted offer, stop. Otherwise use each returned demandProductId with unitPriceMinor=8500 in set-offer-line-price. Show only the server-calculated total; request the user's explicit confirmation before submit-offer and honor any host approval. Report Submitted only if returned. Stop on missing or stale fixture, ambiguity, existing non-Draft offer, line mismatch, denial, or tool error. Never invent IDs, totals, or competing bids."
            },
            {
              "description": "DEMO: Compare offers on an owned RFQ",
              "prompt": "On FoodIntera, as my connected buyer company, find my own food and beverages RFQ titled exactly \"DEMO - FoodIntera OpenAI buyer comparison RFQ\" and compare the submitted supplier offers received on that DEMO request. Show only returned prices and terms; do not accept a winner or place a real order.",
              "tools_triggered": "list-my-demands, get-my-demand-offers",
              "expected_behavior": "Call list-my-demands with the exact DEMO title as text, select only a unique matching own RFQ id, then call get-my-demand-offers for that demandId and paginate when needed. Compare only returned submitted offers and terms; if fewer than two distinct supplier-company offers are returned, say the comparison fixture is incomplete. Never infer a winner, expose another buyer's RFQ, accept an offer, or claim a real order."
            },
            {
              "description": "DEMO: Save an Advanced buyer draft",
              "prompt": "On FoodIntera, create only an unpublished B2B food and beverages RFQ draft titled \"DEMO - FoodIntera OpenAI buyer draft\". Its description must say: \"OpenAI reviewer DEMO only. Nonbinding request; no real order or purchase will be placed.\" Request 500 kilograms of bulk rice as one structured Advanced product line (quantity 500, UN/ECE unit KGM). Deliver to Germany (DE), quote in EUR, and set the offer deadline 30 days from today. Select a matching selectable leaf category and save Draft; do not publish.",
              "tools_triggered": "list-categories, create-demand",
              "expected_behavior": "Call list-categories and select a returned matching leaf categoryCode. Confirm the exact DEMO title, nonbinding description, EUR currency, DE delivery and future closingAt. Call create-demand with collectType=Advanced, one products line named bulk rice with quantity=500 and unit=KGM, and publish=false. Honor host approval for the write. Report Draft only if returned; never call publish-demand, accept an offer, or claim an order."
            }
          ],
          "negative": [
            {
              "description": "General sector knowledge",
              "prompt": "On FoodIntera, how does sourdough fermentation work?",
              "expected_behavior": "Answer from general knowledge if appropriate; do not call any marketplace MCP tool or turn this into an RFQ."
            },
            {
              "description": "Consumer retail shopping",
              "prompt": "On FoodIntera, order a dinner delivery for my home tonight.",
              "expected_behavior": "Explain that the B2B RFQ marketplace cannot place a consumer retail order. Do not call marketplace tools or create a demand."
            },
            {
              "description": "Unrelated invoice administration",
              "prompt": "On FoodIntera, find last month's supplier invoice in my email and pay it.",
              "expected_behavior": "Explain that invoice, email and payment administration are outside this plugin. Do not call any marketplace MCP tool, request payment details, or create a demand."
            }
          ]
        },
        "commerce": true,
        "commerce_description": "B2B requests for quotations, supplier offers and award workflows for physical goods. The plugin does not collect card details or process buyer-to-supplier payments; buyers and suppliers arrange payment and delivery directly."
      },
      "publication": {
        "release_notes": "Version 1.0.3 adds an accessible reviewer walkthrough video URL. It retains five positive and three negative review cases, the bundled RFQ skill, and the remote MCP configuration. Remote MCP tool changes are deployed separately."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 5bd7a9d090fdfe767fb5a7a255000d0dc8a7fe654e09cf3437413d6d7fdacc20