I think we’re circling around the root issue here. Let me break down the complete solution since I’ve implemented this exact scenario for three clients:
Understanding the Three-Layer Security Model:
Zendesk Sell’s field-level encryption uses a three-layer approach that all must align:
- Export tool permissions (user can initiate exports)
- Decryption policy grants (user can decrypt specific field tiers)
- Trusted consumer registration (external system can receive decrypted data)
Complete Fix for Your Scenario:
Layer 1 - Decryption Policy Setup:
Navigate to Security Settings > Field Encryption > Decryption Policies. Create or modify a policy for your analytics team:
{
"policyName": "Analytics_Decrypt_Policy",
"fieldTiers": ["standard", "sensitive"],
"grantedRoles": ["analytics_team", "report_viewer"],
"auditLogging": true
}
The phone_number field failing indicates it’s in the “sensitive” tier. You need to explicitly add that tier to your policy.
Layer 2 - Trusted Consumer Registration:
For Tableau integration, register it in Integration Hub > Trusted Applications:
- Application Name: Tableau Analytics
- OAuth Client ID: (your Tableau client ID)
- Required Scopes:
read_campaigns, decrypt_fields, `export_data
- Allowed Export Formats: JSON, CSV
Layer 3 - API Export Configuration:
When making API calls from Tableau, ensure you’re passing the decryption intent header:
GET /api/v2/campaigns/export
Authorization: Bearer {token}
X-Decrypt-Intent: analytics_reporting
X-Field-Tiers: standard,sensitive
Field-Level Encryption Audit:
Before finalizing, run the encryption audit to verify field tier assignments:
- Go to Admin > Data Governance > Encryption Audit
- Filter by Module: Marketing Campaigns
- Review tier assignments for customer_email, phone_number, engagement_score
- If any fields are in “restricted” tier and shouldn’t be, submit a reclassification request
Decryption Policy Best Practices:
- Use role-based grants rather than individual user grants
- Enable audit logging for all decryption events (compliance requirement)
- Set policy expiration reviews (we do quarterly)
- Document business justification for each tier access
Monitoring Post-Implementation:
Set up alerts in Admin > Monitoring > Decryption Events to track:
- Failed decryption attempts
- Unusual export volumes
- Policy violation attempts
This should resolve both your immediate export failures and establish proper governance for future analytics workflows. The key insight is that field-level encryption, export permissions, and API consumer trust are independent security layers that must all be configured correctly. Most implementations miss the trusted consumer registration step, which is why you’re seeing partial success.
One final note: if you’re still seeing issues after this setup, check your Zendesk Sell version’s encryption feature flags. ZS2023 introduced some changes to how decryption policies inherit from parent roles, so verify your analytics role isn’t being blocked by a conflicting parent role policy.