Getting Started with Outeract#
This guide will walk you through setting up Outeract and sending your first message. You’ll be up and running in about 5 minutes.
Prerequisites#
Before you begin, you’ll need:
- An Outeract account (sign up here)
- A messaging platform account (WhatsApp Business, Instagram Business, Telegram, etc.)
- Basic familiarity with GraphQL (or plain HTTP POST, which is all a GraphQL request is)
Overview#
Getting started with Outeract involves four steps:
1. Create Application → 2. Get API Key → 3. Connect Platform → 4. Send MessageStep 1: Create Your Application#
Applications are the top-level container for all your messaging data. Each application has its own users, events, and platform connections.
- Sign in to the Outeract Console
- Click Create Application
- Give your application a name (e.g., “My Chat App”)
- Note your Application ID - you’ll need this for API calls
Step 2: Get Your API Key#
API keys authenticate your requests to the Outeract API.
- Navigate to Settings → API Keys
- Click Create API Key
- Select the scopes you need:
events:read- Read messages and eventsevents:write- Send messages, create eventsusers:read- Read user datausers:write- Create and update users
- Copy your API key - it won’t be shown again
Step 3: Connect a Platform#
Connect your first messaging platform:
WhatsApp uses OAuth for authentication:
- Go to Platforms → Add Platform
- Select WhatsApp Business
- Click Connect with Meta
- Authorize access to your WhatsApp Business Account
- Select the phone numbers to use
Telegram uses a bot token:
- Create a bot via @BotFather
- Copy the bot token
- Go to Platforms → Add Platform
- Select Telegram
- Paste your bot token
- Click Connect
Slack uses a bot token:
- Create a Slack App at api.slack.com
- Add the
chat:writebot scope - Install to your workspace
- Copy the Bot User OAuth Token
- Go to Platforms → Add Platform
- Select Slack and paste your token
Step 4: Send Your First Message#
Now you’re ready to send a message!
The API is GraphQL, and every operation is a POST to https://api.outeract.com/. Users are created automatically when someone messages one of your connected platforms, so message your bot or number first, then send a reply to that user:
mutation SendMessage {
sendMessage(
recipientUserId: "RECIPIENT_USER_ID"
message: "Hello from Outeract!"
) {
id
eventTypeName
createdAt
}
}Headers:
{
"Authorization": "Bearer YOUR_API_KEY"
}curl https://api.outeract.com/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "mutation SendMessage($userId: UUID!, $message: String!) { sendMessage(recipientUserId: $userId, message: $message) { id eventTypeName createdAt } }",
"variables": {
"userId": "RECIPIENT_USER_ID",
"message": "Hello from Outeract!"
}
}'import requests
response = requests.post(
"https://api.outeract.com/",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"query": """
mutation SendMessage($userId: UUID!, $message: String!) {
sendMessage(recipientUserId: $userId, message: $message) {
id
eventTypeName
createdAt
}
}
""",
"variables": {
"userId": "RECIPIENT_USER_ID",
"message": "Hello from Outeract!",
},
},
)
print(response.json())const response = await fetch('https://api.outeract.com/', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
query: `
mutation SendMessage($userId: UUID!, $message: String!) {
sendMessage(recipientUserId: $userId, message: $message) {
id
eventTypeName
createdAt
}
}
`,
variables: {
userId: 'RECIPIENT_USER_ID',
message: 'Hello from Outeract!'
}
})
});
const data = await response.json();
console.log(data);What’s Next?#
Now that you’ve sent your first message, explore these topics:
Authentication#
Learn about API keys, OAuth flows, and webhook signature verification.
Core Concepts#
Understand the data model: applications, users, events, and edges.
Receive Messages#
Set up webhooks to receive incoming messages.
Quick Links#
- API Reference - Complete API documentation
- Platform Guides - Setup each platform
- Troubleshooting - Common issues and solutions