Overview
This tutorial covers how to safely modify existing Projects, whether you created them, inherited them from teammates, or are exploring community templates. Time required: 15-20 minutesStep 1: Open the Project
- Navigate to Home in the Top Bar
- Find your Project in the Projects list
- Click to open it on the Canvas
Step 2: Understand the structure
Before making changes, map out what exists:- Review the Canvas — Note all Flows, Agents, and Actions
- Check dependencies — See which components depend on others
- Read documentation — Look for README or descriptions
- Ask Triton — Type: “Explain what this Project does”
Step 3: Identify what to change
Common modification scenarios:Adding a new feature
Example: Add email notifications to a data processing pipeline- Create a new Action:
send_email
- Add it to the relevant Flow
- Connect it after the processing step
- Configure SMTP settings in Project Variables
Modifying an existing component
Example: Update an Agent’s prompt- Select the Agent node
- Open Properties → Content
- Edit the System Prompt
- Save changes (auto-saved)
- Test with a sample payload
Replacing a component
Example: Swap out an Action for a better implementation- Create the new Action
- Ensure it has the same input/output schema
- Disconnect the old Action
- Connect the new one
- Delete the old Action
- Test thoroughly
Debugging an issue
Example: A Flow is failing intermittently- Go to Properties → Executions
- Find failed execution
- Examine logs and errors
- Identify the failing component
- Ask Triton: “Why is this Action failing?”
- Apply the fix
- Re-run execution
Step 4: Make the changes
Let’s walk through a specific example: Adding retry logic to an API callCurrent state
Yourfetch_data
Action sometimes fails due to network timeouts.
Goal
Add automatic retry with exponential backoff.Steps
-
Open the Action
- Double-click the
fetch_data
node - Review the current
Action.py
- Double-click the
-
Ask Triton for help
- “Add retry logic with exponential backoff to this Action”
- Triton will update the code with a retry decorator
-
Review the changes
-
Update requirements.txt
- Add
tenacity==8.2.3
- Add
-
Test the change
- Execute with a payload that previously failed
- Verify retries happen (check logs)
- Confirm eventual success
Step 5: Test your changes
Always test modifications before deploying:Unit test individual components
- Select the modified component
- Use Properties → Execute with test data
- Verify expected behavior
Integration test the full Flow
- Select the top-level Flow
- Execute with realistic payloads
- Check all outputs are correct
Edge case testing
Test with:- Empty inputs
- Maximum size inputs
- Invalid data
- Network failures (if applicable)
Step 6: Document your changes
Help your future self and teammates:-
Update descriptions
- Select the component
- Update the description field
- Note what changed and why
-
Update README
- If the Project has a README, add notes
- Document new dependencies or requirements
-
Add comments in code
- Explain non-obvious logic
- Note any workarounds or constraints
Step 7: Deploy the updates
Once tested:- Click Deploy in the Top Bar
- Select the environment
- Review changes (diff view if available)
- Add deployment notes
- Click Deploy Now
- Deploy to staging first
- Run smoke tests
- Monitor for issues
- Then deploy to production
Step 8: Monitor post-deployment
After deploying:-
Watch initial executions
- Check the first few runs succeed
- Look for unexpected errors
-
Compare metrics
- Success rate before vs. after
- Execution time
- Error types
-
Set up alerts
- Get notified if new issues arise
- Track key metrics
Common modification patterns
Adding authentication
- Create Project Variable for API key
- Update relevant Actions to use the key
- Test with valid and invalid keys
Scaling for more data
- Identify bottlenecks (single-threaded Actions)
- Add parallel processing in Flows
- Implement batching if needed
- Test with large payloads
Improving error handling
- Add try-catch blocks in Actions
- Return structured error responses
- Add error routing in Flows
- Set up failure notifications
Optimizing performance
- Profile slow components
- Add caching where appropriate
- Reduce unnecessary data passing
- Parallelize independent operations
Best practices
Version control — Save the current state before major changes (export/backup)
Small iterations — Make one change at a time, test, then move on
Ask for help — Use Triton to explain complex parts before modifying
Test thoroughly — Don’t skip testing, especially for production Projects
Communicate — If working in a team, coordinate changes
Troubleshooting
Problem: Changes aren’t taking effectSolution: Ensure you saved, redeploy if already deployed, clear any caches Problem: Breaking existing functionality
Solution: Review execution logs, compare with previous version, test each component Problem: Can’t understand the existing code
Solution: Ask Triton to explain it, check for documentation, trace execution flow Problem: Changes work locally but fail in production
Solution: Check environment differences, verify Project Variables are set, review logs