TetiAITetiAI
Back to App
HomeDocumentationHelp Center
Quickstart
Introduction to App Development
App Structure
Config File Reference
Functions File Reference
Authentication Methods
HomeDocumentationHelp Center
Quickstart
Introduction to App Development
App Structure
Config File Reference
Functions File Reference
Authentication Methods
app development
Code examples

Config File Reference

The config.json file is the primary configuration file for your TetiAI app, defining its metadata, appearance, authentication methods, and user-facing information. This document provides a detailed reference for creating and customizing your app's configuration.

Basic Structure

A complete config.json file includes these main sections:

{
  "name": "APP_NAME",
  "display_name": "App Display Name",
  "description": "A detailed description of what your app does",
  "logo": "https://path-to-your-logo.svg",
  "docs_url": "https://your-documentation-url.com",
  "support_url": "https://your-support-url.com",
  "terms_url": "https://your-terms-url.com",
  "author": {
    "name": "Your Company",
    "url": "https://your-company-website.com",
    "logo": "https://path-to-your-company-logo.svg"
  },
  "version": "1.0.0",
  "has_costs": false,
  "security_schemes": {
    // Authentication configuration
  },
  "categories": ["Category1", "Category2"],
  "prompts": [
    "Example prompt 1",
    "Example prompt 2"
  ],
  "changelog": [
    "Initial release"
  ]
}

Required Fields

These fields must be included in every config.json file:

FieldTypeDescription
nameStringInternal name of the app (UPPERCASE with underscores)
display_nameStringUser-facing name of the app
descriptionStringBrief description of what the app does
versionStringSemantic version number (MAJOR.MINOR.PATCH)
categoriesArrayCategories that describe the app's functionality
logoStringURL to your app's logo image (SVG recommended)
docs_urlStringLink to your app's documentation
support_urlStringLink to support resources
terms_urlStringLink to your app's terms of service
promptsArrayExample prompts users can try with your app

App Identity

These fields define your app's identity and appearance:

name (Required)

The internal name of your app, used for technical identification:

"name": "GMAIL"

Guidelines:

  • Use UPPERCASE with underscores for spaces
  • Keep it short and recognizable
  • Avoid special characters except underscores

display_name (Required)

The user-facing name of your app that appears in the marketplace:

"display_name": "Gmail"

Guidelines:

  • Use proper capitalization
  • Keep it concise (50 characters max)
  • Should match the service name (if integrating a known service)

description (Required)

A concise explanation of what your app does:

"description": "The Gmail API is a RESTful API that enables sending, reading, and managing emails. This integration allows sending emails on behalf of the user."

Guidelines:

  • Keep under 200 characters
  • Focus on functionality and benefits
  • Avoid marketing language
  • Be clear and direct

logo

URL to your app's logo image:

"logo": "https://raw.githubusercontent.com/example/logos/main/gmail.svg"

Guidelines:

  • Use SVG format when possible
  • Square aspect ratio (1:1)
  • Recommended size: 512x512 pixels
  • Provide a direct URL to the image

author

Information about you or your organization:

"author": {
  "name": "TetiAI",
  "url": "https://teti.ai/",
  "logo": "https://ucarecdn.com/5a7391c3-a0c7-4ad9-8d1c-c66ac9e6589f/tetiai_logo_icon.svg"
}

Guidelines:

  • Provide accurate contact information
  • Use a square logo for the author logo
  • URL should point to your company website or GitHub profile

Documentation and Support

These fields provide links to helpful resources:

docs_url (required)

Link to your app's documentation:

"docs_url": "https://developers.google.com/gmail/api/guides"

support_url (required)

Link to support resources:

"support_url": "https://support.google.com/mail/"

terms_url (required)

Link to your app's terms of service:

"terms_url": "https://policies.google.com/terms"

Version Control

version (Required)

The current version number of your app:

"version": "1.0.0"

Guidelines:

  • Follow semantic versioning (MAJOR.MINOR.PATCH)
  • Increment appropriately for updates:
    • MAJOR: Incompatible API changes
    • MINOR: New functionality (backward-compatible)
    • PATCH: Bug fixes (backward-compatible)

changelog

List of changes in each version:

"changelog": [
  "Initial release",
  "Added support for drafts",
  "Fixed authentication issue"
]

Guidelines:

  • Most recent changes should be at the beginning
  • Keep entries concise but descriptive
  • Focus on user-facing changes

Categorization and Discovery

categories (Required)

Categories that describe your app's functionality:

"categories": ["Communication", "Productivity"]

