Your First Connector
This tutorial walks through creating a connector from start to finish.
Step 1: Find API Documentation
Before creating a connector, you need the platform's API documentation. Look for:
- OpenAPI 3.x specification (preferred)
- Swagger 2.0 specification
- Postman collection
- HTML API reference
Good documentation includes:
- Authentication requirements
- List of endpoints with parameters
- Response formats with examples
- Pagination information
- Rate limits
Step 2: Start Automated Generation
- Go to Connectors → Generate from API Docs
- Choose your input:
- URL tab: paste a link to an OpenAPI spec, Swagger file, or Postman collection
- Upload File tab: upload a
.json,.yaml, or.ymlspec file
- Click Generate Connector
The system will:
- Parse the API documentation
- Identify all endpoints
- Analyze each endpoint using AI
- Create a draft for your review
You'll watch a progress screen while generation runs; when it completes, click Review Draft to open the draft editor.
Step 3: Review the Draft
The draft editor (the "Review: {platform}" page) has three tabs: Review Endpoints, Endpoint Explorer, and Test & Configure.
Review Endpoints Tab
Each endpoint shows:
- Name: Friendly name (editable)
- Path: API endpoint path
- Category: Logical grouping
- LLM Recommendation: Keep or discard with reasoning
- Forensic Relevance: Whether this is evidence-worthy data
- Enabled: Toggle to include/exclude
Review Actions
- Enable/Disable: Toggle endpoints on/off
- View Recommendation: Read AI reasoning
- Add Notes: Document your decisions
- Change Category: Override auto-categorization
Focus on:
- Enabling endpoints that return user data, messages, files, activity logs
- Disabling endpoints that modify data or return only configuration
- Adding notes explaining any non-obvious decisions
Step 4: Configure Pagination
Switch to the Test & Configure tab, then select an endpoint and open its Paging tab in the endpoint editor.
For each endpoint with list data:
- Select the endpoint
- Open the Paging tab and enable pagination
- Select pagination type based on API behavior:
| Response Pattern | Type to Select |
|---|---|
next_cursor or cursor field | Cursor |
has_more + cursor | Cursor |
next_page_uri (full path) | Cursor + enable "Cursor is full URL path" |
Uses offset and limit params | Offset |
Uses page number | Page |
Link header with rel="next" | Link Header |
-
Configure parameter names (from API docs):
- Cursor param name (e.g.,
cursor,starting_after) - Limit param name (e.g.,
limit,per_page) - Default page size (e.g., 100)
- Cursor param name (e.g.,
-
Configure response paths:
- Path to next cursor (e.g.,
response_metadata.next_cursor) - Path to has_more flag (e.g.,
has_more) - Path to data array (e.g.,
data,items,members)
- Path to next cursor (e.g.,
-
Set stop condition:
- Cursor empty: Stop when cursor is null/empty
- Boolean flag: Stop when
has_moreequalsfalse - Comparison: Stop when result count is less than limit
See Pagination Reference for detailed examples.
Step 5: Set Up Dependencies
When an endpoint needs data from another endpoint (like user IDs):
- Test the source endpoint first to see its response
- In the JSON viewer, click the field containing the values you need
- Drag the path to the target endpoint's parameter drop zone
- Choose the mode:
- Iterate: Call target endpoint for each value (most common)
- First: Use only the first value
Example: Collecting messages from channels
Step 1: Test "List Channels" endpoint
Response: { "channels": [{ "id": "C123" }, { "id": "C456" }] }
Step 2: Click "channels[*].id" in the JSON viewer
Step 3: Drag to "Get Channel Messages" endpoint
Target parameter: channel_id (in path)
Step 4: Select "Iterate" mode
Result: Will call /channels/C123/messages, /channels/C456/messages
Step 6: Test the Connector
- Add test credentials for the platform
- Test individual endpoints to verify they work
- Test the dependency chain to verify data flows correctly
- Check pagination by verifying multiple pages are retrieved
What to Verify
- Credentials authenticate successfully
- Each enabled endpoint returns data
- Pagination retrieves all pages (not just first)
- Dependencies resolve to correct values
- No rate limit errors occur
Step 7: Create the Connector
- Review all configurations one final time
- Click Create Connector (top right of the draft editor — requires at least one enabled endpoint)
This finalizes the draft into a connector at version 1.0.0 with Testing status, and returns you to the connectors list. The version number is assigned automatically; there's no version field to fill in.
Later edits to the published connector are applied via the Publish flow, which bumps the version automatically — see Versioning.
Common Mistakes to Avoid
1. Forgetting Pagination
Always configure pagination for endpoints that return lists. Without it, you'll only get the first page of data.
2. Wrong Cursor Path
Double-check the JSON path to the cursor. If it's wrong, pagination will stop after the first page.
3. Missing Dependencies
If an endpoint has path parameters like /users/{user_id}, it needs a dependency to provide those values.
4. Enabling Write Endpoints
Disable any endpoints that modify data (POST, PUT, DELETE to non-list resources). Forensic collection should be read-only.
5. Not Testing with Real Data
Always test with real credentials and data. Sample responses don't catch all issues.