If you found this project useful, please give it a ⭐️ to show your support!
DataWeave AI Playground is a dedicated AI Playground designed to autonomously generate, explain, and debug DataWeave 2.0 transformation scripts. It gives you a unified, web-based interface to utilize your existing AI Subscriptions through their respective developer SDKs (GitHub Copilot SDK, Google Antigravity, Claude Agent SDK, and Codex SDK).
DataWeave AI Playground is built around the subscriptions you already pay for. If you have a GitHub Copilot license, you can connect the Github Copilot SDK. If you subscribe to Google AI Studio, you can use Antigravity. If you are a Cursor Pro user, connect the Cursor SDK. Have AWS Bedrock mode access or an Anthropic account? Connect Claude Agent directly. Already using a ChatGPT subscription, OpenAI, AWS Bedrock Mantle? Connect Codex.
By wrapping these best-in-class agentic SDKs into a single backend, you can seamlessly switch between AI providers. You bring your own credentials (BYOK), and the agent securely executes generated DataWeave scripts in an isolated background environment, compares the output with your expected results, and iteratively autocorrects its own code.
You can use your existing AI subscription to generate Dataweave scripts using just your browser just by sending prompts in natural language.
- 🌟 FLAGSHIP: Generate Transform from Expected Output (Agentic Auto-Recover): Provide a sample input payload and the desired output payload. The AI agent will reason through the schema differences to generate a DataWeave script. But it doesn't stop there—the agent autonomously executes the script in the background, compares the actual output with your expected output, and loops to fix its own errors up to 3 times before returning the final working script!
- Generate Transform from Prompt: Have an input payload and a set of business rules? Describe your transformation in plain text, and the agent will build the script.
- Reverse Engineering (Generate Input): Have a complex DataWeave script and its expected output, but lost the original input data? The agent can reverse-engineer the required input payload structure.
- Agent Auto-Recover Control: You have full control. Toggle the agent's autonomous retry loop on or off directly from the UI to save context or execution time when working with massive payloads.
- Flexible AI Integration: Securely connect to your preferred AI subscription (Google Antigravity, Claude Agent SDK, OpenAI Codex, GitHub Copilot) bringing your own keys (BYOK) directly in the browser session.
This application is built around a robust 3-pane interface that mirrors professional integration development environments, enhanced with agentic reasoning:
- Input / Identifiers: The source data schema payloads, supporting multiple tabs for arbitrary DataWeave identifiers (like
payload,vars, andattributes) with format selection (JSON, XML, CSV, TXT). - DataWeave Script: The transformation logic, auto-populated by the AI.
- Output / Expected: The resulting data or the target shape the AI uses to guide its generation, with selectable output formats.
The backend natively supports expanding the agent's capabilities via Agent Skills. The agent can be equipped with custom verification skills to run the generated DataWeave scripts locally, ensuring syntax correctness and validating the output before presenting it to the user.
The playground's backend is fully decoupled from the frontend, meaning it supports headless execution via its REST APIs. You can programmatically trigger agentic script generation (/api/run) or execute pure DataWeave transformations (/api/dataweave/transform) directly from your CI/CD pipelines or automated workflows.
Unlike standard chat interfaces, the DataWeave AI Playground exposes the underlying "thinking steps" and reasoning process of the agent. You can observe the AI analyzing your schemas, mapping fields, and identifying syntax patterns in real-time.
A Bruno collection is provided in the bruno-collection/ directory to help you test backend endpoints (/api/run, /api/followup, etc.) locally. Simply import the collection and configure your environment variables to start testing.
| Method | Path | Description |
|---|---|---|
GET |
/ |
Main UI (Jinja2 rendered) |
GET |
/api/health |
Service health check |
GET |
/api/models |
Live list of available models for the selected provider |
POST |
/api/dataweave/transform |
Executes a DataWeave script against an input payload |
POST |
/api/run |
Starts an agentic DataWeave generation task - returns an SSE stream |
POST |
/api/followup |
Continues an agentic session with a follow-up prompt - returns an SSE stream |
⚠️ Prerequisite: You must have the DataWeave CLI installed and available in your system'sPATHto execute DataWeave scripts locally.
git clone https://github.com/kmarrrahul/dataweave-ai-playground.git
cd dataweave-ai-playground
pip install -r requirements.txt
# (Optional) Export your GitHub OAuth App credentials to enable GitHub OAuth login for Githb Copilot SDK
export GITHUB_OAUTH_CLIENT_ID="your_client_id"
export GITHUB_OAUTH_CLIENT_SECRET="your_client_secret"
export GITHUB_OAUTH_REDIRECT_URI="http://localhost:8080/api/oauth/callback"
# Run the Uvicorn server
python -m uvicorn app.main:app --port 8080 --reloaddocker build -t dataweave-ai-playground:latest .To start the container locally (pass GitHub OAuth credentials via -e to enable GHCP SDK Github Oauth login):
docker run -it --name dataweave-ai-playground \
-p 127.0.0.1:8080:8080 -p "[::1]:8080:8080" \
-e GITHUB_OAUTH_CLIENT_ID="your_client_id" \
-e GITHUB_OAUTH_CLIENT_SECRET="your_client_secret" \
-e GITHUB_OAUTH_REDIRECT_URI="http://localhost:8080/api/oauth/callback" \
dataweave-ai-playground:latestDataWeave AI Playground is fully prepared for multi-tenant production deployments on Kubernetes.
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
kubectl apply -f k8s/ingress.yamlOnce deployed, the app will be accessible at your cluster's ingress URL.
We'd love your help in making this project even better! Please read our Contributing Guidelines to learn about our development process, how to propose bug fixes and improvements, and how to build and test your changes locally.
MuleSoft and DataWeave are trademarks of MuleSoft, Inc., a Salesforce company. This project is an independent community tool and is not officially endorsed or sponsored by MuleSoft.