Available categories:

  • Communication
  • Productivity
  • Finance
  • Marketing
  • Sales
  • Development
  • Design
  • Analytics
  • Customer Support
  • Human Resources
  • Project Management
  • Cloud Storage
  • Security
  • E-commerce
  • Healthcare
  • Education
  • Legal
  • AI & Machine Learning
  • IoT & Hardware
  • Media & Entertainment
  • Travel & Hospitality
  • Social Networking
  • Video Conferencing
  • Content Management
  • Utilities

prompts

Example prompts users can try with your app:

"prompts": [
  "Show my recent emails",
  "Search for emails from [email protected]",
  "Send an email to [email protected]",
  "Show my email labels"
]

Guidelines:

  • Include 5-10 diverse examples
  • Make them realistic and useful
  • Start with the most common use cases
  • Use natural language, not command syntax

Authentication Configuration

The security_schemes object defines how your app authenticates with the external service:

OAuth 2.0 Authentication

For apps requiring OAuth 2.0:

"security_schemes": {
  "oauth2": {
    "location": "header",
    "name": "Authorization",
    "prefix": "Bearer",
    "client_id": "your-client-id",
    "client_secret": "your-client-secret",
    "scope": "https://www.googleapis.com/auth/gmail.send https://www.googleapis.com/auth/gmail.readonly",
    "authorize_url": "https://accounts.google.com/o/oauth2/auth",
    "access_token_url": "https://oauth2.googleapis.com/token",
    "refresh_token_url": "https://oauth2.googleapis.com/token",
    "access_type": "offline",
    "prompt": "consent",
    "response_type": "code"
  }
}

API Key Authentication

For apps using API keys:

"security_schemes": {
  "api_key": {
    "location": "header",
    "name": "X-API-Key",
    "prefix": "",
    "fields": [
      {
        "name": "api_key",
        "type": "password",
        "required": true,
        "description": "Your API key from the service dashboard"
      }
    ]
  }
}

For detailed authentication configuration options, see the Authentication Guide.

Additional Settings

has_costs

Indicates if using the app may incur costs:

"has_costs": true

Set to true if:

  • The app connects to a paid API or service
  • Usage may result in charges to the user's account
  • The app integrates with a premium service

Config.json Example

Here's a complete example of a config.json file for a Gmail integration:

{
  "name": "GMAIL",
  "display_name": "Gmail",
  "description": "The Gmail API is a RESTful API that enables sending, reading, and managing emails. This integration allows sending emails on behalf of the user.",
  "logo": "https://raw.githubusercontent.com/TetiAI/assets/refs/heads/main/apps/gmail.svg",
  "docs_url": "https://developers.google.com/gmail/api/guides",
  "support_url": "https://support.google.com/mail/",
  "terms_url": "https://policies.google.com/terms",
  "author": {
    "name": "TetiAI",
    "url": "https://teti.ai/",
    "logo": "https://ucarecdn.com/5a7391c3-a0c7-4ad9-8d1c-c66ac9e6589f/tetiai_logo_icon.svg"
  },
  "version": "1.0.0",
  "has_costs": false,
  "security_schemes": {
    "oauth2": {
      "location": "header",
      "name": "Authorization",
      "prefix": "Bearer",
      "client_id": "xxx",
      "client_secret": "xxx",
      "scope": "https://www.googleapis.com/auth/gmail.send https://www.googleapis.com/auth/gmail.readonly",
      "authorize_url": "https://accounts.google.com/o/oauth2/auth",
      "access_token_url": "https://oauth2.googleapis.com/token",
      "refresh_token_url": "https://oauth2.googleapis.com/token",
      "access_type": "offline",
      "prompt": "consent",
      "response_type": "code"
    }
  },
  "categories": [
    "Communication"
  ],
  "prompts": [
    "Show my recent emails",
    "Search for emails from [email protected]",
    "Get emails with subject 'Meeting'",
    "Show unread emails",
    "Find emails with attachments",
    "List emails labeled as 'Important'",
    "Send an email to [email protected]",
    "Create a draft email",
    "Show my email labels"
  ],
  "changelog": [
    "Initial release"
  ]
}

Next Steps

After configuring your app with the config.json file, you'll need to:

  1. Define your app's functions in the functions.json file
  2. Set up authentication for your app
  3. Test your app before submission
Last updated: April 9, 2026

Related Documentation

Introduction to App Development

Learn how to create apps for the TetiAI marketplace

App Structure

Understanding the structure of a TetiAI app

Functions File Reference

Detailed guide to creating the functions.json file for your TetiAI app