Service Integration Setup#
Each service integration requires an API token or key with read access. Add credentials in the Django Admin under Task Dashboard → Service Configurations, or set them as environment variables as a fallback.
The Admin Panel is the recommended approach — credentials are encrypted at rest
using EncryptedCharField.
To set up SSO mappings for these services, see Keycloak SSO Setup.
Zammad#
Required fields: API URL, API Token
In Zammad, go to Profile → Token Access.
Click Create and give it a descriptive name (e.g.
task-dashboard).Enable the permission
ticket.reader(read-only is sufficient).Copy the generated token.
Admin Panel fields:
API URL — your Zammad base URL, e.g.
https://support.example.comAPI Token — the token from step 3
GitLab#
Required fields: API URL, API Token
In GitLab, go to User Settings → Access Tokens (or use a Group/Project token for narrower scope).
Create a token with the
read_apiscope.Copy the token.
Admin Panel fields:
API URL — your GitLab base URL, e.g.
https://gitlab.comor a self-hosted instanceAPI Token — the token from step 2
EspoCRM#
Required fields: API URL, API Key
In EspoCRM Admin, go to Administration → API Users.
Create an API user and assign it to a role with read access to
CasesandTasks.On the API User record, generate an API Key from the Security tab.
Admin Panel fields:
API URL — your EspoCRM base URL, e.g.
https://crm.example.comAPI Key — the key from step 3
OpenProject#
Required fields: API URL, API Key (Password field)
In OpenProject, go to My Account → Access Tokens.
Click Generate next to API access token.
Copy the token.
Admin Panel fields:
API URL — your OpenProject base URL, e.g.
https://project.example.comAPI Password — the token from step 2 (OpenProject uses HTTP Basic auth with
apikey:<token>)
Optional: If your OpenProject is behind a reverse proxy that rewrites the
Host header, set the environment variable
OPENPROJECT_HOST_HEADER=<original-hostname> so API requests carry the
correct host.
Eramba#
Required fields: API URL, API Key (username), API Password
In Eramba, go to Settings → API Users and create a dedicated API user.
The username and password for this user are used for HTTP Basic auth.
Admin Panel fields:
API URL — your Eramba base URL, e.g.
https://eramba.example.comAPI Key — the API user’s username
API Password — the API user’s password
Optional: Set ERAMBA_OPEN_TASK_FUTURE_WINDOW_DAYS (default 30) to
control how many days into the future a planned task is still treated as “open”.
Testing Connectivity#
After saving a Service Configuration, use the Check Health button in the Admin Panel (or the service card on the dashboard) to verify the credentials work and measure response latency.
Use the Force Refresh button on the dashboard to trigger an immediate sync rather than waiting for the background worker’s next run.