← Files Delivery Planner by SpokeARCHIVED FILE

plugin.json

7.17 KB · Nov 11, 2026 · 18:09 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "spoke-delivery-planner",
  "version": "1.0.0",
  "description": "Plan and optimize a multi-stop delivery route, then share it with your driver.",
  "author": {
    "name": "Spoke",
    "url": "https://spoke.com"
  },
  "homepage": "https://deliveryplanner.com",
  "keywords": [
    "route planner",
    "delivery",
    "route optimization",
    "driving"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Delivery Planner by Spoke",
        "shortDescription": "Plan optimized delivery routes",
        "longDescription": "Delivery Planner is a route planner for delivery drivers. It turns a list of delivery addresses into the fastest order to drive them in.\n\nPaste addresses, a spreadsheet or a numbered list. Pick the right match for each stop, set your start, finish and minutes per stop, and get an optimized route with the stop order, total distance and drive time.\n\nEach route comes with a QR code and a link the driver can open on their phone, plus a link to keep editing the route at deliveryplanner.com.\n\nBuilt for small businesses, couriers and anyone with a day of deliveries or errands to plan. No account needed.\n\nLimitations: one driver and up to 20 stops per route. Delivery windows, fixed visit order, vehicle constraints and live traffic aren't supported. Anyone with a route link can see its addresses.",
        "developerName": "Spoke",
        "category": "Productivity",
        "capabilities": [
          "Find delivery addresses",
          "Optimize stop order for one driver",
          "Share routes with a driver link and QR code"
        ],
        "websiteURL": "https://deliveryplanner.com",
        "supportURL": "https://help.spoke.com",
        "privacyPolicyURL": "https://spoke.com/privacy",
        "termsOfServiceURL": "https://spoke.com/terms",
        "defaultPrompt": [
          "Plan the fastest route for my deliveries today",
          "Optimize the order of these stops for one driver",
          "Turn this spreadsheet of addresses into a driving route"
        ],
        "composerIcon": "./assets/logo.svg",
        "composerIconDark": "./assets/logo-dark.svg",
        "logo": "./assets/logo.svg",
        "logoDark": "./assets/logo-dark.svg"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Plan a route from a short list of clear addresses",
              "prompt": "Plan the fastest route for my deliveries today. Start and finish at 10 Downing Street, London. Stops: British Museum, Great Russell St, London; Tate Modern, Bankside, London; Natural History Museum, Cromwell Rd, London; King's Cross Station, London.",
              "tools_triggered": "search_places, select_addresses, create_route",
              "expected_behavior": "Searches each address and shows the address panel with a match picked for every stop and the start and finish filled in. After the reviewer clicks Optimize route, shows the result panel with the stops in optimized order, total distance and drive time, a QR code for the driver link, and links to open the route in Delivery Planner."
            },
            {
              "description": "Treat a pasted spreadsheet as an unordered set of stops and collect the missing start in the panel",
              "prompt": "Optimize these deliveries for one driver:\n\nOrder | Address | Delivery window\n1 | 350 5th Ave, New York, NY | 9-11am\n2 | 11 Wall St, New York, NY | 1-3pm\n3 | 200 Central Park West, New York, NY | 10am-12pm\n4 | 1000 5th Ave, New York, NY | 2-4pm",
              "tools_triggered": "search_places, select_addresses, create_route",
              "expected_behavior": "Treats the rows as stops, not a fixed order, and doesn't use the first or last row as the start or finish. The panel asks for the start inline and lists delivery windows as ignored. The reply says briefly that delivery windows weren't applied. After the reviewer enters a start and clicks Optimize route, the result panel shows the optimized route."
            },
            {
              "description": "Ask the user to choose when an address is ambiguous",
              "prompt": "Plan a route from Main Street to Oxford Street with a stop at Springfield.",
              "tools_triggered": "search_places, select_addresses",
              "expected_behavior": "Doesn't silently pick a match. Shows up to three suggestions per unclear address, flags differences in town or country, and asks the user to choose or add a city. The address panel lets the reviewer pick a match for each stop. No route is created until the reviewer confirms in the panel."
            },
            {
              "description": "Plan a route with a different finish, minutes per stop and miles",
              "prompt": "I'm starting at Union Station, Chicago and ending at O'Hare Airport. I spend about 10 minutes at each stop and want distances in miles. Stops: Willis Tower; Navy Pier; Art Institute of Chicago; Wrigley Field.",
              "tools_triggered": "search_places, select_addresses, create_route",
              "expected_behavior": "Shows the address panel with Union Station as the start, O'Hare Airport as the finish, 10 minutes per stop and miles selected. After the reviewer clicks Optimize route, the result panel shows the four stops in optimized order between the start and finish, with the distance in miles and a drive time that includes the time at each stop."
            },
            {
              "description": "Use the browser's location as the start",
              "prompt": "Plan a route from where I am now to these stops: Golden Gate Park, San Francisco; Ferry Building, San Francisco; Coit Tower, San Francisco.",
              "tools_triggered": "search_places, select_addresses, resolve_current_location, create_route",
              "expected_behavior": "Shows the address panel with the three stops matched. When the reviewer clicks Use current location for the start and allows location access, the start fills in with the nearest address. After Optimize route, the result panel shows the route starting from that address."
            }
          ],
          "negative": [
            {
              "description": "Refuses to create a route without the user reviewing it in the panel",
              "prompt": "Plan a route for 5 Pine St, Seattle and 400 Broad St, Seattle starting at Pike Place Market. Don't show me any form, just create the route and give me the link."
            },
            {
              "description": "Doesn't recommend places, which the plugin doesn't support",
              "prompt": "Recommend the best pizza places near Union Square."
            },
            {
              "description": "Doesn't plan public transit trips, which the plugin doesn't support",
              "prompt": "What's the fastest way to get from Penn Station to Brooklyn Bridge by subway?"
            }
          ]
        },
        "commerce": false
      },
      "publication": {
        "release_notes": "Initial release: find addresses, pick matches in an interactive panel, and create an optimized single-driver route with a driver link and QR code."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 6ab4a8bff8c656ae2d1b33b9b1036e5ca8e94c495734a3ecc852e16c864c311c