Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions templates/irrigation-planner-api/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<a href="https://studio.lamatic.ai/template/irrigation-planner-api" target="_blank" style="text-decoration:none;">
<div align="right">
<span style="display:inline-block;background:#e63946;color:#fff;border-radius:6px;padding:10px 22px;font-size:16px;font-weight:bold;letter-spacing:0.5px;text-align:center;transition:background 0.2s;box-shadow:0 2px 8px 0 #0001;">Deploy on Lamatic</span>
</div>
</a>

# Irrigation Planner API

## About This Flow

This LLM-powered irrigation planning API processes plant data, location, and date inputs to generate structured watering schedules, enabling adaptive and context-aware irrigation planning based on environmental conditions and plant needs.

## Flow Components

This workflow includes the following node types:
- API Request
- Generate JSON
- API Response

## Configuration Requirements

This flow requires configuration for **1 node(s)** with private inputs (credentials, API keys, model selections, etc.). All required configurations are documented in the `inputs.json` file.

## Files Included

- **config.json** - Complete flow structure with nodes and connections
- **inputs.json** - Private inputs requiring configuration
- **meta.json** - Flow metadata and information
-
## Usage
### Input
The API takes three main inputs:
* A list of plant types in list of string
* Location information
* A target start date

### Output
The system produces structured JSON Object including:
* 7-day irrigation schedule including date and daily watering durations.
* Date formatted as MM/DD/YYYY. Duration is in minutes.
* A reasoning behind the plan
* A brief reasoning summary for decisions


## Next Steps

### Share with the Community

Help grow the Lamatic ecosystem by contributing this flow to AgentKit!

