Stripe Tool
Connection Setup GuideThe Stripe tool allows your agent to manage core e-commerce and billing functions. It can create and manage customers, products, and prices, and generate shareable payment links.
Key Use Cases:
- On-the-Fly Product Creation: "Create a new product called 'Premium Consulting' and a price of $500 for it."
- Customer Management: "Create a new customer profile for 'jane.doe@example.com'."
- Sales Automation: "Generate a payment link for our 'Standard Service' package."
stripe_tool.create_customer
Creates a new customer in Stripe.
Parameters
Name | Type | Description |
---|---|---|
email |
string |
The customer's email address. |
name |
string |
The customer's full name. |
description |
string |
An arbitrary string that you can attach to a customer object. |
curl -X POST https://toolstream.dev/v1/tools/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"connection_name": "YOUR_CONNECTION_NAME",
"tool_call": {
"name": "stripe_tool.create_customer",
"arguments": {
"email": {
"type": "string",
"description": "The customer's email address."
},
"name": {
"type": "string",
"description": "The customer's full name."
},
"description": {
"type": "string",
"description": "An arbitrary string that you can attach to a customer object."
}
}
}
}'
import requests
import json
API_KEY = "YOUR_API_KEY"
TOOLSTREAM_URL = "https://toolstream.dev/v1/tools/execute"
payload = {
"connection_name": "YOUR_CONNECTION_NAME",
"tool_call": {
"name": "stripe_tool.create_customer",
"arguments": {
"email": {
"type": "string",
"description": "The customer's email address."
},
"name": {
"type": "string",
"description": "The customer's full name."
},
"description": {
"type": "string",
"description": "An arbitrary string that you can attach to a customer object."
}
}
}
}
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
response = requests.post(TOOLSTREAM_URL, headers=headers, data=json.dumps(payload))
if response.status_code == 200:
result = response.json()
print(json.dumps(result, indent=2))
else:
print(f"Error: {response.status_code}")
print(response.text)
stripe_tool.search_customers
Searches for customers by their email address.
Parameters
Name | Type | Description |
---|---|---|
email |
string |
The email address to search for. |
curl -X POST https://toolstream.dev/v1/tools/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"connection_name": "YOUR_CONNECTION_NAME",
"tool_call": {
"name": "stripe_tool.search_customers",
"arguments": {
"email": {
"type": "string",
"description": "The email address to search for."
}
}
}
}'
import requests
import json
API_KEY = "YOUR_API_KEY"
TOOLSTREAM_URL = "https://toolstream.dev/v1/tools/execute"
payload = {
"connection_name": "YOUR_CONNECTION_NAME",
"tool_call": {
"name": "stripe_tool.search_customers",
"arguments": {
"email": {
"type": "string",
"description": "The email address to search for."
}
}
}
}
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
response = requests.post(TOOLSTREAM_URL, headers=headers, data=json.dumps(payload))
if response.status_code == 200:
result = response.json()
print(json.dumps(result, indent=2))
else:
print(f"Error: {response.status_code}")
print(response.text)
stripe_tool.create_product
Creates a new product in Stripe that can be sold.
Parameters
Name | Type | Description |
---|---|---|
name |
string |
The product's name, meant to be displayable to the customer. |
curl -X POST https://toolstream.dev/v1/tools/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"connection_name": "YOUR_CONNECTION_NAME",
"tool_call": {
"name": "stripe_tool.create_product",
"arguments": {
"name": {
"type": "string",
"description": "The product's name, meant to be displayable to the customer."
}
}
}
}'
import requests
import json
API_KEY = "YOUR_API_KEY"
TOOLSTREAM_URL = "https://toolstream.dev/v1/tools/execute"
payload = {
"connection_name": "YOUR_CONNECTION_NAME",
"tool_call": {
"name": "stripe_tool.create_product",
"arguments": {
"name": {
"type": "string",
"description": "The product's name, meant to be displayable to the customer."
}
}
}
}
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
response = requests.post(TOOLSTREAM_URL, headers=headers, data=json.dumps(payload))
if response.status_code == 200:
result = response.json()
print(json.dumps(result, indent=2))
else:
print(f"Error: {response.status_code}")
print(response.text)
stripe_tool.create_price
Creates a price for an existing product.
Parameters
Name | Type | Description |
---|---|---|
product_id |
string |
The ID of the product this price is for (e.g., 'prod_...'). |
unit_amount |
integer |
The price in the smallest currency unit (e.g., 1000 for $10.00 USD). |
currency |
string |
Three-letter ISO currency code, in lowercase (e.g., 'usd'). |
curl -X POST https://toolstream.dev/v1/tools/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"connection_name": "YOUR_CONNECTION_NAME",
"tool_call": {
"name": "stripe_tool.create_price",
"arguments": {
"product_id": {
"type": "string",
"description": "The ID of the product this price is for (e.g., 'prod_...')."
},
"unit_amount": {
"type": "integer",
"description": "The price in the smallest currency unit (e.g., 1000 for $10.00 USD)."
},
"currency": {
"type": "string",
"description": "Three-letter ISO currency code, in lowercase (e.g., 'usd')."
}
}
}
}'
import requests
import json
API_KEY = "YOUR_API_KEY"
TOOLSTREAM_URL = "https://toolstream.dev/v1/tools/execute"
payload = {
"connection_name": "YOUR_CONNECTION_NAME",
"tool_call": {
"name": "stripe_tool.create_price",
"arguments": {
"product_id": {
"type": "string",
"description": "The ID of the product this price is for (e.g., 'prod_...')."
},
"unit_amount": {
"type": "integer",
"description": "The price in the smallest currency unit (e.g., 1000 for $10.00 USD)."
},
"currency": {
"type": "string",
"description": "Three-letter ISO currency code, in lowercase (e.g., 'usd')."
}
}
}
}
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
response = requests.post(TOOLSTREAM_URL, headers=headers, data=json.dumps(payload))
if response.status_code == 200:
result = response.json()
print(json.dumps(result, indent=2))
else:
print(f"Error: {response.status_code}")
print(response.text)
stripe_tool.create_payment_link
Creates a shareable payment link for a specific price.
Parameters
Name | Type | Description |
---|---|---|
price_id |
string |
The ID of the price to include in the link (e.g., 'price_...'). |
quantity |
integer |
The quantity of the price to be purchased. |
curl -X POST https://toolstream.dev/v1/tools/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"connection_name": "YOUR_CONNECTION_NAME",
"tool_call": {
"name": "stripe_tool.create_payment_link",
"arguments": {
"price_id": {
"type": "string",
"description": "The ID of the price to include in the link (e.g., 'price_...')."
},
"quantity": {
"type": "integer",
"description": "The quantity of the price to be purchased.",
"default": 1
}
}
}
}'
import requests
import json
API_KEY = "YOUR_API_KEY"
TOOLSTREAM_URL = "https://toolstream.dev/v1/tools/execute"
payload = {
"connection_name": "YOUR_CONNECTION_NAME",
"tool_call": {
"name": "stripe_tool.create_payment_link",
"arguments": {
"price_id": {
"type": "string",
"description": "The ID of the price to include in the link (e.g., 'price_...')."
},
"quantity": {
"type": "integer",
"description": "The quantity of the price to be purchased.",
"default": 1
}
}
}
}
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
response = requests.post(TOOLSTREAM_URL, headers=headers, data=json.dumps(payload))
if response.status_code == 200:
result = response.json()
print(json.dumps(result, indent=2))
else:
print(f"Error: {response.status_code}")
print(response.text)