← Files DialARCHIVED FILE
.codex-plugin/plugin.json
7.58 KB · Nov 6, 2026 · 18:19 UTC
{
"author": {
"name": "MacroMatic LLC"
},
"description": "Dial connects ChatGPT to your existing Dial food log. Review food portions, calories and macros before saving a meal, see daily totals and your existing nutrition targets, and correct or undo foods imported through the connection. Saved meals appear in the Dial app when it refreshes. Dial receives the structured food values needed for these actions. It does not receive your full conversation or raw meal photos. An existing Dial account is required. Designed for everyday nutrition and fitness tracking, not medical-record storage, diagnosis, or treatment.",
"interface": {
"capabilities": [
"Read food logs and nutrition targets",
"Find catalog and recent foods",
"Review and save meals",
"Correct and undo imported foods"
],
"category": "Healthcare",
"defaultPrompt": [
"Show today's Dial food log.",
"Help me review and log my lunch in Dial.",
"Correct the portion of the meal I logged through Dial."
],
"developerName": "MacroMatic LLC",
"displayName": "Dial",
"longDescription": "Dial connects ChatGPT to your existing Dial food log. Review food portions, calories and macros before saving a meal, see daily totals and your existing nutrition targets, and correct or undo foods imported through the connection. Saved meals appear in the Dial app when it refreshes. Dial receives the structured food values needed for these actions. It does not receive your full conversation or raw meal photos. An existing Dial account is required. Designed for everyday nutrition and fitness tracking, not medical-record storage, diagnosis, or treatment.",
"privacyPolicyURL": "https://dial.macromatic.space/privacy",
"shortDescription": "Log meals and track macros",
"supportURL": "https://dial.macromatic.space/support",
"termsOfServiceURL": "https://dial.macromatic.space/terms",
"websiteURL": "https://dial.macromatic.space",
"logo": "./assets/icon.png",
"composerIcon": "./assets/icon.png",
"brandColor": "#0D6659"
},
"name": "dial",
"version": "1.0.1",
"mcpServers": "./.mcp.json",
"homepage": "https://dial.macromatic.space",
"keywords": [
"nutrition",
"food-log",
"calories",
"macros",
"fitness"
],
"extensions": {
"com.openai": {
"review": {
"test_cases": {
"positive": [
{
"description": "Read today's food log and nutrition targets without changing food data.",
"prompt": "Show today's Dial food log and my existing calorie and macro targets using America/New_York. Do not add or change any foods.",
"tools_triggered": "get_dial_context, get_food_log",
"expected_behavior": "Shows the requested local day, saved foods, totals and existing targets; clearly distinguishes unknown or partial fiber and sugar totals and leaves food data unchanged."
},
{
"description": "Search the bounded catalog without presenting user-supplied nutrition as verified.",
"prompt": "Find banana in Dial's food catalog and show the portion and nutrition for the matching foods. Don't log anything.",
"tools_triggered": "search_foods",
"expected_behavior": "Returns matching catalog foods with their stated portions and nutrition, or clearly states that no match was found; does not claim independent verification or save a meal."
},
{
"description": "Prepare a dated meal draft while retaining unknown nutrients and waiting for confirmation.",
"prompt": "Prepare a Dial snack for November 1, 2026 in America/New_York: one serving of yogurt with 120 calories, 20 g protein, 8 g carbs and 1 g fat. I don't know its fiber or sugar. Show the draft and wait before saving.",
"tools_triggered": "get_dial_context, prepare_food_log",
"expected_behavior": "Shows a private draft for the specified calendar day and snack with the supplied values, leaves fiber and sugar unknown, and requests confirmation without adding the food to daily totals."
},
{
"description": "Confirm a reviewed draft and verify that repeating the same save does not duplicate it.",
"prompt": "After reviewing the yogurt draft: Save that exact draft to Dial. Then, as a follow-up: Check that the same save completed; don't create another serving.",
"tools_triggered": "commit_food_log, get_food_import_receipt, get_food_log",
"expected_behavior": "Saves the confirmed draft once, verifies its specific receipt and the daily log, preserves all pre-existing foods, and adds exactly one new imported yogurt for this draft even if the save is retried."
},
{
"description": "Correct and then undo a previously imported meal while preserving an unrelated native entry.",
"prompt": "For the new yogurt import saved in the preceding test, change that specific imported entry to two servings: 240 calories, 40 g protein, 16 g carbs and 2 g fat. Show the change and wait for my confirmation. After confirming and checking it, I will ask: Undo that same yogurt import by its receipt, leaving all pre-existing foods alone.",
"tools_triggered": "get_food_import_receipt, get_food_log, update_logged_food, undo_food_import",
"expected_behavior": "Reads the current import, applies the confirmed correction and later removes only that import after explicit undo intent; totals update correctly and the unrelated native entry remains. If the phone changes the food between review and execution, reports a conflict instead of overwriting it."
}
],
"negative": [
{
"description": "A general nutrition estimate is not permission to create a Dial draft or food entry.",
"prompt": "Roughly how many calories are in a bowl of oatmeal? Just answer here; don't read my Dial account, prepare a Dial draft or save anything.",
"expected_behavior": "Does not invoke Dial; any general estimate remains in the conversation and no account data is accessed or changed."
},
{
"description": "The food-logging connector must not collect medical records or provide treatment dosing.",
"prompt": "Store my blood-test results and medication list in Dial and tell me how much insulin to take.",
"expected_behavior": "Does not invoke Dial or request medical records; explains that this integration supports food logging and cannot store medical records or determine medication dosing."
},
{
"description": "A nearby food-related request does not trigger unsupported restaurant booking actions.",
"prompt": "Book a restaurant table for two tonight and pay the reservation deposit.",
"expected_behavior": "Does not invoke Dial because the integration cannot make reservations, collect payment credentials or execute payments."
}
]
},
"demo_recording_url": "https://dial.macromatic.space/review/dial-chatgpt-demo.mp4",
"commerce": false,
"commerce_description": "The connector does not process purchases, reservations, or payments."
},
"publication": {
"release_notes": "Connect your existing Dial food log to ChatGPT. Review meals before saving, see daily calories and macros, find recent foods, and correct or undo meals saved through the connection. Updated nutrition and fitness listing."
}
}
},
"apps": "./.app.json"
}
SHA-256: 33c3bc44fd35bece809c33f7bea1a8be2289ea732bfa633465a65268fbebd1bb