{
  "name": "today",
  "version": "0.1.0",
  "description": "Search an advisor's customers and calls, then read the CRM data and aggregated facts from their meetings.",
  "author": {
    "name": "TODAY",
    "url": "https://www.usetoday.io"
  },
  "homepage": "https://www.usetoday.io",
  "repository": "https://github.com/UseToday/today-external-apps",
  "keywords": [
    "crm",
    "sales",
    "advisors",
    "meetings",
    "calls",
    "conversation-intelligence"
  ],
  "mcpServers": "./.mcp.json",
  "interface": {
    "displayName": "TODAY",
    "shortDescription": "Aggregated meeting data",
    "longDescription": "TODAY gives advisors read-only access to their own customer and meeting data inside ChatGPT. Search your customers and calls, open a specific call for attendees, summaries, and CRM fields, and read the aggregated facts TODAY has captured across your meetings with a customer. Every result is limited to records the signed-in advisor can already see in TODAY. Use it to prepare for a meeting, recap what was discussed, or check the details captured in a customer's profile. TODAY is read-only in ChatGPT: it does not create, edit, or delete anything.",
    "developerName": "TODAY",
    "category": "Productivity",
    "capabilities": [
      "Read"
    ],
    "websiteURL": "https://www.usetoday.io",
    "supportURL": "https://help.usetoday.io/",
    "privacyPolicyURL": "https://www.usetoday.io/legal/privacy-policy",
    "termsOfServiceURL": "https://www.usetoday.io/legal/terms-and-conditions",
    "defaultPrompt": [
      "Search my customers for a name or topic.",
      "Summarize my most recent calls.",
      "What facts come up about my customer?"
    ],
    "brandColor": "#5932EA",
    "composerIcon": "./assets/composer-icon.svg",
    "logo": "./assets/logo.svg"
  },
  "extensions": {
    "com.openai": {
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Find a customer by name",
              "prompt": "Search my customers for Bianca Sozzi.",
              "tools_triggered": "search",
              "expected_behavior": "Returns matching customers linked to the signed-in advisor, including customer_id values for follow-up."
            },
            {
              "description": "List recent calls",
              "prompt": "Show my most recent calls.",
              "tools_triggered": "search",
              "expected_behavior": "Lists the advisor's recent calls using search with indexes=calls, time_range=past, and scope=own."
            },
            {
              "description": "Open a call and summarize it",
              "prompt": "Open the most recent completed call and tell me what was discussed.",
              "tools_triggered": "search, get_call",
              "expected_behavior": "Uses search to find the call id, then get_call to return attendees, summaries, and CRM fields for that meeting."
            },
            {
              "description": "Read extracted CRM data for a customer",
              "prompt": "What CRM data was extracted from my meetings with Bianca Sozzi?",
              "tools_triggered": "search, get_customer_extracted_data",
              "expected_behavior": "Finds the customer with search, then returns per-meeting extracted CRM fields for meetings the advisor ran."
            },
            {
              "description": "Read the known facts about a customer",
              "prompt": "What facts do we know about Bianca Sozzi?",
              "tools_triggered": "search, get_customer_cumulative_facts",
              "expected_behavior": "Finds the customer with search, then returns the merged, cumulative facts stated in the advisor's meetings with that customer."
            }
          ],
          "negative": [
            {
              "description": "Delete data",
              "prompt": "Delete all my calls."
            },
            {
              "description": "Access another advisor's data",
              "prompt": "Show me customers assigned to another advisor."
            },
            {
              "description": "Send a message on the advisor's behalf",
              "prompt": "Email this Bianca Sozzi a summary of our last meeting."
            }
          ]
        },
        "demo_recording_url": "https://youtu.be/DblWVeT5LwA",
        "commerce": false,
        "commerce_description": "TODAY does not sell products or process payments."
      },
      "publication": {
        "release_notes": "Initial release: read-only search over the advisor's customers and calls, call details, and extracted customer facts."
      }
    }
  },
  "apps": "./.app.json"
}
