QANode Logo

Administration

The administration section allows managing users, roles, permissions, SMTP settings, alarms, webhooks, audit logging, and licensing.

Access it through the gear icon (⚙️) in the side menu → Settings.


Users

Inviting Users

  1. Go to SettingsUsers
  2. Click Invite User
  3. Fill in:
    • Email: New user's email address
    • Role: Assigned role (defines permissions)
  4. An invitation email will be sent with an activation link

Requirement: SMTP must be configured for sending invitations.

Bulk Import

To register multiple users at once:

  1. Go to SettingsUsers
  2. Click the import icon (next to the invite button)
  3. Download the Excel template by clicking Download Template
  4. Fill in the spreadsheet with user data:
ColumnDescription
nameUser's full name
emailUser's email address
roleRole name (e.g.: Admin, Architect, Tester)
  1. Upload the Excel file (.xlsx or .xls) by dragging it to the designated area or clicking to select
  2. The system will process each row and send invitation emails

After processing, a summary is displayed showing:

  • Number of users successfully imported
  • List of failures with the row number, email, and reason for the error (e.g.: email already exists, role not found, missing required fields)

Note: The import respects the license's user limit. If the file contains more users than the plan allows, the system will notify you and offer the option to import only up to the available limit.

Managing Users

In the user list you can:

ActionDescription
Activate/DeactivateEnables or disables user access
Change RoleChanges the user's role (and permissions)
DeletePermanently removes the user

User Status

StatusDescription
ActiveUser with normal access
InactiveAccess blocked
PendingInvitation sent, awaiting activation

Roles and Permissions

System Roles

QANode includes predefined roles that cannot be removed:

RoleDescription
Super AdminFull access to all features
AdminAdministrative access
ArchitectProject administration access
TesterScenario and execution access

Custom Roles

Create roles with specific permissions:

  1. Go to SettingsRoles and Permissions
  2. Click + New Role
  3. Define the name, table view, and select the permissions

Table View

When creating or editing a role, the Table View field defines which database tables are accessible in the query builder of custom dashboards. This controls what the user can query when creating widgets with SQL queries or exploring data in dashboards.

ProfileAccessible Tables
adminAll tables: Projects, Flows, Suites, Runs, Run Steps, Variables, Credentials, Users, Roles, Audit Log
architectProjects, Flows, Suites, Runs, Run Steps, Variables
testerProjects, Flows, Suites, Runs, Run Steps
noneNo tables — query builder disabled

Note: Sensitive columns (passwords, tokens, encrypted data) are automatically hidden, regardless of the view profile.

Default profiles for system roles

System RoleTable View
Super Adminadmin
Adminadmin
Architectarchitect
Testertester

Complete Permissions List

Scenarios (Flows)

PermissionDescription
flow.viewView scenarios — allows seeing the list and details of scenarios
flow.createCreate scenarios
flow.edit.ownEdit own scenarios (created by the user)
flow.edit.allEdit any scenario (including those of other users)
flow.delete.ownDelete own scenarios
flow.delete.allDelete any scenario
flow.runExecute scenarios

Projects

PermissionDescription
project.viewView projects — allows seeing the list and details of projects
project.createCreate projects
project.edit.ownEdit own projects (created by the user)
project.edit.allEdit any project
project.archiveArchive projects
project.deletePermanently delete projects

Suites

PermissionDescription
suite.viewView suites — allows seeing the list and details of suites
suite.createCreate suites
suite.editEdit suites
suite.deleteDelete suites
suite.runExecute suites

Executions (Runs)

PermissionDescription
run.viewView own executions — allows seeing the execution history of the user
run.view.allView all executions — allows seeing executions from all users
run.cancelCancel ongoing executions
run.deleteDelete execution records

Variables

PermissionDescription
variable.viewView variables — allows seeing the variable list
variable.createCreate variables
variable.editEdit variables
variable.deleteDelete variables
variable.view.secretView secret values — allows revealing the value of variables marked as secret

Credentials

PermissionDescription
credential.viewView credentials — allows seeing the list of registered credentials
credential.createCreate credentials
credential.editEdit credentials
credential.deleteDelete credentials

Providers

PermissionDescription
provider.viewView providers
provider.createRegister providers
provider.editEdit providers
provider.deleteRemove providers

Reports

PermissionDescription
report.viewView reports — allows accessing PDF reports generated in executions
report.exportExport reports — allows downloading reports as PDF

Dashboards

PermissionDescription
dashboard.viewView dashboards — allows accessing and viewing existing dashboards
dashboard.createCreate custom dashboards
dashboard.editEdit dashboards
dashboard.deleteDelete dashboards
dashboard.shareShare dashboards — allows making dashboards public or sharing with specific roles
dashboard.sqlExecute SQL — allows using direct SQL queries in the widget query builder

Webhooks

PermissionDescription
webhook.viewView webhooks
webhook.createCreate webhooks
webhook.editEdit webhooks
webhook.deleteDelete webhooks

Users

PermissionDescription
user.viewView user list
user.inviteInvite new users — sends invitation email with activation link
user.editEdit user data (change role, information)
user.deletePermanently delete users
user.deactivateDeactivate/activate users — blocks or restores access without deleting

Roles

PermissionDescription
role.viewView roles
role.createCreate roles
role.editEdit roles
role.deleteDelete roles

Settings

