ChatGPT / GPT
Connect Nitrosend to ChatGPT through the ChatGPT app marketplace. ChatGPT handles the MCP connection and Nitrosend authenticates your account — no API key or local setup required.
Option 1: Install the official app (Recommended)
The official Nitrosend app is in the ChatGPT app directory. One click, no config files, no API key.
1. Install the official ChatGPT app
Install the Nitrosend app in ChatGPTClicking opens the Nitrosend app inside ChatGPT. Hit Connect, then sign in or create a free account — no API key needed.
2. Can't install directly? Search for it
Some ChatGPT plans or regions don't surface the direct link yet. If the button above doesn't open the app, add it from the marketplace instead:
- In ChatGPT, click your name, open Settings → Apps, then open the app marketplace.
- In the Search apps field, enter
Nitrosend. - Click Nitrosend - AI Native Email, then click Connect.
- ChatGPT opens the Nitrosend sign-in flow — log in or create a free account. No API key needed.
3. Use Nitrosend in a conversation
Ask ChatGPT anything about your email marketing:
What's my Nitrosend account status?Create a welcome email flow for new subscribersNo API key or local dependencies required. Authentication is handled through your Nitrosend account when you connect Nitrosend — whether you install via the button or the marketplace search.
Option 2: Custom GPT with Actions
Create a custom GPT in ChatGPT that can manage your email marketing.
1. Get your API key
Go to Brand > API Keys in the Nitrosend dashboard and copy your key.
2. Create a custom GPT
Go to ChatGPT → Explore GPTs → Create a GPT.
3. Add the Nitrosend action
In the GPT editor, go to Configure → Actions → Create new action.
Set the Authentication to:
- Type: API Key
- Auth Type: Bearer
- Key: your
nskey_live_...key
Import the OpenAPI schema from:
https://api.nitrosend.com/openapi.yamlThis automatically imports all available Nitrosend endpoints as GPT actions.
4. Add instructions
In the GPT's Instructions field, add context about your use case:
You are an email marketing assistant connected to Nitrosend.
You can create campaigns, manage contacts, build automation flows,
and check analytics. Always confirm before sending campaigns.
Ask for a preview or test send before going live.5. Save and use
Save your GPT. You can now ask it things like:
- "Create an email campaign about our summer sale"
- "How many subscribers do I have?"
- "Show me the performance of my last campaign"
Option 3: OpenAI API with tool calling
For programmatic integration, call the Nitrosend REST API from your own OpenAI-powered app.
Define your tools
from openai import OpenAI
client = OpenAI()
tools = [
{
"type": "function",
"function": {
"name": "send_email",
"description": "Send a transactional email to a single recipient",
"parameters": {
"type": "object",
"properties": {
"to": {"type": "string", "description": "Recipient email address"},
"subject": {"type": "string", "description": "Email subject line"},
"body": {"type": "string", "description": "Email body (HTML or plain text)"}
},
"required": ["to", "subject", "body"]
}
}
},
{
"type": "function",
"function": {
"name": "list_campaigns",
"description": "List all email campaigns",
"parameters": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": ["draft", "active", "paused", "completed"],
"description": "Filter by campaign status"
}
}
}
}
}
]
response = client.responses.create(
model="gpt-5",
input="Send a transactional email to jane@example.com welcoming her to the newsletter.",
tools=tools
)Handle function calls
When your app receives a function call, execute the corresponding Nitrosend API request:
import requests
NITROSEND_API_KEY = "nskey_live_your_key_here"
BASE_URL = "https://api.nitrosend.com/v1/my"
HEADERS = {
"Authorization": f"Bearer {NITROSEND_API_KEY}",
"Content-Type": "application/json"
}
def handle_function_call(name, arguments):
if name == "send_email":
response = requests.post(
f"{BASE_URL}/messages",
headers=HEADERS,
json={
"channel": "email",
"to": arguments["to"],
"subject": arguments["subject"],
"body": arguments["body"]
}
)
return response.json()
elif name == "list_campaigns":
params = {}
if "status" in arguments:
params["status"] = arguments["status"]
response = requests.get(
f"{BASE_URL}/campaigns",
headers=HEADERS,
params=params
)
return response.json()Key API endpoints
These are the most useful endpoints for GPT integrations:
| Action | Method | Endpoint |
|---|---|---|
| Send a message | POST | /v1/my/messages |
| List campaigns | GET | /v1/my/campaigns |
| Create a campaign | POST | /v1/my/campaigns |
| List contacts | GET | /v1/my/contacts |
| Import contacts | POST | /v1/my/imports |
| Poll import status | GET | /v1/my/imports/{id} |
| List templates | GET | /v1/my/templates |
| Get account info | GET | /v1/my/account |
See the full API Reference for all available endpoints.
The OpenAPI spec at https://api.nitrosend.com/openapi.yaml is always up to date and can be imported directly into any tool that supports OpenAPI 3.1.
