Overview
What you’ll build
A bidirectional integration enabling:- Automatic recording-to-opportunity matching
- CRM context in Siro (customer names, deal amounts, outcomes)
- Entity extraction data flowing back to your CRM
Time estimate
4-8 hours for a developer familiar with REST APIsPrerequisites
- API development experience
- Admin access to your Siro workspace
- Your system exposes appointment/opportunity data via API or database
Step 1: Get Your Siro API Credentials
Generate Your API Key
- Log into your Siro workspace as an admin
- Navigate to Person Icon → API Tokens
- Click Generate New API Token
- Store this securely - you’ll use it in all API requests
API Base URL
Most API calls use:Step 2: Understand the Basics of the Data Model
Siro’s integration data model maps to standard CRM concepts:| Your System | Siro Equivalent | Purpose |
|---|---|---|
| Sales Rep / User in your CRM | User | Link reps in CRM to reps in Siro |
| Customer / Account | Account | Customer information |
| Opportunity / Deal / Lead | Opportunity | Sales outcomes with dollar values |
| Appointment / Meeting | Engagement | Scheduled interactions that get recorded |
| Recording | Recordings | Siro recording |
Key Relationship
The critical link is: Recording ↔ Engagement ↔ Opportunity AND/OR Account When you sync an Engagement to Siro with appointment details (time, location, rep), Siro can automatically match recordings to that engagement and surface the linked Opportunity context.Step 3: Sync Your Data to Siro
3.1 Link CRM Users to Siro Users
User linking happens automatically. When you sync engagements or opportunities, include your CRM’s user identifier withexternalId, email, and name. Siro automatically maps to existing workspace users by email or name match. Manual override available in Settings → Integrations → User Mapping.
3.2 Sync Appointments (Engagements)
This is the core of the integration. Syncing engagements enables appointment lists for reps, automatic recording linking, and CRM context for AI features. Endpoint:PUT /v1/integrations/sync/engagements • Full docs
Example request:
activityType: Valid values are MEETING, CALL, APPOINTMENT, EMAIL, TEXT, EVENT- Only MEETING, APPOINTMENT, and EVENT appear in the Appointment List feature
3.3 Sync Opportunities
Adds deal context (amount, disposition, customer name) to recordings. Endpoint:PUT /v1/integrations/sync/opportunities • Full docs
Example request:
3.4 Sync Accounts
Adds customer context (name, address, contact info) to recordings. Account syncing happens automatically when you include the nestedaccount object with an externalId in engagement or opportunity payloads. See the engagement example in 3.2 for the basic structure, or add optional fields like emailAddresses, phoneNumbers, and addresses as needed.
Step 4: Pull Data from Siro Back to Your System
Once recordings are created and linked, retrieve AI-generated insights. Note: Most endpoints use your organization API token. Get Entity Extractions (section 4.2) requires OAuth authentication. Skip OAuth setup if you don’t need entity extractions.OAuth Setup (Required for Entity Extractions Only)
1. Create an OAuth App
Endpoint:POST /v1/core/oauth/apps • Full docs
Provide appName, owner (user-id), and organizationId. Store the returned clientID and clientSecret securely.
2. Generate OAuth Access Tokens
Endpoint:POST /v1/core/oauth/apps/{clientId}/access-token • Full docs
Provide clientSecret, userId, and scope: "read". Use the returned accessToken for entity extractions. Tokens expire after 16 hours.
4.1 Get Linked Recording for an Engagement
Endpoint:GET /v1/integrations/engagements/{id} • Full docs
Response includes:
recordingId to fetch detailed data.
4.2 Get Entity Extractions (CRM Autofill Data)
Endpoint:GET /v1/core/entities/extractions/{recordingId} • Full docs
Base URL: https://siro-gateway-867voja4.uc.gateway.dev
Note: This base URL is different from other API endpoints.
Authentication: Use OAuth access token (header: x-siro-auth-token)
Response example:
4.3 Get Recording Summaries
Endpoint:GET /v1/core/recordings/{recordingId}/summaries
Response:
Auto Start/Stop via Deep Linking (Optional)
Start Siro recordings directly from your mobile app: URL format:appointmentId to link the recording to the engagement and opportunityId to link the associated opportunity immediately.
Next Steps
- Test it: Sync a test appointment, record a conversation at that time, and verify CRM context appears
- Automate syncs: Use real-time webhooks (recommended) or batch jobs every 10 minutes
- Custom fields: Work with your CSM to configure custom entity extraction fields
- Troubleshoot: If recordings aren’t linking, check Settings → Users to verify email mappings
- Train your team: Show reps how recordings link to CRM records