Skip to content

Projects ​

Projects are the top-level organizational unit in DialogueDB. Each project contains its own dialogues, messages, memories, and API keys, providing isolation between different applications or environments.

Creating a Project ​

  1. Log in to app.dialoguedb.com
  2. Click Create Project
  3. Enter a project name
  4. Configure project settings (optional)
  5. Click Create

Once created, you can generate API keys to start using the project.

Project Settings ​

Projects have several settings that control behavior across all dialogues and data within the project.

Deletion Protection ​

Deletion protection prevents accidental deletion of a project. When enabled:

  • The project cannot be deleted until protection is disabled
  • Provides a safety net for production projects
  • Can be enabled or disabled at any time

When to use:

  • Production environments
  • Projects with important historical data
  • Shared projects where multiple team members have access

To delete a protected project, first disable deletion protection in project settings, then delete.

Immutable Dialogues ​

Immutable dialogues prevents any modification to dialogues and messages after creation. When enabled:

  • Messages cannot be deleted or modified
  • Dialogues cannot be deleted
  • State and metadata remain changeable
  • Cannot be disabled once enabled

Permanent Setting

Immutable dialogues is a one-way setting. Once enabled, it cannot be turned off. This is intentional - it guarantees the integrity of your conversation history.

When to use:

  • Compliance and audit requirements (HIPAA, SOC 2, etc.)
  • Legal or regulatory record-keeping
  • When conversation history must be tamper-proof
  • Financial services or healthcare applications

What remains mutable:

  • Dialogue state (for tracking conversation progress)
  • Dialogue tags and labels
  • New messages can still be added

What can't be changed:

  • Existing messages cannot be modified or deleted
  • Dialogues cannot be deleted

Webhooks ​

Configure webhooks to receive real-time notifications when events occur in your project:

  1. Enable webhooks in project settings
  2. Set the webhook URL - your HTTPS endpoint that will receive events
  3. Select events to subscribe to:
    • Dialogue created
    • Dialogue updated
    • Message created
    • Memory created

Webhook payloads are sent as POST requests with a JSON body containing the event type and relevant data.

API Keys ​

API keys provide programmatic access to your project. Each key:

  • Is scoped to a single project
  • Has full read/write access to all resources in that project
  • Is shown only once at creation time

Generating an API Key ​

  1. Open your project in the dashboard
  2. Navigate to API Keys
  3. Click Generate New Key
  4. Copy the key immediately - it won't be shown again
  5. Store it securely (secret manager, environment variables)

API Key Security ​

  • Never commit API keys to version control
  • Use secret managers (preferred) or environment variables
  • Rotate keys periodically
  • Do not share API keys across environments
  • Revoke compromised keys immediately

See the Authentication guide for detailed security best practices.

Project Limits ​

Projects have limits based on your subscription plan:

Multi-Environment Setup ​

A common pattern is to create separate projects for different environments:

my-app-development
my-app-staging
my-app-production (deletion protection enabled)

This provides:

  • Complete data isolation between environments
  • Separate API keys for each environment
  • Different settings (e.g., immutability only in production)
  • Independent usage tracking and limits

Next Steps ​