# Getting Started

- [Pandium Documentation](https://docs.pandium.com/getting-started/readme.md): Learn how to setup and configure Pandium integrations. Get technical information on all our connectors and understand key terminology.
- [What is Pandium?](https://docs.pandium.com/getting-started/readme-1.md): Pandium is an embedded integration platform (iPaaS) specifically designed for B2B SaaS companies that need to build and launch customer-facing integrations.
- [The Pandium Platform](https://docs.pandium.com/getting-started/readme-1/the-pandium-platform.md): Pandium helps SaaS companies deliver scalable native integrations while offloading authentication, hosting, and logging.
- [What Companies Use Pandium For](https://docs.pandium.com/getting-started/readme-1/what-companies-use-pandium-for.md): Pandium’s platform provides SaaS companies with scalable, high-volume integrations without the infrastructure overhead.
- [Platform Structure](https://docs.pandium.com/getting-started/readme-1/platform-structure.md): Understand the technical architecture of the Pandium platform. Pandium takes care of the infrastructure required for customer-facing integrations.
- [Users of Pandium](https://docs.pandium.com/getting-started/readme-1/users-of-pandium.md): Understand the different types of users that can exist in the Pandium Integration Platform, including platform, engineering, partner and end-customer users.
- [Anatomy of an Integration](https://docs.pandium.com/getting-started/anatomy-of-an-integration.md): A more technical look into the structure of Pandium and a deeper dive into the workings of how integrations are hosted and run on our platform.
- [Run Triggers](https://docs.pandium.com/getting-started/anatomy-of-an-integration/run-triggers.md): Control how Pandium integrations sync data with cron, manual, webhook, and API run triggers, including payload handling and debouncing per tenant.
- [Run Failures](https://docs.pandium.com/getting-started/anatomy-of-an-integration/run-failures.md): Learn about Pandium run failures, their causes (integration, refresh, platform, timeout), and how to troubleshoot or report issues effectively.
- [PANDIUM.yaml](https://docs.pandium.com/getting-started/anatomy-of-an-integration/pandium.yaml-spec.md): Learn how to structure and configure your PANDIUM.yaml file to build, run, and customize integrations on the Pandium platform using schema and UI settings.
- [Schema](https://docs.pandium.com/getting-started/anatomy-of-an-integration/pandium.yaml-spec/schema.md): Define PANDIUM.yaml schema properties for Boolean, integer, number, string, enum, array, and multi-select configs to control integration connection settings in Pandium.
- [UiSchema](https://docs.pandium.com/getting-started/anatomy-of-an-integration/pandium.yaml-spec/uischema.md): Configure PANDIUM.yaml UISchema elements to control how integration settings are labeled, ordered, and laid out on the Pandium connection settings page.
- [Dynamic Configurations](https://docs.pandium.com/getting-started/anatomy-of-an-integration/pandium.yaml-spec/dynamic-configurations.md): Define dynamic configs in PANDIUM.yaml using schema definitions and init syncs that fetch tenant-specific options from APIs or databases for Pandium integrations.
- [Dependent Selector Configurations](https://docs.pandium.com/getting-started/anatomy-of-an-integration/pandium.yaml-spec/dependent-selector-configurations.md): Create dependent selector configs in PANDIUM.yaml where dynamic dropdown options update based on a parent field’s value, using schema definitions and init sync outputs.
- [BETA: Tenant Metadata](https://docs.pandium.com/getting-started/anatomy-of-an-integration/pandium.yaml-spec/beta-tenant-metadata.md): Learn how to store tenant specific information for your customers.
- [Environment Variables](https://docs.pandium.com/getting-started/anatomy-of-an-integration/environment-variables.md): Manage Pandium environment variables for context, configs, and secrets using PAN\_CTX, PAN\_CFG, and PAN\_SEC pas three types of environment variables that are presented to a script at run-time.
- [Context: StdOut](https://docs.pandium.com/getting-started/anatomy-of-an-integration/environment-variables/stdout.md): Use Pandium context stdout variables (PAN\_CTX\_\*) to persist state, inspect run metadata, and power dynamic syncs between integration runs via JSON output.
- [Logging (StdErr)](https://docs.pandium.com/getting-started/anatomy-of-an-integration/environment-variables/stderr.md): Log integration messages to stderr in Pandium so users can view run output and errors in the Integration Hub and In-App Marketplace across integrations and tenants.
- [Key Terminology](https://docs.pandium.com/getting-started/key-terminology.md): Understand core Pandium terms like Integration Hub, In-App Marketplace, connectors, tenants, runs, releases, and PANDIUM.yaml to navigate and manage the platform effectively.
- [Pandium Integration Tutorial](https://docs.pandium.com/getting-started/pandium-integration-tutorial.md): Build your first Pandium integration by following a guided tutorial that walks you through creating and publishing a Slack-powered “Pokémon of the Day” app in under a day.
- [Pokémon of the Day, Part 1](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1.md): Build your first Pandium integration by connecting Slack, configuring tenants, and scheduling runs to send a unique “Pokémon of the Day” message without repeats.
- [Create App in Slack to get Credentials](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1/create-app-in-slack-to-get-credentials.md): Create a Slack app and configure OAuth, redirect URLs, and bot permissions so you can securely use its client ID and secret to connect Slack to your Pandium integration.
- [Create Integration on the Pandium Integration Hub](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1/create-integration-on-the-pandium-integration-hub.md): Create and configure an internal “Pokémon of the Day” integration in the Pandium Integration Hub by connecting Slack OAuth, setting schedules, and bootstrapping your TypeScript repo.
- [Make a Tenant](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1/make-a-tenant.md): Create and connect a “Pokémon of the Day” tenant in the Pandium Integration Hub by linking Slack, choosing the Latest release channel, and configuring schedule and settings.
- [Write the Integration in Typescript](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1/write-the-integration-in-typescript.md): Write a TypeScript “Pokémon of the Day” integration for Pandium by customizing the starter repo, updating package settings, installing dependencies, and building before each run.
- [Add the .env](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1/write-the-integration-in-typescript/add-the-.env.md): Configure a .env for your Pandium TypeScript integration by storing Slack OAuth tokens, run mode, and PAN\_SEC secrets locally while keeping them ignored from version control.
- [Configure the PANDIUM.yaml](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1/write-the-integration-in-typescript/configure-the-pandium.yaml.md): Customize the connection settings page so it doesn't display options that aren't relevant to the Pokémon Trainer Academy's requests.
- [Check the Customized Connection Settings Page](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1/write-the-integration-in-typescript/check-the-customized-connection-settings-page.md): Customize and verify your Pandium connection settings by building a new release, updating the tenant on the Latest channel, and confirming the cleaned-up settings page.
- [Add the Pokémon client](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1/write-the-integration-in-typescript/add-the-pokemon-client.md): Fetch Pokémon data in your Pandium TypeScript integration by installing a Pokédex client, initializing it in code, and calling it to retrieve a test Pokémon before wiring real logic.
- [Add the Slack Client](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1/write-the-integration-in-typescript/add-the-slack-client.md): Connect Slack to your Pandium TypeScript integration by installing the Slack Web API client, authenticating with your bot token, and listing workspace users to target future messages.
- [Add the pokemonSync flow](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1/write-the-integration-in-typescript/add-the-pokemonsync-flow.md): Send unique daily Pokémon updates from your Pandium integration by adding a pokemonSync flow that fetches Pokémon, posts Slack messages, and advances IDs using saved stdout state.
- [Run Normal Sync on the Tenant](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1/write-the-integration-in-typescript/run-normal-sync-on-the-tenant.md): Trigger and verify a normal sync for your Pandium tenant to send Slack “Pokémon of the Day” messages and confirm stdout-based state is passed between successive runs.
- [Update the Tenant Schedule](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-1/update-the-tenant-schedule.md): Schedule your “Pokémon of the Day” Pandium tenant to run once per day so it automatically sends daily Slack messages to the configured trainer IDs without manual syncs.
- [Pokémon of the Day, Part 2](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-2.md): Enhance your “Pokémon of the Day” Pandium integration so each tenant picks a trainer and preferred Pokémon type via dynamic configs powered by Slack users and live PokéAPI data.
- [Update the PANDIUM.yaml](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-2/update-the-pandium.yaml.md): Update the PANDIUM.yaml for “Pokémon of the Day” to add dynamic pokemon\_type and slack\_user configs using schema definitions and UISchema so tenants can customize messages.
- [Check the Updated Connection Settings Page](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-2/check-the-updated-connection-settings-page.md): Preview your updated Pandium connection settings by building a new release, updating the tenant on the Latest channel, and confirming the new dynamic configs appear with placeholders.
- [Add Dynamic Configs](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-2/add-dynamic-configs.md): Power dynamic configs for “Pokémon of the Day” by adding an initSync flow that outputs Slack user and Pokémon type options to stdout, populating tenant dropdowns automatically.
- [Run Init Sync on the Tenant](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-2/run-init-sync-on-the-tenant.md): Run an init sync on your Pandium tenant to replace placeholder options with live Slack users and Pokémon types, then save settings and trigger a normal sync to test messages.
- [Update the pokemonSync flow](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-2/update-the-pokemonsync-flow.md): Update the pokemonSync flow so each tenant’s daily Slack message uses the selected Pokémon type and Slack user from dynamic configs, while still advancing IDs via saved stdout state.
- [Run updated Normal Sync on the Tenant](https://docs.pandium.com/getting-started/pandium-integration-tutorial/pokemon-of-the-day-part-2/run-updated-normal-sync-on-the-tenant.md): Test your updated normal sync by running the tenant so it sends a Slack “Pokémon of the Day” message to the configured user, filtered by the Pokémon type set in Connection Settings.
- [Pandium Integration Development Kit (IDK)](https://docs.pandium.com/getting-started/pandium-integration-development-kit-idk.md): Pandium’s Integration Development Kit (IDK) auto-generates flexible, production-ready integrations with project scaffolding, API clients, a local CLI, and an AI-powered integration generator.
- [Pandium Clients](https://docs.pandium.com/getting-started/pandium-integration-development-kit-idk/pandium-clients.md): Get out-of-the-box Pandium API clients that handle pagination, retries, rate limiting, and IDE hints so you can quickly build B2B SaaS integrations without custom plumbing.
- [Integration Code Generator: AI Powered](https://docs.pandium.com/getting-started/pandium-integration-development-kit-idk/integration-code-generator-ai-powered.md): Generate integrations in minutes with Pandium’s AI-powered code generator, which scaffolds flows, PANDIUM.yaml configs, and API client usage from your selected objects.
- [Pandium CLI](https://docs.pandium.com/getting-started/pandium-integration-development-kit-idk/pandium-cli.md): This is a command-line interface that allows developers using Pandium to build, test, and manage integrations directly from their command line while leveraging Pandium’s infrastructure.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pandium.com/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
