Trello (Atlassian)
This guide explains how to set up single sign-on (SSO) between SmartLink and Trello using SAML 2.0 via Atlassian Access.
Prerequisites
- Trello Enterprise subscription with Atlassian Access
- Administrator access to Atlassian Admin
- Domain verified in Atlassian
- Application configured in SmartLink with SAML2
Note: SSO for Trello requires Atlassian Access, available only with Enterprise plans.
Configuration in SmartLink
1. Create the application
- Log in to SmartLink as an administrator
- Go to Applications → Add
- Create a new application:
- Name: Trello
- URL:
https://trello.com - Description: Project management and collaboration
- Icon: Choose the Trello icon
2. Configure SAML2
- In the Authentication tab
- Select SAML2
- Configure the following parameters:
- Entity ID:
https://[your-smartlink].link.vaultys.org/[appid] - ACS URL:
https://auth.atlassian.com/login/callback - Format NameID:
emailAddress - App ID:
[appid](automatically generated unique identifier)
- Entity ID:
3. Retrieve metadata
Note the following URLs:
- IdP Metadata:
https://[your-smartlink].link.vaultys.org/api/saml2/[appid]/metadata - SSO URL:
https://[your-smartlink].link.vaultys.org/api/saml2/sso/[appid] - SLO URL:
https://[your-smartlink].link.vaultys.org/api/saml2/slo/[appid] - X.509 Certificate: Download from SmartLink
Configuration in Atlassian Access
1. Access Atlassian Admin
- Log in to admin.atlassian.com
- Select your organization
- Go to Security → Identity providers
2. Add a SAML identity provider
- Click on Add identity provider
- Select SAML single sign-on
- Configure the identity provider information:
Manual Configuration
- Identity provider Entity ID:
[appid] - SSO URL:
https://[your-smartlink].link.vaultys.org/api/saml2/sso/[appid] - Public x509 certificate: Paste the certificate from SmartLink
Or via Metadata URL
- Import from metadata URL:
https://[your-smartlink].link.vaultys.org/api/saml2/[appid]/metadata
3. Configure SAML attributes
Configure attribute mapping:
<AttributeStatement>
<Attribute Name="email">
<AttributeValue>user.email</AttributeValue>
</Attribute>
<Attribute Name="displayName">
<AttributeValue>user.displayName</AttributeValue>
</Attribute>
<Attribute Name="firstName">
<AttributeValue>user.firstName</AttributeValue>
</Attribute>
<Attribute Name="lastName">
<AttributeValue>user.lastName</AttributeValue>
</Attribute>
</AttributeStatement>
4. Domain configuration
- In Domains, add your enterprise domain
- Verify the domain via DNS (TXT record)
- Enable Enforce SSO for this domain
5. User assignment
- In Users, configure:
- Auto-provisioning: Enabled
- Just-in-time provisioning: Enabled
- Update user details on login: Enabled
Group configuration and permissions
Group synchronization
In SmartLink, configure SAML assertions to include groups:
<Attribute Name="groups">
<AttributeValue>smartlink-trello-admins</AttributeValue>
<AttributeValue>smartlink-trello-users</AttributeValue>
</Attribute>
Trello permissions mapping
In Atlassian Access:
- Directory → Groups
- Create mappings:
smartlink-trello-admins→ Workspace Adminsmartlink-trello-users→ Normal Usersmartlink-trello-guests→ Guest User
Workspace configuration
To automatically assign users to the correct workspaces:
- Products → Trello
- Workspace access
- Configure access by group
Security policy configuration
Session and authentication
- In Atlassian Access → Policies
- Configure:
- Session duration: 8 hours
- Require re-authentication: After 30 days
- Mobile session: 90 days
IP restrictions (optional)
{
"ip_allowlist": [
"203.0.113.0/24",
"198.51.100.0/24"
],
"enforce_for_admins": true
}
Configuration testing
1. Connection test
- Open a private browsing window
- Go to trello.com/login
- Enter your company email
- You should be redirected to SmartLink
- Authenticate with your SmartLink credentials
- You should be logged in to Trello
2. Test with the mobile application
- Open the Trello mobile application
- Tap on Log in
- Enter your company email
- The application opens a browser for authentication
- After logging in, you are redirected to the application
3. Permission verification
# Using the Trello API
curl -X GET "https://api.trello.com/1/members/me" \
-H "Authorization: OAuth oauth_consumer_key=\"{key}\", oauth_token=\"{token}\""
Integration with Power-Ups
Power-Ups configuration with SSO
For custom Power-Ups using authentication:
// Power-Up configuration with SSO
const t = window.TrelloPowerUp.iframe();
t.authorize({
url: 'https://[your-smartlink].link.vaultys.org/api/oidc/[appid]/authorize',
clientId: 'trello-powerup-xxxxxx',
scope: 'read,write',
expiration: '30days',
name: 'My Power-Up'
});
Automation with Butler
Butler configuration with SSO
Butler automations continue to work with SSO. For custom commands:
when a card is moved to list "Done" by anyone,
post comment "@{username} completed this task"
Troubleshooting
Error "SAML response validation failed"
Issue: The SAML response is not valid
Solution:
- Check the X.509 certificate
- Ensure the Entity ID matches in SmartLink:
[appid] - Check the logs in Atlassian Admin:
- Security → Authentication log
Error "User not found in directory"
Issue: User is not provisioned
Solution:
- Verify that the email domain is verified
- Enable Just-in-time provisioning
- Check the email attribute in the SAML assertion
Groups are not synchronized
Issue: Group permissions are not applied
Solution:
- Check the format of the
groupsattribute in the SAML assertion - In Atlassian Access, check Directory → Groups
- Ensure group names match exactly
Error on mobile "Authentication failed"
Issue: Authentication fails on the mobile application
Solution:
- Ensure the SSL certificate is valid
- Verify that the callback URL is allowed
- Try logging out completely and logging back in
Security
Recommendations
- Enforce SSO: Activate SSO for all users
- Domain verification: Verify all your enterprise domains
- Session management: Configure appropriate session durations
- Audit logs: Regularly monitor authentication logs
- API tokens: Manage API tokens separately from SSO
Compliance configuration
{
"compliance_settings": {
"data_residency": "EU",
"encryption_at_rest": true,
"audit_log_retention": "365 days",
"gdpr_compliant": true
}
}
Backup and recovery
In case of issues with SSO:
- Administrators can use the recovery email
- Atlassian Access maintains emergency access
- API tokens remain valid regardless of SSO
Integration with other Atlassian products
Jira and Confluence
The same SSO configuration automatically applies to:
- Jira Software/Service Management
- Confluence
- Bitbucket
- Opsgenie
Unified configuration
atlassian_products:
- trello:
enabled: true
default_workspace: "enterprise"
- jira:
enabled: true
default_project: "PROJ"
- confluence:
enabled: true
default_space: "DOCS"
Migration of existing users
Migration script
# Script to migrate users to SSO
import requests
def migrate_users_to_sso(domain):
# Get all users
users = get_all_users(domain)
for user in users:
if user['email'].endswith(f'@{domain}'):
# Enable SSO for the user
enable_sso_for_user(user['id'])
# Send migration email
send_migration_email(user['email'])