# GoodAPI: Plant Trees

```json
{
  "name": "GoodAPI: Plant Trees",
  "slug": "goodapi_plant_trees",
  "url": "https://composio.dev/toolkits/goodapi_plant_trees",
  "markdown_url": "https://composio.dev/toolkits/goodapi_plant_trees.md",
  "logo_url": "https://logos.composio.dev/api/goodapi_plant_trees",
  "categories": [
    "productivity & project management"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-29T05:37:47.735Z"
}
```

![GoodAPI: Plant Trees logo](https://logos.composio.dev/api/goodapi_plant_trees)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with GoodAPI: Plant Trees MCP or direct API to plant trees, retrieve planting evidence, issue eligible tree refunds, and access the organization's impact dashboard through natural language.

## Summary

GoodAPI: Plant Trees is a standalone API to plant and track trees.
Use it to retrieve planting evidence, issue refunds, and view impact dashboards.

## Categories

- productivity & project management

## Toolkit Details

- Tools: 6

## Images

- Logo: https://logos.composio.dev/api/goodapi_plant_trees

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for GoodAPI: Plant Trees.
  - Setup:
    - Configure Api Key credentials for GoodAPI: Plant Trees.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Plant 100 trees in Peru project
- Retrieve planting evidence photos for campaign
- Issue refund for failed tree planting

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `GOODAPI_PLANT_TREES_CREATE_TREE_PLANTING` | Create Tree Planting | Create a metered tree-planting registration; live API keys can incur charges. Reuse the same idempotency key only when retrying the identical planting. |
| `GOODAPI_PLANT_TREES_GET_AGGREGATE_PLANTING_EVIDENCE` | Get Aggregate Planting Evidence | Return global tree-planting verification totals and field evidence grouped by region. The data is cached for 30 days, can contain a large media list, and is not limited to the connected organization's contributions. |
| `GOODAPI_PLANT_TREES_GET_IMPACT_DASHBOARD_URL` | Get Impact Dashboard URL | Return the connected organization's shareable public impact dashboard URL. |
| `GOODAPI_PLANT_TREES_GET_TREE_PLANTING_EVIDENCE` | Get Tree Planting Evidence | Return the beta, 30-day-cached planting lifecycle and sanitized evidence for one registration. This timeline can remain after refund and does not prove that the registration is still active. |
| `GOODAPI_PLANT_TREES_LIST_TREE_PLANTINGS` | List Tree Plantings | Return tree-planting registrations and totals, optionally filtered by registration, attribution, date, or metadata. The provider returns all matches without pagination, so use filters for large histories. |
| `GOODAPI_PLANT_TREES_REFUND_TREE_PLANTING` | Refund Tree Planting | Irreversibly refund all or part of an eligible tree planting from the current billing cycle and reduce active totals. Omit count for a full refund; reuse the same idempotency key only for an identical retry. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute GoodAPI: Plant Trees Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute GoodAPI: Plant Trees actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'YOUR_SPECIFIC_PROMPT_HERE'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for GoodAPI: Plant Trees
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to GoodAPI: Plant Trees tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('YOUR_SPECIFIC_PROMPT_HERE')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native GoodAPI: Plant Trees Integration

- Supports both GoodAPI: Plant Trees MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for planting, evidence retrieval, refund issuance, and dashboard queries

### 2. Managed Auth

- Support for API key connections with secure storage and scoped access
- Central place to manage, scope, and revoke GoodAPI: Plant Trees access
- Per-user and per-environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access GoodAPI: Plant Trees
- Scoped, least privilege access to GoodAPI: Plant Trees resources
- Full audit trail of agent actions to support review and compliance

## Use GoodAPI: Plant Trees with any AI Agent Framework

Choose a framework you want to connect GoodAPI: Plant Trees with:

- [ChatGPT Work](https://composio.dev/toolkits/goodapi_plant_trees/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/goodapi_plant_trees/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/goodapi_plant_trees/framework/hermes-agent)

## Related Toolkits

- [Google Sheets](https://composio.dev/toolkits/googlesheets) - Google Sheets is a cloud-based spreadsheet tool for real-time collaboration and data analysis. It lets teams work together from anywhere, updating information instantly.
- [Notion](https://composio.dev/toolkits/notion) - Notion is a collaborative workspace for notes, docs, wikis, and tasks. It streamlines team knowledge, project tracking, and workflow customization in one place.
- [Airtable](https://composio.dev/toolkits/airtable) - Airtable combines the flexibility of spreadsheets with the power of a database for easy project and data management. Teams use Airtable to organize, track, and collaborate with custom views and automations.
- [Asana](https://composio.dev/toolkits/asana) - Asana is a collaborative work management platform for teams to organize and track projects. It streamlines teamwork, boosts productivity, and keeps everyone aligned on goals.
- [Google Tasks](https://composio.dev/toolkits/googletasks) - Google Tasks is a to-do list and task management tool integrated into Gmail and Google Calendar. It helps you organize, track, and complete tasks across your Google ecosystem.
- [Linear](https://composio.dev/toolkits/linear) - Linear is a modern issue tracking and project planning tool for fast-moving teams. It helps streamline workflows, organize projects, and boost productivity.
- [Jira](https://composio.dev/toolkits/jira) - Jira is Atlassian’s platform for bug tracking, issue tracking, and agile project management. It helps teams organize work, prioritize tasks, and deliver projects efficiently.
- [Clickup](https://composio.dev/toolkits/clickup) - ClickUp is an all-in-one productivity platform for managing tasks, docs, goals, and team collaboration. It streamlines project workflows so teams can work smarter and stay organized in one place.
- [Monday](https://composio.dev/toolkits/monday) - Monday.com is a customizable work management platform for project planning and collaboration. It helps teams organize tasks, automate workflows, and track progress in real time.
- [Addressfinder](https://composio.dev/toolkits/addressfinder) - Addressfinder is a data quality platform for verifying addresses, emails, and phone numbers. It helps you ensure accurate customer and contact data every time.
- [Agiled](https://composio.dev/toolkits/agiled) - Agiled is an all-in-one business management platform for CRM, projects, and finance. It helps you streamline workflows, consolidate client data, and manage business processes in one place.
- [Amazing Marvin](https://composio.dev/toolkits/amazing_marvin) - Amazing Marvin is a personal productivity app for tasks, projects, habits, planning, time tracking, and rewards. It helps you build a flexible workflow that matches how you actually work.
- [AnyDB](https://composio.dev/toolkits/any_db) - AnyDB is a flexible collaborative database platform for organizing records, files, and automated workflows. It helps teams centralize data, collaborate on records, and automate routine tasks.
- [Ascora](https://composio.dev/toolkits/ascora) - Ascora is a cloud-based field service management platform for service businesses. It streamlines scheduling, invoicing, and customer operations in one place.
- [Beeminder](https://composio.dev/toolkits/beeminder) - Beeminder is an online goal-tracking platform that uses monetary pledges to keep you motivated. Stay accountable and hit your targets with real financial incentives.
- [Boxhero](https://composio.dev/toolkits/boxhero) - Boxhero is a cloud-based inventory management platform for SMBs, offering real-time updates, barcode scanning, and team collaboration. It helps businesses streamline stock tracking and analytics for smarter inventory decisions.
- [Breathe HR](https://composio.dev/toolkits/breathehr) - Breathe HR is cloud-based HR software for SMEs to manage employee data, absences, and performance. It simplifies HR admin, making it easy to keep employee records accurate and up to date.
- [Breeze](https://composio.dev/toolkits/breeze) - Breeze is a project management platform designed to help teams plan, track, and collaborate on projects. It streamlines workflows and keeps everyone on the same page.
- [Bugherd](https://composio.dev/toolkits/bugherd) - Bugherd is a visual feedback and bug tracking tool for websites. It helps teams and clients report website issues directly on live sites for faster fixes.
- [Canny](https://composio.dev/toolkits/canny) - Canny is a platform for managing customer feedback and feature requests. It helps teams prioritize product decisions based on real user insights.

## Frequently Asked Questions

### Do I need my own developer credentials to use GoodAPI: Plant Trees with Composio?

Yes, GoodAPI: Plant Trees requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
