{"id":38183711,"url":"https://github.com/chatbotkit/terraform-provider-chatbotkit","last_synced_at":"2026-01-16T23:59:53.284Z","repository":{"id":332823584,"uuid":"700732340","full_name":"chatbotkit/terraform-provider-chatbotkit","owner":"chatbotkit","description":"Build AI agents with Terraform and ChatBotKit","archived":false,"fork":false,"pushed_at":"2026-01-15T17:54:35.000Z","size":127,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-15T20:15:31.325Z","etag":null,"topics":["ai","ai-agents","chatbotkit","terraform","terraform-provider"],"latest_commit_sha":null,"homepage":"https://chatbotkit.com/docs/terraform-provider","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chatbotkit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-05T07:26:03.000Z","updated_at":"2026-01-15T17:51:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/chatbotkit/terraform-provider-chatbotkit","commit_stats":null,"previous_names":["chatbotkit/terraform-provider-chatbotkit"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/chatbotkit/terraform-provider-chatbotkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatbotkit%2Fterraform-provider-chatbotkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatbotkit%2Fterraform-provider-chatbotkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatbotkit%2Fterraform-provider-chatbotkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatbotkit%2Fterraform-provider-chatbotkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chatbotkit","download_url":"https://codeload.github.com/chatbotkit/terraform-provider-chatbotkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatbotkit%2Fterraform-provider-chatbotkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28489785,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T23:55:29.509Z","status":"ssl_error","status_checked_at":"2026-01-16T23:55:29.108Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agents","chatbotkit","terraform","terraform-provider"],"created_at":"2026-01-16T23:59:53.063Z","updated_at":"2026-01-16T23:59:53.273Z","avatar_url":"https://github.com/chatbotkit.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ChatBotKit Terraform Provider\n\nThis directory contains the ChatBotKit Terraform Provider, which allows you to manage ChatBotKit resources using Terraform.\n\n## Building\n\n```bash\ncd sdks/terraform\ngo build -o terraform-provider-chatbotkit\n```\n\n## Development Testing\n\n### 1. Set up Terraform Dev Override\n\nCreate or edit `~/.terraformrc`:\n\n```hcl\nprovider_installation {\n  dev_overrides {\n    \"chatbotkit/chatbotkit\" = \"/path/to/cbk-platform/sdks/terraform\"\n  }\n  direct {}\n}\n```\n\n### 2. Set API Key\n\n```bash\nexport CHATBOTKIT_API_KEY=\"your-api-key\"\n```\n\n### 3. Test with Example Configuration\n\n```bash\ncd examples/basic\nterraform init\nterraform plan\nterraform apply\n```\n\n## Running Tests\n\n```bash\n# Run unit tests\ngo test -v ./internal/provider/ -run \"^Test[^Acc]\"\n\n# Run acceptance tests (requires CHATBOTKIT_API_KEY)\nCHATBOTKIT_API_KEY=your-api-key go test -v ./internal/provider/ -run \"^TestAcc\"\n```\n\n## Directory Structure\n\n```\nsdks/terraform/\n├── main.go                    # Provider entry point\n├── go.mod                     # Go module definition\n├── go.sum                     # Go dependencies\n├── .goreleaser.yml            # Release configuration\n├── terraform-registry-manifest.json  # Registry manifest\n├── docs/                      # Terraform Registry documentation\n│   ├── index.md              # Provider documentation\n│   ├── resources/            # Resource documentation\n│   └── data-sources/         # Data source documentation\n├── types/\n│   └── types.go              # Generated Go types\n├── internal/\n│   └── provider/\n│       ├── client.go          # GraphQL API client\n│       ├── client_test.go     # Client unit tests\n│       ├── provider.go        # Provider configuration\n│       ├── provider_test.go   # Provider tests\n│       ├── resource_*.go      # Resource implementations\n│       └── resource_*_test.go # Resource tests\n└── examples/\n    └── basic/\n        └── main.tf           # Example Terraform configuration\n```\n\n## Regenerating Code\n\nThe provider code is generated from the GraphQL schema:\n\n```bash\ncd sites/main\n\n# Generate Go types\npnpm script:sync-api-spec-to-terraform\n\n# Generate provider resources and client\npnpm script:gen-terraform-stubs\n```\n\n## Resources\n\nThe provider supports the following resources:\n\n| Resource                           | Description                    |\n| ---------------------------------- | ------------------------------ |\n| `chatbotkit_bot`                   | Manages a ChatBotKit bot       |\n| `chatbotkit_dataset`               | Manages a dataset              |\n| `chatbotkit_blueprint`             | Manages a blueprint            |\n| `chatbotkit_skillset`              | Manages a skillset             |\n| `chatbotkit_skillset_ability`      | Manages a skillset ability     |\n| `chatbotkit_secret`                | Manages a secret               |\n| `chatbotkit_file`                  | Manages a file                 |\n| `chatbotkit_portal`                | Manages a portal               |\n| `chatbotkit_discord_integration`   | Manages Discord integration    |\n| `chatbotkit_email_integration`     | Manages Email integration      |\n| `chatbotkit_extract_integration`   | Manages Extract integration    |\n| `chatbotkit_mcpserver_integration` | Manages MCP Server integration |\n| `chatbotkit_messenger_integration` | Manages Messenger integration  |\n| `chatbotkit_notion_integration`    | Manages Notion integration     |\n| `chatbotkit_sitemap_integration`   | Manages Sitemap integration    |\n| `chatbotkit_slack_integration`     | Manages Slack integration      |\n| `chatbotkit_telegram_integration`  | Manages Telegram integration   |\n| `chatbotkit_trigger_integration`   | Manages Trigger integration    |\n| `chatbotkit_twilio_integration`    | Manages Twilio integration     |\n| `chatbotkit_whatsapp_integration`  | Manages WhatsApp integration   |\n\n## Data Sources\n\nThe provider supports the following data sources for reading existing resources:\n\n| Data Source          | Description                         |\n| -------------------- | ----------------------------------- |\n| `chatbotkit_bot`     | Read information about an existing bot |\n| `chatbotkit_dataset` | Read information about an existing dataset |\n| `chatbotkit_blueprint` | Read information about an existing blueprint |\n| `chatbotkit_skillset` | Read information about an existing skillset |\n\n## Example Usage\n\n```hcl\nterraform {\n  required_providers {\n    chatbotkit = {\n      source = \"chatbotkit/chatbotkit\"\n    }\n  }\n}\n\nprovider \"chatbotkit\" {\n  # api_key = \"...\" # Or set CHATBOTKIT_API_KEY env var\n}\n\n# Create a new bot\nresource \"chatbotkit_bot\" \"assistant\" {\n  name        = \"Customer Support Bot\"\n  description = \"Handles customer inquiries\"\n  backstory   = \"You are a helpful customer support agent...\"\n  model       = \"gpt-4\"\n}\n\n# Create a dataset\nresource \"chatbotkit_dataset\" \"knowledge\" {\n  name        = \"Product Knowledge Base\"\n  description = \"Contains product documentation\"\n}\n\n# Reference an existing bot by ID\ndata \"chatbotkit_bot\" \"existing\" {\n  id = \"bot_abc123\"\n}\n\noutput \"existing_bot_name\" {\n  value = data.chatbotkit_bot.existing.name\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchatbotkit%2Fterraform-provider-chatbotkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchatbotkit%2Fterraform-provider-chatbotkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchatbotkit%2Fterraform-provider-chatbotkit/lists"}