Skip to main content

interactor-sdk

Provides complete SDK implementations for integrating with the Interactor platform using TypeScript/Node.js or Python.

Install this skill

or
0/100

Security score

The interactor-sdk skill was audited on Feb 12, 2026 and we found 230 security issues across 4 threat categories. Review the findings below before installing.

Categories Tested

Security Issues

medium line 311

Template literal with variable interpolation in command context

SourceSKILL.md
311config.headers.Authorization = `Bearer ${token}`;
medium line 409

Template literal with variable interpolation in command context

SourceSKILL.md
409`/credentials/${credentialId}/token`,
medium line 430

Template literal with variable interpolation in command context

SourceSKILL.md
430await this.coreClient.delete(`/credentials/${credentialId}`, {
medium line 437

Template literal with variable interpolation in command context

SourceSKILL.md
437`/credentials/${credentialId}/refresh`,
medium line 470

Template literal with variable interpolation in command context

SourceSKILL.md
470`/assistants/${assistantId}`,
medium line 489

Template literal with variable interpolation in command context

SourceSKILL.md
489`/assistants/${assistantId}`,
medium line 511

Template literal with variable interpolation in command context

SourceSKILL.md
511await this.coreClient.delete(`/assistants/${assistantId}`, {
medium line 535

Template literal with variable interpolation in command context

SourceSKILL.md
535`/rooms/${roomId}`,
medium line 556

Template literal with variable interpolation in command context

SourceSKILL.md
556await this.coreClient.delete(`/rooms/${roomId}`, {
medium line 572

Template literal with variable interpolation in command context

SourceSKILL.md
572`/rooms/${roomId}/messages`,
medium line 585

Template literal with variable interpolation in command context

SourceSKILL.md
585`/rooms/${roomId}/messages`,
medium line 617

Template literal with variable interpolation in command context

SourceSKILL.md
617`/tools/${toolId}`,
medium line 638

Template literal with variable interpolation in command context

SourceSKILL.md
638await this.coreClient.delete(`/tools/${toolId}`, {
medium line 650

Template literal with variable interpolation in command context

SourceSKILL.md
650`/rooms/${roomId}/tool-results`,
medium line 680

Template literal with variable interpolation in command context

SourceSKILL.md
680`/data-sources/${dataSourceId}`,
medium line 702

Template literal with variable interpolation in command context

SourceSKILL.md
702`/data-sources/${dataSourceId}/sync`,
medium line 709

Template literal with variable interpolation in command context

SourceSKILL.md
709await this.coreClient.delete(`/data-sources/${dataSourceId}`, {
medium line 737

Template literal with variable interpolation in command context

SourceSKILL.md
737`/workflows/${workflowId}`,
medium line 758

Template literal with variable interpolation in command context

SourceSKILL.md
758await this.coreClient.delete(`/workflows/${workflowId}`, {
medium line 782

Template literal with variable interpolation in command context

SourceSKILL.md
782`/workflow-instances/${instanceId}`,
medium line 808

Template literal with variable interpolation in command context

SourceSKILL.md
808`/workflow-instances/${instanceId}/input`,
medium line 822

Template literal with variable interpolation in command context

SourceSKILL.md
822`/workflow-instances/${instanceId}/events`,
medium line 831

Template literal with variable interpolation in command context

SourceSKILL.md
831`/workflow-instances/${instanceId}/cancel`,
medium line 843

Template literal with variable interpolation in command context

SourceSKILL.md
843`/workflow-instances/${instanceId}/thread`,
medium line 855

Template literal with variable interpolation in command context

SourceSKILL.md
855`/workflow-instances/${instanceId}/thread/messages`,
medium line 884

Template literal with variable interpolation in command context

SourceSKILL.md
884`/webhooks/${webhookId}`,
medium line 910

Template literal with variable interpolation in command context

SourceSKILL.md
910`/webhooks/${webhookId}`,
medium line 918

Template literal with variable interpolation in command context

SourceSKILL.md
918await this.coreClient.delete(`/webhooks/${webhookId}`, {
medium line 925

Template literal with variable interpolation in command context

SourceSKILL.md
925`/webhooks/${webhookId}/rotate-secret`,
medium line 938

Template literal with variable interpolation in command context

SourceSKILL.md
938return `${this.config.coreApiUrl}/rooms/${roomId}/stream?token=${token}&namespace=${namespace}`;
medium line 943

Template literal with variable interpolation in command context

SourceSKILL.md
943return `${this.config.coreApiUrl}/workflow-instances/${instanceId}/stream?token=${token}&namespace=${namespace}`;
medium line 1051

Template literal with variable interpolation in command context

SourceSKILL.md
1051`Request failed (attempt ${attempt + 1}/${maxRetries + 1}), ` +
medium line 1052

Template literal with variable interpolation in command context

SourceSKILL.md
1052`retrying in ${Math.round(waitMs / 1000)}s: ${error.message}`
medium line 1137

Template literal with variable interpolation in command context

SourceSKILL.md
1137console.error(`Interactor Error [${error.code}]:`, error.message);
medium line 1158

Template literal with variable interpolation in command context

SourceSKILL.md
1158`Missing required Interactor environment variables: ${missing.join(', ')}\n` +
medium line 2728

Template literal with variable interpolation in command context

SourceSKILL.md
2728console.log(`Unhandled event: ${payload.event}`);
medium line 2740

Template literal with variable interpolation in command context

SourceSKILL.md
2740console.log(`Credential connected: ${data.credential_id} for ${data.provider}`);
medium line 2745

Template literal with variable interpolation in command context

SourceSKILL.md
2745console.log(`Credential expired: ${data.credential_id}`);
medium line 2750

Template literal with variable interpolation in command context

SourceSKILL.md
2750console.log(`Credential revoked: ${data.credential_id}`);
medium line 2755

Template literal with variable interpolation in command context

SourceSKILL.md
2755console.log(`New message in room ${data.room_id}: ${data.content}`);
medium line 2760

Template literal with variable interpolation in command context

SourceSKILL.md
2760console.log(`Tool call pending: ${data.tool_call_id} for ${data.tool_name}`);
medium line 2765

Template literal with variable interpolation in command context

SourceSKILL.md
2765console.log(`Workflow halted: ${data.instance_id} at ${data.current_state}`);
medium line 2770

Template literal with variable interpolation in command context

SourceSKILL.md
2770console.log(`Workflow completed: ${data.instance_id}`);
medium line 3118

Template literal with variable interpolation in command context

SourceSKILL.md
3118id: `temp-${Date.now()}`,
medium line 3129

Template literal with variable interpolation in command context

SourceSKILL.md
3129id: `streaming-${Date.now()}`,
medium line 3149

Template literal with variable interpolation in command context

SourceSKILL.md
3149<div className={`text-sm px-4 py-1 ${isConnected ? 'bg-green-100' : 'bg-red-100'}`}>
medium line 3158

Template literal with variable interpolation in command context

SourceSKILL.md
3158className={`p-3 rounded-lg ${
medium line 3402

Template literal with variable interpolation in command context

SourceSKILL.md
3402const namespace = `test_${Date.now()}`;
medium line 3872

Template literal with variable interpolation in command context

SourceSKILL.md
3872console.log(`Event ${event.idempotency_key} already processed, skipping`);
medium line 3949

Template literal with variable interpolation in command context

SourceSKILL.md
3949const response = await axios.post(`${accountServerUrl}/oauth/token`, {
medium line 3987

Template literal with variable interpolation in command context

SourceSKILL.md
3987const expectedNamespace = `user_${userId}`;
medium line 3993

Template literal with variable interpolation in command context

SourceSKILL.md
3993const namespace = `user_${req.user.id}`;
medium line 4175

Template literal with variable interpolation in command context

SourceSKILL.md
4175console.log(`Rate limited, waiting ${waitMs}ms before retry`);
medium line 4464

Template literal with variable interpolation in command context

SourceSKILL.md
4464`${client.config.coreApiUrl}/assistants`,
medium line 4468

Template literal with variable interpolation in command context

SourceSKILL.md
4468'Authorization': `Bearer ${await client.getAccessToken()}`,
medium line 4521

Template literal with variable interpolation in command context

SourceSKILL.md
4521console.log(`Credential ${credentialId} refreshed successfully`);
medium line 4549

Template literal with variable interpolation in command context

SourceSKILL.md
4549title: `Your ${provider} connection expired`,
medium line 4553

Template literal with variable interpolation in command context

SourceSKILL.md
4553url: `/settings/connections/${credential_id}/reconnect`,
medium line 4582

Template literal with variable interpolation in command context

SourceSKILL.md
4582console.log(`Credential ${credentialId} fully revoked`);
medium line 3

Webhook reference - potential data exfiltration

SourceSKILL.md
3description: Complete SDK implementations for Interactor platform integration. Use when building TypeScript/Node.js or Python applications that need full Interactor client libraries. Includes complete
medium line 9

Webhook reference - potential data exfiltration

SourceSKILL.md
9Production-ready SDK implementations for TypeScript/Node.js and Python with complete client classes, webhook handlers, and real-time streaming components.
medium line 15

Webhook reference - potential data exfiltration

SourceSKILL.md
15- **Webhook Handling**: Implementing secure webhook receivers with signature verification
low line 35

Webhook reference - potential data exfiltration

SourceSKILL.md
35# Optional - webhook secret for signature verification
low line 36

Webhook reference - potential data exfiltration

SourceSKILL.md
36INTERACTOR_WEBHOOK_SECRET=whsec_xxx
low line 267

Webhook reference - potential data exfiltration

SourceSKILL.md
267// Webhook Types
low line 268

Webhook reference - potential data exfiltration

SourceSKILL.md
268export interface Webhook {
low line 863

Webhook reference - potential data exfiltration

SourceSKILL.md
863// Webhooks
low line 866

Webhook reference - potential data exfiltration

SourceSKILL.md
866async createWebhook(
low line 873

Webhook reference - potential data exfiltration

SourceSKILL.md
873): Promise<Webhook> {
low line 874

Webhook reference - potential data exfiltration

SourceSKILL.md
874const response = await this.coreClient.post<ApiResponse<Webhook>>(
low line 875

Webhook reference - potential data exfiltration

SourceSKILL.md
875'/webhooks',
low line 882

Webhook reference - potential data exfiltration

SourceSKILL.md
882async getWebhook(namespace: string, webhookId: string): Promise<Webhook> {
low line 883

Webhook reference - potential data exfiltration

SourceSKILL.md
883const response = await this.coreClient.get<ApiResponse<Webhook>>(
low line 884

Webhook reference - potential data exfiltration

SourceSKILL.md
884`/webhooks/${webhookId}`,
low line 890

Webhook reference - potential data exfiltration

SourceSKILL.md
890async listWebhooks(
low line 893

Webhook reference - potential data exfiltration

SourceSKILL.md
893): Promise<PaginatedResponse<Webhook>> {
low line 894

Webhook reference - potential data exfiltration

SourceSKILL.md
894const response = await this.coreClient.get<PaginatedResponse<Webhook>>(
low line 895

Webhook reference - potential data exfiltration

SourceSKILL.md
895'/webhooks',
low line 904

Webhook reference - potential data exfiltration

SourceSKILL.md
904async updateWebhook(
low line 906

Webhook reference - potential data exfiltration

SourceSKILL.md
906webhookId: string,
low line 908

Webhook reference - potential data exfiltration

SourceSKILL.md
908): Promise<Webhook> {
low line 909

Webhook reference - potential data exfiltration

SourceSKILL.md
909const response = await this.coreClient.patch<ApiResponse<Webhook>>(
low line 910

Webhook reference - potential data exfiltration

SourceSKILL.md
910`/webhooks/${webhookId}`,
low line 917

Webhook reference - potential data exfiltration

SourceSKILL.md
917async deleteWebhook(namespace: string, webhookId: string): Promise<void> {
low line 918

Webhook reference - potential data exfiltration

SourceSKILL.md
918await this.coreClient.delete(`/webhooks/${webhookId}`, {
low line 923

Webhook reference - potential data exfiltration

SourceSKILL.md
923async rotateWebhookSecret(namespace: string, webhookId: string): Promise<Webhook> {
low line 924

Webhook reference - potential data exfiltration

SourceSKILL.md
924const response = await this.coreClient.post<ApiResponse<Webhook>>(
low line 925

Webhook reference - potential data exfiltration

SourceSKILL.md
925`/webhooks/${webhookId}/rotate-secret`,
low line 2013

Webhook reference - potential data exfiltration

SourceSKILL.md
2013# Webhooks
low line 2016

Webhook reference - potential data exfiltration

SourceSKILL.md
2016async def create_webhook(
low line 2023

Webhook reference - potential data exfiltration

SourceSKILL.md
2023"""Create a webhook."""
low line 2026

Webhook reference - potential data exfiltration

SourceSKILL.md
2026"/webhooks",
low line 2036

Webhook reference - potential data exfiltration

SourceSKILL.md
2036async def get_webhook(self, namespace: str, webhook_id: str) -> Dict[str, Any]:
low line 2037

Webhook reference - potential data exfiltration

SourceSKILL.md
2037"""Get webhook by ID."""
low line 2040

Webhook reference - potential data exfiltration

SourceSKILL.md
2040f"/webhooks/{webhook_id}",
low line 2045

Webhook reference - potential data exfiltration

SourceSKILL.md
2045async def list_webhooks(
low line 2051

Webhook reference - potential data exfiltration

SourceSKILL.md
2051"""List webhooks."""
low line 2054

Webhook reference - potential data exfiltration

SourceSKILL.md
2054"/webhooks",
low line 2063

Webhook reference - potential data exfiltration

SourceSKILL.md
2063async def update_webhook(
low line 2066

Webhook reference - potential data exfiltration

SourceSKILL.md
2066webhook_id: str,
low line 2069

Webhook reference - potential data exfiltration

SourceSKILL.md
2069"""Update a webhook."""
low line 2072

Webhook reference - potential data exfiltration

SourceSKILL.md
2072f"/webhooks/{webhook_id}",
low line 2078

Webhook reference - potential data exfiltration

SourceSKILL.md
2078async def delete_webhook(self, namespace: str, webhook_id: str) -> None:
low line 2079

Webhook reference - potential data exfiltration

SourceSKILL.md
2079"""Delete a webhook."""
low line 2082

Webhook reference - potential data exfiltration

SourceSKILL.md
2082f"/webhooks/{webhook_id}",
low line 2086

Webhook reference - potential data exfiltration

SourceSKILL.md
2086async def rotate_webhook_secret(
low line 2089

Webhook reference - potential data exfiltration

SourceSKILL.md
2089webhook_id: str
low line 2091

Webhook reference - potential data exfiltration

SourceSKILL.md
2091"""Rotate webhook secret."""
low line 2094

Webhook reference - potential data exfiltration

SourceSKILL.md
2094f"/webhooks/{webhook_id}/rotate-secret",
medium line 2172

Webhook reference - potential data exfiltration

SourceSKILL.md
2172> workflows, and webhooks. For advanced features like Tools, Data Sources, and Workflow Threads,
low line 2497

Webhook reference - potential data exfiltration

SourceSKILL.md
2497# ========== Webhooks ==========
low line 2499

Webhook reference - potential data exfiltration

SourceSKILL.md
2499def create_webhook(self, namespace: str, url: str, events: List[str]) -> Dict[str, Any]:
low line 2502

Webhook reference - potential data exfiltration

SourceSKILL.md
2502"/webhooks",
low line 2507

Webhook reference - potential data exfiltration

SourceSKILL.md
2507def list_webhooks(self, namespace: str) -> Dict[str, Any]:
low line 2508

Webhook reference - potential data exfiltration

SourceSKILL.md
2508return self._request("GET", "/webhooks", namespace=namespace)
low line 2510

Webhook reference - potential data exfiltration

SourceSKILL.md
2510def delete_webhook(self, namespace: str, webhook_id: str) -> None:
low line 2511

Webhook reference - potential data exfiltration

SourceSKILL.md
2511self._request("DELETE", f"/webhooks/{webhook_id}", namespace=namespace)
low line 2513

Webhook reference - potential data exfiltration

SourceSKILL.md
2513def get_webhook(self, namespace: str, webhook_id: str) -> Dict[str, Any]:
low line 2514

Webhook reference - potential data exfiltration

SourceSKILL.md
2514"""Get webhook by ID."""
low line 2515

Webhook reference - potential data exfiltration

SourceSKILL.md
2515return self._request("GET", f"/webhooks/{webhook_id}", namespace=namespace)["data"]
low line 2517

Webhook reference - potential data exfiltration

SourceSKILL.md
2517def update_webhook(
low line 2520

Webhook reference - potential data exfiltration

SourceSKILL.md
2520webhook_id: str,
low line 2525

Webhook reference - potential data exfiltration

SourceSKILL.md
2525"""Update a webhook."""
low line 2535

Webhook reference - potential data exfiltration

SourceSKILL.md
2535f"/webhooks/{webhook_id}",
medium line 2654

Webhook reference - potential data exfiltration

SourceSKILL.md
2654## Webhook Handler Examples
medium line 2656

Webhook reference - potential data exfiltration

SourceSKILL.md
2656### Express.js Webhook Handler
low line 2659

Webhook reference - potential data exfiltration

SourceSKILL.md
2659// src/webhooks/express-handler.ts
low line 2666

Webhook reference - potential data exfiltration

SourceSKILL.md
2666app.use('/webhooks/interactor', express.raw({ type: 'application/json' }));
low line 2668

Webhook reference - potential data exfiltration

SourceSKILL.md
2668interface WebhookPayload {
low line 2690

Webhook reference - potential data exfiltration

SourceSKILL.md
2690app.post('/webhooks/interactor', async (req, res) => {
low line 2692

Webhook reference - potential data exfiltration

SourceSKILL.md
2692const webhookSecret = process.env.INTERACTOR_WEBHOOK_SECRET!;
low line 2695

Webhook reference - potential data exfiltration

SourceSKILL.md
2695if (!signature || !verifySignature(req.body, signature, webhookSecret)) {
low line 2696

Webhook reference - potential data exfiltration

SourceSKILL.md
2696console.error('Invalid webhook signature');
low line 2701

Webhook reference - potential data exfiltration

SourceSKILL.md
2701const payload: WebhookPayload = JSON.parse(req.body.toString());
low line 2733

Webhook reference - potential data exfiltration

SourceSKILL.md
2733console.error('Webhook processing error:', error);
low line 2775

Webhook reference - potential data exfiltration

SourceSKILL.md
2775console.log('Webhook server listening on port 3000');
medium line 2779

Webhook reference - potential data exfiltration

SourceSKILL.md
2779### Flask Webhook Handler
low line 2782

Webhook reference - potential data exfiltration

SourceSKILL.md
2782# webhooks/flask_handler.py
low line 2791

Webhook reference - potential data exfiltration

SourceSKILL.md
2791WEBHOOK_SECRET = os.environ["INTERACTOR_WEBHOOK_SECRET"]
low line 2794

Webhook reference - potential data exfiltration

SourceSKILL.md
2794"""Verify webhook signature using HMAC SHA256."""
low line 2796

Webhook reference - potential data exfiltration

SourceSKILL.md
2796WEBHOOK_SECRET.encode(),
low line 2802

Webhook reference - potential data exfiltration

SourceSKILL.md
2802@app.route("/webhooks/interactor", methods=["POST"])
low line 2803

Webhook reference - potential data exfiltration

SourceSKILL.md
2803def handle_webhook():
low line 2830

Webhook reference - potential data exfiltration

SourceSKILL.md
2830app.logger.error(f"Webhook handler error: {e}")
medium line 3475

Webhook reference - potential data exfiltration

SourceSKILL.md
3475### Webhook Security
medium line 3476

Webhook reference - potential data exfiltration

SourceSKILL.md
3476- Always verify webhook signatures using HMAC SHA-256
medium line 3478

Webhook reference - potential data exfiltration

SourceSKILL.md
3478- Implement idempotency keys for webhook processing
medium line 3479

Webhook reference - potential data exfiltration

SourceSKILL.md
3479- Log all webhook events for debugging
low line 3496

Webhook reference - potential data exfiltration

SourceSKILL.md
3496- [ ] Webhook signature verification enabled
medium line 3687

Webhook reference - potential data exfiltration

SourceSKILL.md
3687#### Webhook Endpoints
medium line 3691

Webhook reference - potential data exfiltration

SourceSKILL.md
3691| `POST` | `/webhooks` | Create webhook |
medium line 3692

Webhook reference - potential data exfiltration

SourceSKILL.md
3692| `GET` | `/webhooks` | List webhooks |
medium line 3693

Webhook reference - potential data exfiltration

SourceSKILL.md
3693| `GET` | `/webhooks/{id}` | Get webhook by ID |
medium line 3694

Webhook reference - potential data exfiltration

SourceSKILL.md
3694| `PATCH` | `/webhooks/{id}` | Update webhook |
medium line 3695

Webhook reference - potential data exfiltration

SourceSKILL.md
3695| `DELETE` | `/webhooks/{id}` | Delete webhook |
medium line 3696

Webhook reference - potential data exfiltration

SourceSKILL.md
3696| `POST` | `/webhooks/{id}/rotate-secret` | Rotate webhook secret |
medium line 3700

Webhook reference - potential data exfiltration

SourceSKILL.md
3700## Webhook Event Catalog
low line 3725

Webhook reference - potential data exfiltration

SourceSKILL.md
3725interface WebhookEvent {
medium line 3833

Webhook reference - potential data exfiltration

SourceSKILL.md
3833### Webhook Delivery Semantics
low line 3869

Webhook reference - potential data exfiltration

SourceSKILL.md
3869async function handleWebhook(event: WebhookEvent): Promise<void> {
low line 3898

Webhook reference - potential data exfiltration

SourceSKILL.md
3898"""Decorator for idempotent webhook handling."""
low line 3900

Webhook reference - potential data exfiltration

SourceSKILL.md
3900key = f"webhook:processed:{event['idempotency_key']}"
medium line 3941

Webhook reference - potential data exfiltration

SourceSKILL.md
3941| `webhooks:read` | Read webhooks | `GET /webhooks` |
medium line 3942

Webhook reference - potential data exfiltration

SourceSKILL.md
3942| `webhooks:write` | Manage webhooks | `POST/PATCH/DELETE /webhooks` |
low line 4024

Webhook reference - potential data exfiltration

SourceSKILL.md
4024INTERACTOR_WEBHOOK_SECRET=whsec_xxx # Webhook verification secret
medium line 4043

Webhook reference - potential data exfiltration

SourceSKILL.md
4043**Rotate Webhook Secret:**
low line 4045

Webhook reference - potential data exfiltration

SourceSKILL.md
4045// API supports webhook secret rotation
low line 4046

Webhook reference - potential data exfiltration

SourceSKILL.md
4046const result = await client.rotateWebhookSecret(namespace, webhookId);
medium line 4059

Webhook reference - potential data exfiltration

SourceSKILL.md
4059- Webhook deliveries logged with retry attempts
low line 4073

Webhook reference - potential data exfiltration

SourceSKILL.md
4073- [ ] Webhook signature verification enabled
medium line 4130

Webhook reference - potential data exfiltration

SourceSKILL.md
4130- Added idempotency_key to all webhook events
medium line 4215

Webhook reference - potential data exfiltration

SourceSKILL.md
4215- Use webhooks instead of polling for real-time updates
low line 4252

Webhook reference - potential data exfiltration

SourceSKILL.md
4252// Webhook metrics
low line 4253

Webhook reference - potential data exfiltration

SourceSKILL.md
4253'interactor_webhook_received_total': {
low line 4256

Webhook reference - potential data exfiltration

SourceSKILL.md
4256description: 'Webhooks received',
low line 4258

Webhook reference - potential data exfiltration

SourceSKILL.md
4258'interactor_webhook_processing_duration_ms': {
low line 4261

Webhook reference - potential data exfiltration

SourceSKILL.md
4261description: 'Webhook processing time',
medium line 4351

Webhook reference - potential data exfiltration

SourceSKILL.md
4351| Webhook processing failures | > 10% | Warning |
medium line 4497

Webhook reference - potential data exfiltration

SourceSKILL.md
4497| Create Webhook | UUID or hash of (namespace + url + events) |
low line 4535

Webhook reference - potential data exfiltration

SourceSKILL.md
4535// Webhook handler for credential expiry
medium line 4586

Webhook reference - potential data exfiltration

SourceSKILL.md
4586### Webhook Secret Rotation
low line 4589

Webhook reference - potential data exfiltration

SourceSKILL.md
4589// Rotate webhook secret with zero downtime
low line 4590

Webhook reference - potential data exfiltration

SourceSKILL.md
4590async function rotateWebhookSecret(
low line 4593

Webhook reference - potential data exfiltration

SourceSKILL.md
4593webhookId: string
low line 4596

Webhook reference - potential data exfiltration

SourceSKILL.md
4596const oldSecret = process.env.INTERACTOR_WEBHOOK_SECRET;
low line 4599

Webhook reference - potential data exfiltration

SourceSKILL.md
4599const result = await client.rotateWebhookSecret(namespace, webhookId);
low line 4603

Webhook reference - potential data exfiltration

SourceSKILL.md
4603await secretsManager.put('INTERACTOR_WEBHOOK_SECRET', newSecret);
low line 4604

Webhook reference - potential data exfiltration

SourceSKILL.md
4604await secretsManager.put('INTERACTOR_WEBHOOK_SECRET_OLD', oldSecret);
low line 4611

Webhook reference - potential data exfiltration

SourceSKILL.md
4611await secretsManager.delete('INTERACTOR_WEBHOOK_SECRET_OLD');
low line 4621

Webhook reference - potential data exfiltration

SourceSKILL.md
4621process.env.INTERACTOR_WEBHOOK_SECRET,
low line 4622

Webhook reference - potential data exfiltration

SourceSKILL.md
4622process.env.INTERACTOR_WEBHOOK_SECRET_OLD,
low line 4675

Webhook reference - potential data exfiltration

SourceSKILL.md
4675### 5. Setup Webhook (5 min)
low line 4677

Webhook reference - potential data exfiltration

SourceSKILL.md
4677- [ ] Register webhook
medium line 4701

Webhook reference - potential data exfiltration

SourceSKILL.md
4701- **interactor-webhooks**: Webhook and SSE event handling
medium line 4711

Webhook reference - potential data exfiltration

SourceSKILL.md
47114. Implements secure webhook verification
medium line 4676

Ngrok tunnel reference

SourceSKILL.md
4676- [ ] Expose endpoint (use ngrok for local dev)
low line 1073

Access to .env file

SourceSKILL.md
1073clientId: process.env.INTERACTOR_CLIENT_ID!,
low line 1074

Access to .env file

SourceSKILL.md
1074clientSecret: process.env.INTERACTOR_CLIENT_SECRET!,
low line 1100

Access to .env file

SourceSKILL.md
1100clientId: process.env.INTERACTOR_CLIENT_ID!,
low line 1101

Access to .env file

SourceSKILL.md
1101clientSecret: process.env.INTERACTOR_CLIENT_SECRET!,
low line 1154

Access to .env file

SourceSKILL.md
1154const missing = required.filter((key) => !process.env[key]);
low line 1159

Access to .env file

SourceSKILL.md
1159`Please configure these in your .env file or environment.`
low line 2692

Access to .env file

SourceSKILL.md
2692const webhookSecret = process.env.INTERACTOR_WEBHOOK_SECRET!;
low line 3398

Access to .env file

SourceSKILL.md
3398const runIntegrationTests = process.env.INTERACTOR_SANDBOX_CLIENT_ID;
low line 3406

Access to .env file

SourceSKILL.md
3406clientId: process.env.INTERACTOR_SANDBOX_CLIENT_ID!,
low line 3407

Access to .env file

SourceSKILL.md
3407clientSecret: process.env.INTERACTOR_SANDBOX_CLIENT_SECRET!,
low line 3951

Access to .env file

SourceSKILL.md
3951client_id: process.env.INTERACTOR_CLIENT_ID,
low line 3952

Access to .env file

SourceSKILL.md
3952client_secret: process.env.INTERACTOR_CLIENT_SECRET,
low line 3961

Access to .env file

SourceSKILL.md
3961# .env for background job processor
low line 3967

Access to .env file

SourceSKILL.md
3967# .env for API server
low line 3973

Access to .env file

SourceSKILL.md
3973# .env for admin service
low line 4596

Access to .env file

SourceSKILL.md
4596const oldSecret = process.env.INTERACTOR_WEBHOOK_SECRET;
low line 4621

Access to .env file

SourceSKILL.md
4621process.env.INTERACTOR_WEBHOOK_SECRET,
low line 4622

Access to .env file

SourceSKILL.md
4622process.env.INTERACTOR_WEBHOOK_SECRET_OLD,
low line 55

External URL reference

SourceSKILL.md
55| **Account Server** | `https://auth.interactor.com/api/v1` | Authentication, OAuth clients |
low line 56

External URL reference

SourceSKILL.md
56| **Core API** | `https://core.interactor.com/api/v1` | Credentials, Agents, Workflows |
low line 290

External URL reference

SourceSKILL.md
290accountServerUrl: 'https://auth.interactor.com/api/v1',
low line 291

External URL reference

SourceSKILL.md
291coreApiUrl: 'https://core.interactor.com/api/v1',
low line 1194

External URL reference

SourceSKILL.md
1194account_server_url: str = "https://auth.interactor.com/api/v1"
low line 1195

External URL reference

SourceSKILL.md
1195core_api_url: str = "https://core.interactor.com/api/v1"
low line 2194

External URL reference

SourceSKILL.md
2194account_server_url: str = "https://auth.interactor.com/api/v1"
low line 2195

External URL reference

SourceSKILL.md
2195core_api_url: str = "https://core.interactor.com/api/v1"
low line 3512

External URL reference

SourceSKILL.md
3512| Production | `https://auth.interactor.com/api/v1` | `https://core.interactor.com/api/v1` |
low line 3513

External URL reference

SourceSKILL.md
3513| Sandbox | `https://sandbox-auth.interactor.com/api/v1` | `https://sandbox-core.interactor.com/api/v1` |
low line 3591

External URL reference

SourceSKILL.md
3591> - Production: `https://core.interactor.com/api/v1/openapi.yaml`
low line 4644

External URL reference

SourceSKILL.md
4644INTERACTOR_ACCOUNT_SERVER_URL=https://sandbox-auth.interactor.com/api/v1
low line 4645

External URL reference

SourceSKILL.md
4645INTERACTOR_CORE_API_URL=https://sandbox-core.interactor.com/api/v1
low line 4656

External URL reference

SourceSKILL.md
4656- [ ] Create account at https://dashboard.interactor.com
low line 4688

External URL reference

SourceSKILL.md
4688| Status Page | https://status.interactor.com |
low line 4691

External URL reference

SourceSKILL.md
4691| Community Discord | https://discord.gg/interactor |
Scanned on Feb 12, 2026
View Security Dashboard
Installation guide →