PermissionDescription
settings.viewView settings — basic access to the settings page
settings.smtpConfigure SMTP — allows changing email settings
settings.mfaConfigure MFA — allows managing two-factor authentication
settings.auditView audit — access to the audit log
settings.report_templateManage report templates — allows creating and editing PDF templates

SMTP Configuration

For sending emails (invitations, reports, alarms):

  1. Go to SettingsSMTP
  2. Fill in:
FieldDescription
HostSMTP server (e.g.: smtp.gmail.com)
PortServer port
SecuritySTARTTLS (587), TLS/SSL (465) or None
UserAuthentication email/username
PasswordEmail password
SenderSending address (from)
  1. Click Save — the system tests the connection automatically

Alarms

Configure automatic notifications for suite failures:

  1. Go to SettingsAlarms
  2. Configure:
    • Monitored suites — which suites trigger an alarm
    • Recipients — who receives the notification
    • Condition — when to notify (failure, always, etc.)

Requirement: SMTP must be configured for sending alarms by email.


Webhooks

Webhooks allow automatically sending HTTP POST notifications to external services when execution events occur. Each user manages their own webhooks independently.

Configuring Webhooks

  1. Go to SettingsWebhooks
  2. Click + New Webhook
  3. Fill in:
FieldDescription
NameWebhook identifier name
URLHTTP/HTTPS address that will receive the POST
Secret(Optional) HMAC key for payload signing
EventsWhich events trigger the webhook
ScopeFilter by specific project, suite, or scenario

Available Events

EventDescription
run.completedScenario execution completed (success or failure)
run.successScenario execution completed successfully
run.failedScenario execution completed with failure
suite.completedSuite execution completed (success or failure)
suite.successSuite execution completed successfully
suite.failedSuite execution completed with failure

Scope (Filters)

You can filter webhooks to trigger only in specific contexts:

  • Project — Only executions from a specific project
  • Suite — Only executions from a specific suite
  • Scenario — Only executions from a specific scenario

When selecting a project, suites and scenarios are filtered to show only those belonging to that project. When selecting a suite, the scenario filter is hidden.

Webhook Payload

The POST body sent contains:

{
  "event": "run.completed",
  "timestamp": "2026-02-13T10:30:00.000Z",
  "data": {
    "runId": "uuid",
    "flowId": "uuid",
    "flowName": "Nome do Cenário",
    "suiteId": "uuid",
    "suiteName": "Nome da Suíte",
    "projectId": "uuid",
    "projectName": "Nome do Projeto",
    "status": "success",
    "durationMs": 1234,
    "executor": "Nome do Usuário",
    "errorSummary": null
  }
}

HMAC Signature

If the Secret field is filled in, QANode adds the X-QANode-Signature header with the HMAC-SHA256 signature of the payload. This allows the receiving service to validate the authenticity of the request.

Example header:

X-QANode-Signature: sha256=abc123...

Retries

In case of delivery failure (network error or HTTP code other than 2xx), QANode automatically retries up to 3 times with increasing intervals:

AttemptInterval
1stImmediate
2nd1 second
3rd5 seconds

Delivery Log

For each webhook, you can view the history of the last 50 deliveries:

  1. Click the list icon next to the webhook
  2. View the status of each delivery (OK/Failed), HTTP code, attempts, and errors

Testing Webhooks

Click the play icon next to the webhook to send a test payload. This allows you to verify that the URL is accessible and responding correctly.

Permissions

The following roles have access to webhooks:

RoleAccess
Super AdminFull
AdminFull
ArchitectFull
TesterNo access

Each user views and manages only their own webhooks.


Audit

The audit log records all important actions in the system:

Tracked Actions

ActionDescription
createResource creation
updateResource update
deleteResource deletion
executeScenario/suite execution
loginUser login
logoutUser logout
importData import
exportData export
testConnection test
inviteUser invitation
setupInitial configuration

Tracked Entities

Projects, Flows, Suites, Runs, Variables, Credentials, Providers, Users, Roles, Settings, System.

Log Information

FieldDescription
ActionType of action performed
EntityType and name of the affected resource
UserWho performed the action
IPSource IP address
Date/TimeWhen the action occurred

Viewing

  1. Go to SettingsAudit
  2. Navigate through the history using pagination
  3. Use filters to search for specific actions

Password Change

Any user can change their own password:

  1. Go to SettingsChange Password
  2. Enter the current password
  3. Enter and confirm the new password
  4. Click Save

MFA (Two-Factor Authentication)

For greater security, enable two-factor authentication:

  1. Go to SettingsMFA
  2. Scan the QR Code with an authenticator app (Google Authenticator, Authy, etc.)
  3. Enter the generated code to confirm
  4. MFA will be active — codes will be requested at each login

License

Manage the QANode license:

  1. Go to SettingsLicense
  2. View:
    • License Status (valid/expired)
    • Expiration date
    • Remaining days
    • User limit
    • Active users vs limit

Tips

  • Configure SMTP first — many features depend on email
  • Use custom roles for fine-grained access control
  • Monitor the audit log regularly to detect unexpected actions
  • Enable MFA for administrator accounts
  • Deactivate users instead of deleting — preserves audit history
  • Use webhooks to integrate QANode with Slack, Teams, Discord, or any service that accepts HTTP POST
  • Set the secret on webhooks to ensure request authenticity