1. **Fork the Repository**
- Visit [github.com/Lamatic/AgentKit](https://github.com/Lamatic/AgentKit)
- Fork the repository to your GitHub account

2. **Prepare Your Submission**
- Create a new folder with a descriptive name for your flow
- Add all files from this package (`config.json`, `inputs.json`, `meta.json`)
- Write a comprehensive README.md that includes:
- Clear description of what the flow does
- Use cases and benefits
- Step-by-step setup instructions
- Required credentials and how to obtain them
- Example inputs and expected outputs
- Screenshots or diagrams (optional but recommended)

3. **Open a Pull Request**
- Commit your changes with a descriptive message
- Push to your forked repository
- Open a PR to [github.com/Lamatic/AgentKit](https://github.com/Lamatic/AgentKit)
- Add a clear description of your flow in the PR

Your contribution will help others build amazing automations! 🚀

## Support

For questions or issues with this flow:
- Review the node documentation for specific integrations
- Check the Lamatic documentation at docs.lamatic.ai
- Contact support for assistance

---
*Exported from Lamatic Flow Editor*
*Generated on 4/17/2026*
123 changes: 123 additions & 0 deletions templates/irrigation-planner-api/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
{
"nodes": [
{
"id": "triggerNode_1",
"data": {
"modes": {},
"nodeId": "graphqlNode",
"values": {
"id": "triggerNode_1",
"nodeName": "API Request",
"responeType": "realtime",
"advance_schema": "{\n \"plants\": [\n {}\n ],\n \"day\": \"string\",\n \"location\": \"string\"\n}"
},
"trigger": true
},
"type": "triggerNode",
"measured": {
"width": 216,
"height": 93
},
"position": {
"x": 0,
"y": 0
},
"selected": false
},
{
"id": "InstructorLLMNode_862",
"data": {
"label": "dynamicNode node",
"modes": {},
"nodeId": "InstructorLLMNode",
"values": {
"id": "InstructorLLMNode_862",
"tools": [],
"schema": "{\n \"type\": \"object\",\n \"properties\": {\n \"watering data\": {\n \"type\": \"string\",\n \"required\": true\n },\n \"reasoning\": {\n \"type\": \"string\",\n \"required\": true\n },\n \"reasoning summary\": {\n \"type\": \"string\",\n \"required\": true\n }\n }\n}",
"prompts": [
{
"id": "187c2f4b-c23d-4545-abef-73dc897d6b7b",
"role": "system",
"content": "You are an expert irrigation planning assistant. You have a strong background in horticulture."
},
{
"id": "187c2f4b-c23d-4545-abef-73dc897d6b7d",
"role": "user",
"content": "Generate a weekly irrigation plan in JSON format based on the provided inputs.\nYour task is to generate a weekly irrigation plan using the provided inputs.\nInputs:\n\\- {{triggerNode_1.output.plants}}\n\\- {{triggerNode_1.output.day}}\n\\- {{triggerNode_1.output.location}}\nThe output must include:\n\\- \"watering_data\":An array containing information for all 7 days of the week in chronological order.Each element must be an object with:\n\"day\": The date of the watering day, starting from the given day, formatted as MM/DD/YYYY.\n\"duration\": The watering duration (in minutes) for that day. If no watering is needed, the value must be 0.\n\\- \"reasoning\":A detailed explanation of how plant types and weather conditions influenced the irrigation plan.\n\\- \"reasoning_summary\":A short and concise summary of the reasoning.\nYou must:\nConsider plant types and the weekly weather forecast for the given location when planning irrigation.\nAdjust watering dynamically:\nReduce watering on rainy days\nIncrease watering on hot or dry days\nEnsure the plan is reasonable and consistent with both plant needs and weather conditions."
}
],
"memories": "[]",
"messages": "[]",
"nodeName": "Generate JSON",
"attachments": "",
"generativeModelName": ""
}
},
"type": "dynamicNode",
"measured": {
"width": 216,
"height": 93
},
"position": {
"x": 0,
"y": 130
},
"selected": false
},
{
"id": "responseNode_triggerNode_1",
"data": {
"label": "Response",
"nodeId": "graphqlResponseNode",
"values": {
"id": "responseNode_triggerNode_1",
"headers": "{\"content-type\":\"application/json\"}",
"retries": "0",
"nodeName": "API Response",
"webhookUrl": "",
"retry_delay": "0",
"outputMapping": "{\n \"watering data\": \"{{InstructorLLMNode_862.output.watering data}}\",\n \"reasoning\": \"{{InstructorLLMNode_862.output.reasoning}}\",\n \"reasoning summary\": \"{{InstructorLLMNode_862.output.reasoning summary}}\"\n}"
},
"isResponseNode": true
},
"type": "responseNode",
"measured": {
"width": 216,
"height": 93
},
"position": {
"x": 0,
"y": 260
},
"selected": false
}
],
"edges": [
{
"id": "triggerNode_1-InstructorLLMNode_862",
"type": "defaultEdge",
"source": "triggerNode_1",
"target": "InstructorLLMNode_862",
"selected": false,
"sourceHandle": "bottom",
"targetHandle": "top"
},
{
"id": "InstructorLLMNode_862-responseNode_triggerNode_1",
"type": "defaultEdge",
"source": "InstructorLLMNode_862",
"target": "responseNode_triggerNode_1",
"sourceHandle": "bottom",
"targetHandle": "top"
},
{
"id": "response-trigger_triggerNode_1",
"type": "responseEdge",
"source": "triggerNode_1",
"target": "responseNode_triggerNode_1",
"selected": false,
"sourceHandle": "to-response",
"targetHandle": "from-trigger"
}
]
}
26 changes: 26 additions & 0 deletions templates/irrigation-planner-api/inputs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"InstructorLLMNode_862": [
{
"name": "generativeModelName",
"label": "Generative Model Name",
"type": "model",
"mode": "instructor",
"description": "Select the model to generate text based on the prompt.",
"modelType": "generator/text",
"required": true,
"isPrivate": true,
"defaultValue": [
{
"configName": "configA",
"type": "generator/text",
"provider_name": "",
"credential_name": "",
"params": {}
}
],
"typeOptions": {
"loadOptionsMethod": "listModels"
}
}
]
}
12 changes: 12 additions & 0 deletions templates/irrigation-planner-api/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"name": "Irrigation Planner API",
"description": "Lamatic Agent API to automate irrigation planning using an LLM",
"tags": [],
"testInput": "",
"githubUrl": "",
"documentationUrl": "",
"deployUrl": "",
"author": {
"name": "N-han"
}
}