#
Action1 RMM
Monitor all your managed endpoints, organizations, and system health across your MSP clients in one unified dashboard.
#
Overview
Connect Weavestream to Action1 RMM to monitor:
- 💻 Managed Endpoints - All devices across all organizations
- 🏢 Organizations - Your MSP client list
- 🔴 Endpoint Status - Online/offline, last seen timestamps
- 💾 System Information - OS versions, hardware details
- 🔧 Device Health - Alerts and system status
Estimated Setup Time: 10 minutes
#
Prerequisites
- Action1 account with admin access
- At least one organization with managed endpoints
- Weavestream installed on your Mac
#
Part 1: Generate Action1 API Credentials
#
Step 1: Sign into Action1
- Go to https://app.action1.com
- Sign in with your Action1 account
#
Step 2: Navigate to API Settings
- Click on your profile icon (top right)
- Select "Settings"
- In the left sidebar, click "API" or "Integrations"
#
Step 3: Create API Application
- Click "Create Application" or "New API Key"
- Fill in the application details:
- Name:
Weavestream Monitor - Description:
API access for Weavestream monitoring dashboard - Permissions: Select:
- ✅ Read Endpoints (or "View Devices")
- ✅ Read Organizations
- ✅ Read System Information
- ❌ Don't select write/delete permissions (read-only is safer)
- Name:
- Click "Create" or "Generate"
#
Step 4: Copy Your Credentials
After creation, you'll see:
📋 Client ID
- Example:
a1b2c3d4-e5f6-7890-abcd-ef1234567890 - Copy this value
📋 Client Secret
- Example:
AbCdEf123456789XyZ... - ⚠️ IMPORTANT: Copy this immediately - you won't see it again!
Save these credentials securely - you'll need them for Weavestream.
#
Part 2: Configure Weavestream
#
Step 1: Add Action1 as a Source
- Open Weavestream
- Click the "+" button in the sidebar
- Select "Add Source"
- Fill in the source details:
- Name:
Action1 - Base URL:
https://app.action1.com/api/3.0 - Auth Type:
OAuthorClient Credentials - OAuth Flow Type:
Client Credentials - Token URL:
https://app.action1.com/api/3.0/oauth2/token - Client ID: Paste your Client ID
- Client Secret: Paste your Client Secret
- Scopes: (leave empty)
- Use Basic Auth: No (unchecked)
- Icon: Select
laptopcomputerorserver.rack - Color: Choose your preference (suggested:
#007AFF- blue, or#FF6B35- Action1 orange) - Refresh Interval:
15minutes (for real-time monitoring)
- Name:
- Click "Add" or "Save"
#
Step 2: Add Endpoints
Now we'll add endpoints to monitor different aspects of your Action1 environment.
#
Endpoint 1: Organizations (Client List)
Monitor all your MSP client organizations.
Configuration:
- Name:
Organizations - Path:
/organizations - Method:
GET - Query Parameters: (none needed)
Field Mapping:
- ID Field:
id - Title Field:
name - Date Field: (none - use sync time)
- Summary Fields:
description - Status Field: (none)
Retention Mode: Archive on Sync (keeps history)
#
Endpoint 2: All Managed Endpoints
Get all devices across all organizations.
Configuration:
- Name:
All Managed Endpoints - Path:
/endpoints/managed - Method:
GET
Query Parameters:
fields:*(returns all available fields)
Optional Parameters:
filter:status eq 'online'(only online endpoints)limit:1000(max results per request)
Field Mapping:
- ID Field:
id - Title Field:
name - Date Field:
last_seen(last check-in time) - Summary Fields:
OS,ip_address,domain - Status Field:
status- Map
online→ok - Map
offline→critical - Map
unknown→unknown
- Map
Retention Mode: Archive on Sync
#
Endpoint 3: Specific Organization Endpoints
Monitor devices for a specific client. You'll need the organization ID.
How to Get Organization ID:
- First sync the "Organizations" endpoint
- Find your organization in the list
- Note the
idfield value
Configuration:
- Name:
[Organization Name] Endpoints(e.g., "Acme Corp Endpoints") - Path:
/endpoints/managed/{ORGANIZATION_ID}
Replace {ORGANIZATION_ID} with actual ID:
- Example:
/endpoints/managed/0d1c8d70-83e1-11ef-8ff3-b7b4c2126c06
Query Parameters:
fields:*
Field Mapping:
- ID Field:
id - Title Field:
name - Date Field:
last_seen - Summary Fields:
OS,ip_address,agent_version - Status Field:
status
Retention Mode: Keep All or Archive on Sync
Repeat this for each organization you want to monitor separately.
#
Endpoint 4: Offline Endpoints (All Orgs)
Quickly see which devices are offline across all clients.
Configuration:
- Name:
Offline Endpoints - Path:
/endpoints/managed - Method:
GET
Query Parameters:
fields:*filter:status eq 'offline'
Field Mapping: Same as "All Managed Endpoints"
#
Endpoint 5: Recently Added Endpoints
See newly added devices (last 7 days).
Configuration:
- Name:
Recently Added Endpoints - Path:
/endpoints/managed - Method:
GET
Query Parameters:
fields:*filter:created_at gt '2024-01-26T00:00:00Z'
Note: Update the date filter to 7 days ago from current date.
#
Endpoint 6: Endpoints Needing Updates
Devices with pending Windows updates or agent updates.
Configuration:
- Name:
Updates Pending - Path:
/endpoints/managed - Method:
GET
Query Parameters:
fields:*filter:pending_updates_count gt 0
Field Mapping:
- Same as standard endpoints
- Add to Summary:
pending_updates_count
#
Part 3: Understanding Action1 API Fields
When you sync endpoints, you'll get data like:
{
"id": "abc-123",
"name": "WORKSTATION-01",
"status": "online",
"last_seen": "2024-01-26T14:30:00Z",
"OS": "Windows 11 Pro",
"OS_version": "10.0.22621",
"domain": "ACMECORP",
"ip_address": "192.168.1.100",
"agent_version": "3.5.2",
"organization_id": "org-456",
"organization_name": "Acme Corp",
"cpu": "Intel Core i7-12700",
"ram_gb": 32,
"disk_free_gb": 450,
"pending_updates_count": 5,
"created_at": "2024-01-15T10:00:00Z"
}
Useful fields to map:
- Title:
name(computer name) - Date:
last_seen(last check-in) - Summary:
OS,organization_name,ip_address,domain - Status:
status(online/offline)
#
Part 4: Create Useful Filters
#
Filter 1: Offline Devices (Any Org)
- Under Action1 source, click "+" → "New Filter"
- Name:
Offline Devices - Select Endpoints: All endpoint types
- Add Condition:
- Field:
status - Operator:
equals - Value:
offline
- Field:
- Save
#
Filter 2: Not Seen in 24 Hours
- Create new filter
- Name:
Missing 24+ Hours - Select Endpoints: All endpoints
- Add Condition:
- Field:
last_seen - Operator:
not in last - Value:
24 hours
- Field:
- Save
#
Filter 3: Windows 10 Devices (Need Upgrade)
- Create new filter
- Name:
Windows 10 Devices - Select Endpoints: All endpoints
- Add Condition:
- Field:
OS - Operator:
contains - Value:
Windows 10
- Field:
- Save
#
Filter 4: Critical Clients (Multiple Offline)
This is more complex - you might need AI to help identify patterns.
Alternative: Create separate filters per critical client:
- Name:
[Client Name] - Offline - Select Endpoint: That client's specific endpoint
- Add Condition:
statusequalsoffline
#
Filter 5: Low Disk Space
- Create new filter
- Name:
Low Disk Space (<50GB) - Select Endpoints: All endpoints
- Add Condition:
- Field:
disk_free_gb - Type: Number
- Operator:
less than - Value:
50
- Field:
- Save
#
Part 5: Use AI to Monitor Your Fleet
Now you can ask intelligent questions about your managed endpoints!
#
Example Questions:
Status Monitoring:
- "How many devices are offline right now?"
- "Which clients have the most offline devices?"
- "Show me devices that haven't checked in today"
- "What's the overall health of my fleet?"
Organization Management:
- "How many endpoints does Acme Corp have?"
- "Which organization has the most devices?"
- "Compare endpoint counts across all my clients"
System Analysis:
- "Show me all Windows 10 devices"
- "Which endpoints need the most updates?"
- "Find devices with low disk space"
- "What's the most common OS version?"
Troubleshooting:
- "Why are so many devices offline at Acme Corp?"
- "Show me devices that went offline today"
- "Which endpoints have been offline the longest?"
Reporting:
- "Create a summary of my MSP environment"
- "List all endpoints for [client name]"
- "Generate a health report for all organizations"
#
Part 6: Advanced Configuration
#
Filter API Responses
Action1 API supports OData filtering. Use the filter query parameter:
Filter Syntax:
field eq 'value' - Equals
field ne 'value' - Not equals
field gt 100 - Greater than
field lt 100 - Less than
field contains 'text' - Contains substring
Combine filters with AND/OR:
status eq 'offline' and last_seen lt '2024-01-25T00:00:00Z'
Examples:
Only Windows devices:
filter: OS contains 'Windows'
Only online devices:
filter: status eq 'online'
Critical disk space:
filter: disk_free_gb lt 20
Specific organization:
filter: organization_id eq '0d1c8d70-83e1-11ef-8ff3-b7b4c2126c06'
#
Pagination
Action1 API uses cursor-based pagination.
Query Parameters:
limit: Number of results per page (max 1000)offset: Skip first N resultscursor: For next page (returned in response)
Example:
/endpoints/managed?limit=100&offset=0
For large fleets, Weavestream will automatically paginate through all results.
#
Include Additional Fields
By default, only basic fields are returned. Use fields parameter to get more:
All fields:
fields: *
Specific fields only:
fields: id,name,status,last_seen,OS
Performance tip: Request only fields you need for faster responses.
#
Part 7: Multi-Organization Setup
For MSPs with many clients, you have two approaches:
#
Approach 1: Single Endpoint for All (Simpler)
- One endpoint:
/endpoints/managed - Use filters to segment by organization
- AI can query across all clients
Pros:
- Easier setup
- One place for all data
- Better for cross-client queries
Cons:
- Can't set different refresh intervals per client
- Large data volume in one endpoint
#
Approach 2: Separate Endpoints Per Client (More Control)
- One endpoint per organization:
/endpoints/managed/{org_id} - Each client gets its own list in sidebar
- Can set different retention/refresh per client
Pros:
- Better organization in UI
- Can prioritize critical clients (faster refresh)
- Cleaner separation
Cons:
- More setup work
- More API calls
Recommended: Start with Approach 1, migrate to Approach 2 as you scale.
#
Troubleshooting
#
Issue: "Authentication failed" or "Invalid credentials"
Solution:
- Verify Client ID and Client Secret are correct
- Check that OAuth flow type is set to
Client Credentials - Ensure Token URL is
https://app.action1.com/api/3.0/oauth2/token - Verify "Use Basic Auth" is unchecked
- Make sure your API application has proper permissions in Action1
#
Issue: "No endpoints returned"
Solution:
- Verify you have managed endpoints in Action1
- Check organization ID is correct in path
- Remove any filters temporarily to test
- Ensure API permissions include "Read Endpoints"
#
Issue: "401 Unauthorized"
Solution:
- Token may have expired - Weavestream should auto-refresh
- Check API application is still active in Action1
- Verify permissions haven't been revoked
- Try creating a new API application
#
Issue: "Status not mapping correctly"
Solution: Action1 status values might be different. Check raw JSON to see actual values:
- Common values:
online,offline,unknown,pending - Update status mappings in Weavestream accordingly
#
Issue: "Organization ID not found"
Solution:
- Sync "Organizations" endpoint first
- Check organization still exists in Action1
- Verify you have access to that organization
- Use the
idfield, not thename
#
Issue: "Too many API calls / Rate limited"
Solution:
- Increase refresh interval (15 min → 30 min)
- Reduce number of endpoints
- Use filters to limit data instead of multiple endpoints
- Set max items per sync lower
#
API Rate Limits
Action1 API limits (check your plan):
- Standard: ~100 requests per minute
- Enterprise: Higher limits
Best practices:
- Don't set refresh interval below 15 minutes
- Use filters to reduce data volume
- Monitor your API usage in Action1 dashboard
#
Security Best Practices
#
✅ Do:
- Use read-only API permissions (no write access needed)
- Rotate Client Secret every 90 days
- Store credentials securely (Weavestream uses macOS Keychain)
- Create separate API applications per integration
- Monitor API usage regularly
#
❌ Don't:
- Grant write/delete permissions unless absolutely necessary
- Share Client Secret with anyone
- Use the same API key for multiple purposes
- Store credentials in plain text
- Leave inactive API applications enabled
#
Additional Action1 Endpoints
Here are more endpoints you can add:
#
Software Inventory
Path: /endpoints/managed/{endpoint_id}/software
Get installed software on a specific endpoint.
#
Policies
Path: /policies
List all policies applied across organizations.
#
Groups
Path: /groups
Get endpoint groups for organizing devices.
#
Users
Path: /users
List Action1 users and their roles.
#
Audit Log
Path: /audit-log
Track changes and actions in your Action1 environment.
#
Integration with Other Tools
Action1 works great alongside:
NinjaOne/Datto/ConnectWise:
- Cross-reference devices between RMM platforms
- Compare endpoint counts and coverage
- Validate monitoring across tools
Azure/Microsoft 365:
- Match endpoints to Azure AD devices
- Verify domain-joined status
- Cross-reference with Intune
Backup Solutions:
- Identify endpoints missing from backup
- Verify backup coverage across all devices
#
Summary Checklist
Before you finish, verify:
- ✅ Action1 API application created with read permissions
- ✅ Client ID and Client Secret saved securely
- ✅ Action1 source added to Weavestream with OAuth
- ✅ Organizations endpoint syncing successfully
- ✅ At least one managed endpoints endpoint configured
- ✅ Field mappings working (device names and statuses visible)
- ✅ Smart filters created for offline devices, updates, etc.
- ✅ Tested AI questions about your endpoint fleet
You're all set! Monitor your entire MSP fleet from one dashboard. 🚀
#
Pro Tips for MSPs
Tip 1: Priority Clients Create separate endpoints for VIP clients with 5-minute refresh intervals for real-time monitoring.
Tip 2: Morning Health Check Create a filter: "Offline since yesterday" to catch overnight issues first thing.
Tip 3: Compliance Reporting Use AI to generate monthly reports: "Summarize endpoint health for all organizations this month"
Tip 4: Proactive Monitoring Set up filters for common issues:
- Low disk space (<50GB)
- Outdated OS versions
- Devices not seen in 48+ hours
- High pending update counts
Tip 5: Client Handoff Export organization-specific views for client reports or handoff documentation.
Last updated: February 2026 Action1 API version: 3.0 Monitor all your managed endpoints, organizations, and system health across your MSP clients in one unified dashboard.
#
Overview
Connect Weavestream to Action1 RMM to monitor:
- 💻 Managed Endpoints - All devices across all organizations
- 🏢 Organizations - Your MSP client list
- 🔴 Endpoint Status - Online/offline, last seen timestamps
- 💾 System Information - OS versions, hardware details
- 🔧 Device Health - Alerts and system status
Estimated Setup Time: 10 minutes
#
Prerequisites
- Action1 account with admin access
- At least one organization with managed endpoints
- Weavestream installed on your Mac
#
Part 1: Generate Action1 API Credentials
#
Step 1: Sign into Action1
- Go to https://app.action1.com
- Sign in with your Action1 account
#
Step 2: Navigate to API Settings
- Click on your profile icon (top right)
- Select "Settings"
- In the left sidebar, click "API" or "Integrations"
#
Step 3: Create API Application
- Click "Create Application" or "New API Key"
- Fill in the application details:
- Name:
Weavestream Monitor - Description:
API access for Weavestream monitoring dashboard - Permissions: Select:
- ✅ Read Endpoints (or "View Devices")
- ✅ Read Organizations
- ✅ Read System Information
- ❌ Don't select write/delete permissions (read-only is safer)
- Name:
- Click "Create" or "Generate"
#
Step 4: Copy Your Credentials
After creation, you'll see:
📋 Client ID
- Example:
a1b2c3d4-e5f6-7890-abcd-ef1234567890 - Copy this value
📋 Client Secret
- Example:
AbCdEf123456789XyZ... - ⚠️ IMPORTANT: Copy this immediately - you won't see it again!
Save these credentials securely - you'll need them for Weavestream.
#
Part 2: Configure Weavestream
#
Step 1: Add Action1 as a Source
- Open Weavestream
- Click the "+" button in the sidebar
- Select "Add Source"
- Fill in the source details:
- Name:
Action1 - Base URL:
https://app.action1.com/api/3.0 - Auth Type:
OAuthorClient Credentials - OAuth Flow Type:
Client Credentials - Token URL:
https://app.action1.com/api/3.0/oauth2/token - Client ID: Paste your Client ID
- Client Secret: Paste your Client Secret
- Scopes: (leave empty)
- Use Basic Auth: No (unchecked)
- Icon: Select
laptopcomputerorserver.rack - Color: Choose your preference (suggested:
#007AFF- blue, or#FF6B35- Action1 orange) - Refresh Interval:
15minutes (for real-time monitoring)
- Name:
- Click "Add" or "Save"
#
Step 2: Add Endpoints
Now we'll add endpoints to monitor different aspects of your Action1 environment.
#
Endpoint 1: Organizations (Client List)
Monitor all your MSP client organizations.
Configuration:
- Name:
Organizations - Path:
/organizations - Method:
GET - Query Parameters: (none needed)
Field Mapping:
- ID Field:
id - Title Field:
name - Date Field: (none - use sync time)
- Summary Fields:
description - Status Field: (none)
Retention Mode: Archive on Sync (keeps history)
#
Endpoint 2: All Managed Endpoints
Get all devices across all organizations.
Configuration:
- Name:
All Managed Endpoints - Path:
/endpoints/managed - Method:
GET
Query Parameters:
fields:*(returns all available fields)
Optional Parameters:
filter:status eq 'online'(only online endpoints)limit:1000(max results per request)
Field Mapping:
- ID Field:
id - Title Field:
name - Date Field:
last_seen(last check-in time) - Summary Fields:
OS,ip_address,domain - Status Field:
status- Map
online→ok - Map
offline→critical - Map
unknown→unknown
- Map
Retention Mode: Archive on Sync
#
Endpoint 3: Specific Organization Endpoints
Monitor devices for a specific client. You'll need the organization ID.
How to Get Organization ID:
- First sync the "Organizations" endpoint
- Find your organization in the list
- Note the
idfield value
Configuration:
- Name:
[Organization Name] Endpoints(e.g., "Acme Corp Endpoints") - Path:
/endpoints/managed/{ORGANIZATION_ID}
Replace {ORGANIZATION_ID} with actual ID:
- Example:
/endpoints/managed/0d1c8d70-83e1-11ef-8ff3-b7b4c2126c06
Query Parameters:
fields:*
Field Mapping:
- ID Field:
id - Title Field:
name - Date Field:
last_seen - Summary Fields:
OS,ip_address,agent_version - Status Field:
status
Retention Mode: Keep All or Archive on Sync
Repeat this for each organization you want to monitor separately.
#
Endpoint 4: Offline Endpoints (All Orgs)
Quickly see which devices are offline across all clients.
Configuration:
- Name:
Offline Endpoints - Path:
/endpoints/managed - Method:
GET
Query Parameters:
fields:*filter:status eq 'offline'
Field Mapping: Same as "All Managed Endpoints"
#
Endpoint 5: Recently Added Endpoints
See newly added devices (last 7 days).
Configuration:
- Name:
Recently Added Endpoints - Path:
/endpoints/managed - Method:
GET
Query Parameters:
fields:*filter:created_at gt '2024-01-26T00:00:00Z'
Note: Update the date filter to 7 days ago from current date.
#
Endpoint 6: Endpoints Needing Updates
Devices with pending Windows updates or agent updates.
Configuration:
- Name:
Updates Pending - Path:
/endpoints/managed - Method:
GET
Query Parameters:
fields:*filter:pending_updates_count gt 0
Field Mapping:
- Same as standard endpoints
- Add to Summary:
pending_updates_count
#
Part 3: Understanding Action1 API Fields
When you sync endpoints, you'll get data like:
{
"id": "abc-123",
"name": "WORKSTATION-01",
"status": "online",
"last_seen": "2024-01-26T14:30:00Z",
"OS": "Windows 11 Pro",
"OS_version": "10.0.22621",
"domain": "ACMECORP",
"ip_address": "192.168.1.100",
"agent_version": "3.5.2",
"organization_id": "org-456",
"organization_name": "Acme Corp",
"cpu": "Intel Core i7-12700",
"ram_gb": 32,
"disk_free_gb": 450,
"pending_updates_count": 5,
"created_at": "2024-01-15T10:00:00Z"
}
Useful fields to map:
- Title:
name(computer name) - Date:
last_seen(last check-in) - Summary:
OS,organization_name,ip_address,domain - Status:
status(online/offline)
#
Part 4: Create Useful Filters
#
Filter 1: Offline Devices (Any Org)
- Under Action1 source, click "+" → "New Filter"
- Name:
Offline Devices - Select Endpoints: All endpoint types
- Add Condition:
- Field:
status - Operator:
equals - Value:
offline
- Field:
- Save
#
Filter 2: Not Seen in 24 Hours
- Create new filter
- Name:
Missing 24+ Hours - Select Endpoints: All endpoints
- Add Condition:
- Field:
last_seen - Operator:
not in last - Value:
24 hours
- Field:
- Save
#
Filter 3: Windows 10 Devices (Need Upgrade)
- Create new filter
- Name:
Windows 10 Devices - Select Endpoints: All endpoints
- Add Condition:
- Field:
OS - Operator:
contains - Value:
Windows 10
- Field:
- Save
#
Filter 4: Critical Clients (Multiple Offline)
This is more complex - you might need AI to help identify patterns.
Alternative: Create separate filters per critical client:
- Name:
[Client Name] - Offline - Select Endpoint: That client's specific endpoint
- Add Condition:
statusequalsoffline
#
Filter 5: Low Disk Space
- Create new filter
- Name:
Low Disk Space (<50GB) - Select Endpoints: All endpoints
- Add Condition:
- Field:
disk_free_gb - Type: Number
- Operator:
less than - Value:
50
- Field:
- Save
#
Part 5: Use AI to Monitor Your Fleet
Now you can ask intelligent questions about your managed endpoints!
#
Example Questions:
Status Monitoring:
- "How many devices are offline right now?"
- "Which clients have the most offline devices?"
- "Show me devices that haven't checked in today"
- "What's the overall health of my fleet?"
Organization Management:
- "How many endpoints does Acme Corp have?"
- "Which organization has the most devices?"
- "Compare endpoint counts across all my clients"
System Analysis:
- "Show me all Windows 10 devices"
- "Which endpoints need the most updates?"
- "Find devices with low disk space"
- "What's the most common OS version?"
Troubleshooting:
- "Why are so many devices offline at Acme Corp?"
- "Show me devices that went offline today"
- "Which endpoints have been offline the longest?"
Reporting:
- "Create a summary of my MSP environment"
- "List all endpoints for [client name]"
- "Generate a health report for all organizations"
#
Part 6: Advanced Configuration
#
Filter API Responses
Action1 API supports OData filtering. Use the filter query parameter:
Filter Syntax:
field eq 'value' - Equals
field ne 'value' - Not equals
field gt 100 - Greater than
field lt 100 - Less than
field contains 'text' - Contains substring
Combine filters with AND/OR:
status eq 'offline' and last_seen lt '2024-01-25T00:00:00Z'
Examples:
Only Windows devices:
filter: OS contains 'Windows'
Only online devices:
filter: status eq 'online'
Critical disk space:
filter: disk_free_gb lt 20
Specific organization:
filter: organization_id eq '0d1c8d70-83e1-11ef-8ff3-b7b4c2126c06'
#
Pagination
Action1 API uses cursor-based pagination.
Query Parameters:
limit: Number of results per page (max 1000)offset: Skip first N resultscursor: For next page (returned in response)
Example:
/endpoints/managed?limit=100&offset=0
For large fleets, Weavestream will automatically paginate through all results.
#
Include Additional Fields
By default, only basic fields are returned. Use fields parameter to get more:
All fields:
fields: *
Specific fields only:
fields: id,name,status,last_seen,OS
Performance tip: Request only fields you need for faster responses.
#
Part 7: Multi-Organization Setup
For MSPs with many clients, you have two approaches:
#
Approach 1: Single Endpoint for All (Simpler)
- One endpoint:
/endpoints/managed - Use filters to segment by organization
- AI can query across all clients
Pros:
- Easier setup
- One place for all data
- Better for cross-client queries
Cons:
- Can't set different refresh intervals per client
- Large data volume in one endpoint
#
Approach 2: Separate Endpoints Per Client (More Control)
- One endpoint per organization:
/endpoints/managed/{org_id} - Each client gets its own list in sidebar
- Can set different retention/refresh per client
Pros:
- Better organization in UI
- Can prioritize critical clients (faster refresh)
- Cleaner separation
Cons:
- More setup work
- More API calls
Recommended: Start with Approach 1, migrate to Approach 2 as you scale.
#
Troubleshooting
#
Issue: "Authentication failed" or "Invalid credentials"
Solution:
- Verify Client ID and Client Secret are correct
- Check that OAuth flow type is set to
Client Credentials - Ensure Token URL is
https://app.action1.com/api/3.0/oauth2/token - Verify "Use Basic Auth" is unchecked
- Make sure your API application has proper permissions in Action1
#
Issue: "No endpoints returned"
Solution:
- Verify you have managed endpoints in Action1
- Check organization ID is correct in path
- Remove any filters temporarily to test
- Ensure API permissions include "Read Endpoints"
#
Issue: "401 Unauthorized"
Solution:
- Token may have expired - Weavestream should auto-refresh
- Check API application is still active in Action1
- Verify permissions haven't been revoked
- Try creating a new API application
#
Issue: "Status not mapping correctly"
Solution: Action1 status values might be different. Check raw JSON to see actual values:
- Common values:
online,offline,unknown,pending - Update status mappings in Weavestream accordingly
#
Issue: "Organization ID not found"
Solution:
- Sync "Organizations" endpoint first
- Check organization still exists in Action1
- Verify you have access to that organization
- Use the
idfield, not thename
#
Issue: "Too many API calls / Rate limited"
Solution:
- Increase refresh interval (15 min → 30 min)
- Reduce number of endpoints
- Use filters to limit data instead of multiple endpoints
- Set max items per sync lower
#
API Rate Limits
Action1 API limits (check your plan):
- Standard: ~100 requests per minute
- Enterprise: Higher limits
Best practices:
- Don't set refresh interval below 15 minutes
- Use filters to reduce data volume
- Monitor your API usage in Action1 dashboard
#
Security Best Practices
#
✅ Do:
- Use read-only API permissions (no write access needed)
- Rotate Client Secret every 90 days
- Store credentials securely (Weavestream uses macOS Keychain)
- Create separate API applications per integration
- Monitor API usage regularly
#
❌ Don't:
- Grant write/delete permissions unless absolutely necessary
- Share Client Secret with anyone
- Use the same API key for multiple purposes
- Store credentials in plain text
- Leave inactive API applications enabled
#
Additional Action1 Endpoints
Here are more endpoints you can add:
#
Software Inventory
Path: /endpoints/managed/{endpoint_id}/software
Get installed software on a specific endpoint.
#
Policies
Path: /policies
List all policies applied across organizations.
#
Groups
Path: /groups
Get endpoint groups for organizing devices.
#
Users
Path: /users
List Action1 users and their roles.
#
Audit Log
Path: /audit-log
Track changes and actions in your Action1 environment.
#
Import Template (Quick Setup)
Want to skip manual setup? Import the template from your uploaded file:
- In Weavestream, click "Import Source"
- Select the
Action1.weavestream.jsonfile - Update the Client ID and Client Secret
- Update organization IDs in endpoint paths
- Sync!
What's included:
- ✅ Organizations endpoint
- ✅ Three example organization-specific endpoints
- ✅ Pre-configured field mappings
- ✅ Proper OAuth settings
#
Integration with Other Tools
Action1 works great alongside:
NinjaOne/Datto/ConnectWise:
- Cross-reference devices between RMM platforms
- Compare endpoint counts and coverage
- Validate monitoring across tools
Azure/Microsoft 365:
- Match endpoints to Azure AD devices
- Verify domain-joined status
- Cross-reference with Intune
Backup Solutions:
- Identify endpoints missing from backup
- Verify backup coverage across all devices
#
Summary Checklist
Before you finish, verify:
- ✅ Action1 API application created with read permissions
- ✅ Client ID and Client Secret saved securely
- ✅ Action1 source added to Weavestream with OAuth
- ✅ Organizations endpoint syncing successfully
- ✅ At least one managed endpoints endpoint configured
- ✅ Field mappings working (device names and statuses visible)
- ✅ Smart filters created for offline devices, updates, etc.
- ✅ Tested AI questions about your endpoint fleet
You're all set! Monitor your entire MSP fleet from one dashboard. 🚀
#
Pro Tips for MSPs
Tip 1: Priority Clients Create separate endpoints for VIP clients with 5-minute refresh intervals for real-time monitoring.
Tip 2: Morning Health Check Create a filter: "Offline since yesterday" to catch overnight issues first thing.
Tip 3: Compliance Reporting Use AI to generate monthly reports: "Summarize endpoint health for all organizations this month"
Tip 4: Proactive Monitoring Set up filters for common issues:
- Low disk space (<50GB)
- Outdated OS versions
- Devices not seen in 48+ hours
- High pending update counts
Tip 5: Client Handoff Export organization-specific views for client reports or handoff documentation.
Last updated: February 2026 Action1 API version: 3.0