# Triggr University > Set up and run Triggr Core and Triggr Studio, and connect the tools your workflows use. - [Introduction](https://university.triggr-app.com/core/introduction.md): What Triggr Core does and how a request becomes finished work in your client's Microsoft 365. - [Set up Triggr Core](https://university.triggr-app.com/core/get-started/overview.md): Sign in to Triggr Core and work through the setup checklist on Home. - [Connect Microsoft 365](https://university.triggr-app.com/core/get-started/connect-microsoft-365.md): Let Triggr Core work in your clients' Microsoft 365 tenants, through GDAP or a per-client app. - [Connect your PSA](https://university.triggr-app.com/core/get-started/connect-your-psa.md): Connect ConnectWise PSA, Halo PSA or Autotask so Triggr Core can log workflow runs as tickets against the right client. - [Add your branding](https://university.triggr-app.com/core/get-started/add-your-branding.md): Put your name, logo and colours on client request pages, use your own domain and send client emails from your own address. - [Configure User Onboarding](https://university.triggr-app.com/core/get-started/configure-user-onboarding.md): Set who can use User Onboarding, what its form asks and what it sets up in each client's tenant. - [Add your clients](https://university.triggr-app.com/core/get-started/add-your-clients.md): Add the businesses you support, fix anything that stops a client being ready, and deploy the desktop agent where it's needed. - [Share your forms](https://university.triggr-app.com/core/get-started/share-your-forms.md): Make a workflow a public form, share its link with clients and test it before you go live. - [Invite your team](https://university.triggr-app.com/core/get-started/invite-your-team.md): Invite teammates to your Core organisation, choose their role, and group them for approvals. - [Run a workflow](https://university.triggr-app.com/core/use/run-a-workflow.md): Run a workflow for a client from Core, fill in its form and follow the request to Executions. - [Executions](https://university.triggr-app.com/core/use/executions.md): Find any workflow run, check its status and see what each step did. - [Approvals](https://university.triggr-app.com/core/use/approvals.md): Choose who approves a workflow's requests, let them correct a request first, and see what your team and your client's approver see. - [Reports](https://university.triggr-app.com/core/use/reports.md): Save lookup results as reports, email clients a monthly Microsoft 365 licensing report, and share reports by password-protected link. - [User Onboarding](https://university.triggr-app.com/core/workflows/user-onboarding.md): Creates a new starter's Microsoft 365 account in your client's tenant, with licences, groups and shared mailbox access. - [User Offboarding](https://university.triggr-app.com/core/workflows/user-offboarding.md): Disables or deletes a leaver's Microsoft 365 account in your client's tenant, hands over their mailbox and removes their access. - [Bulk Staff Offboarding](https://university.triggr-app.com/core/workflows/bulk-staff-offboarding.md): Disables several leavers' Microsoft 365 accounts in your client's tenant in one run, signs them out and can convert their mailboxes to shared. - [Re-enable Terminated Account](https://university.triggr-app.com/core/workflows/re-enable-terminated-account.md): Turns sign-in back on for an offboarded user in your client's Microsoft 365, and can convert their shared mailbox back to a user mailbox. - [Mail Forwarding](https://university.triggr-app.com/core/workflows/mail-forwarding.md): Forwards a mailbox's incoming mail to another address in your client's Exchange Online, with or without a copy left in the mailbox. - [Password Reset](https://university.triggr-app.com/core/workflows/password-reset.md): Sets a new temporary password on a user's Microsoft 365 account in your client's tenant, and can email it to an address or their manager. - [Out of Office Setup](https://university.triggr-app.com/core/workflows/out-of-office.md): Turns on automatic replies for a mailbox in your client's Exchange Online, on until turned off or scheduled between two dates. - [Mailbox Delegation](https://university.triggr-app.com/core/workflows/mailbox-delegation.md): Gives one person full access, send as or send on behalf rights to one or more mailboxes in your client's Exchange Online. - [Remove Mailbox Delegation](https://university.triggr-app.com/core/workflows/remove-mailbox-delegation.md): Removes one person's full access, send as or send on behalf rights to one or more mailboxes in your client's Exchange Online. - [Grant Mailbox Permission in Bulk](https://university.triggr-app.com/core/workflows/bulk-mailbox-permission.md): Gives several people full access, send as or send on behalf rights to one mailbox in your client's Exchange Online. - [Calendar Permissions](https://university.triggr-app.com/core/workflows/calendar-permissions.md): Gives one person Reviewer, Editor or Delegate access to a colleague's calendar in your client's Exchange Online, or changes the access they already have. - [Hide Mailbox from Global Address List](https://university.triggr-app.com/core/workflows/hide-from-gal.md): Hides a mailbox from the global address list in your client's Exchange Online, or shows it again. - [Create Mail Contact](https://university.triggr-app.com/core/workflows/create-mail-contact.md): Creates an external mail contact in your client's Exchange Online, with the name and email address you give it. - [Delete Mail Contact](https://university.triggr-app.com/core/workflows/delete-mail-contact.md): Deletes one external mail contact from your client's Exchange Online, by its email address. - [Account Unlock](https://university.triggr-app.com/core/workflows/account-unlock.md): Turns sign-in back on for a blocked account in your client's Microsoft 365, or enables and unlocks an AD-synced account in Active Directory. - [Reset Multi-factor Authentication](https://university.triggr-app.com/core/workflows/reset-mfa.md): Removes a user's registered MFA methods in your client's Microsoft 365 so they set MFA up again, and can sign them out everywhere. - [License Management](https://university.triggr-app.com/core/workflows/license-management.md): Assigns or removes Microsoft 365 licences for one user in your client's tenant. - [Re-allocate User License](https://university.triggr-app.com/core/workflows/reallocate-license.md): Moves a Microsoft 365 licence from one user to another in your client's tenant. - [Change User Details](https://university.triggr-app.com/core/workflows/change-user-details.md): Updates a user's job title, department and mobile phone in your client's Microsoft 365, or in Active Directory for an AD-synced account. - [Bulk Update User Details](https://university.triggr-app.com/core/workflows/bulk-update-user-details.md): Sets one detail, the department, job title or office, to the same value for several users in your client's Microsoft 365, or in Active Directory for AD-synced accounts. - [Create Shared Mailbox](https://university.triggr-app.com/core/workflows/create-shared-mailbox.md): Creates a new shared mailbox in your client's Exchange Online, with the display name and email address you give it. - [Shared Mailbox Access](https://university.triggr-app.com/core/workflows/shared-mailbox-access.md): Adds or removes one person's full access or send as rights on a shared mailbox in your client's Exchange Online. - [Create Group](https://university.triggr-app.com/core/workflows/create-group.md): Creates a new Microsoft 365, security or distribution group in your client's Microsoft 365. - [Group Membership](https://university.triggr-app.com/core/workflows/group-membership.md): Adds a user to a group, or removes them from it, in your client's Microsoft 365, or in Active Directory for an AD-synced group. - [Bulk Add / Remove Users to Group](https://university.triggr-app.com/core/workflows/bulk-group-users.md): Adds several users to one group, or removes them from it, in one run in your client's Microsoft 365, or in Active Directory for an AD-synced group. - [Blacklist Email](https://university.triggr-app.com/core/workflows/blacklist-email.md): Blocks an email address or a whole domain for everyone in your client's Microsoft 365, by adding it to the Tenant Allow/Block List. - [IT Help Request](https://university.triggr-app.com/core/workflows/it-help-request.md): Lets your clients' staff report an IT problem on a form, and raises it as a ticket in your PSA. - [Licences and distributors](https://university.triggr-app.com/core/manage/licences-and-distributors.md): Set Core's org-wide defaults, and let User Onboarding buy an extra licence seat at your distributor when a client has none free. - [GDAP alerts](https://university.triggr-app.com/core/manage/gdap-alerts.md): Email your team a daily or weekly digest of new, fixed and expiring GDAP problems across your clients. - [API and webhooks](https://university.triggr-app.com/core/manage/api-and-webhooks.md): Create API keys for the Triggr Public API and send signed events to your portal or PSA integration. - [Workflow catalogue](https://university.triggr-app.com/core/reference/workflow-catalogue.md): Every workflow you can run in Triggr Core, what it does in your client's tenant and what its form asks for. - [FAQ](https://university.triggr-app.com/core/reference/faq.md): Quick answers to common questions about setting up and running Triggr Core: clients, your PSA, forms, approvals, your team, reports and licences. - [Microsoft and GDAP FAQ](https://university.triggr-app.com/core/reference/microsoft-faq.md): Answers to common questions about connecting Triggr Core to your clients' Microsoft 365 tenants: GDAP, the service account, consent, GDAP health, Exchange and the errors you might see. - [Introduction](https://university.triggr-app.com/studio/introduction.md): What Triggr Studio is, how it differs from Triggr Core, and where to start. - [Go-live checklist](https://university.triggr-app.com/studio/go-live-checklist.md): Everything a new MSP sets up in Triggr Studio before clients use it, in order, with how to tell each step is done. - [Clients and variables](https://university.triggr-app.com/studio/clients/clients-and-variables.md): Add the businesses you support, store each one's IDs and settings as variables, and set your organisation's defaults. - [Team and permissions](https://university.triggr-app.com/studio/clients/team-and-permissions.md): Invite your team to Studio, choose each person's role, group your approvers, and remove people safely. - [Exclusion lists](https://university.triggr-app.com/studio/clients/exclusion-lists.md): Hide items such as a client's break-glass admin accounts from your forms' dropdowns, client by client. - [Introduction to forms](https://university.triggr-app.com/studio/forms/introduction.md): Build your first Studio form, choose who can open it, connect it to a workflow and share it with a client. - [Field reference](https://university.triggr-app.com/studio/forms/fields.md): Every field in the Studio form designer, its properties, what it sends to your workflow, and how Field IDs and validation work. - [Dynamic options](https://university.triggr-app.com/studio/forms/dynamic-options.md): Fill a form dropdown from a workflow, Microsoft 365, an integration, a database or a cache, and reload it when another answer changes. - [Conditional fields](https://university.triggr-app.com/studio/forms/conditional-fields.md): Show or hide a form field or section based on another answer, a client or org variable, or the client's environment. - [Form authentication](https://university.triggr-app.com/studio/forms/authentication.md): Choose who can open a Studio form, how Triggr matches the person to a client, and what your workflow learns about them. - [Introduction to workflows](https://university.triggr-app.com/studio/workflows/introduction.md): Build your first Studio workflow, start it from a form, test it and read its runs. - [Workflow triggers](https://university.triggr-app.com/studio/workflows/triggers.md): Start a Studio workflow from a form, on a schedule, from a webhook, by hand, or from another workflow, an app or a PSA ticket. - [Step types](https://university.triggr-app.com/studio/workflows/steps.md): Every step in the workflow designer's Components panel: what it does, what to fill in and the output fields later steps read. - [Data and expressions](https://university.triggr-app.com/studio/workflows/expressions.md): Use trigger data, step outputs, client and org variables in any step with templates, transform them with Code steps, and handle failures. - [Approvals and manual steps](https://university.triggr-app.com/studio/workflows/approvals-and-manual-steps.md): Pause a Studio workflow until someone approves it or finishes a task by hand, then branch on the answer. - [Debug a failed run](https://university.triggr-app.com/studio/workflows/debugging.md): Find a failed Studio workflow run, read the step that failed, fix it and run it again, and look up common error messages. - [Introduction to internal apps](https://university.triggr-app.com/studio/internal-apps/introduction.md): Build pages that Triggr hosts for your team or clients, which can upload files and start your workflows. - [Internal app SDK](https://university.triggr-app.com/studio/internal-apps/sdk.md): Every window.triggr call an internal app page can make: what it returns, the errors it throws and the app settings it needs. - [Example: build an uptime monitor](https://university.triggr-app.com/studio/internal-apps/example-uptime-monitor.md): Check websites and portals every five minutes, email your service desk when one goes down or recovers, and show their status in an internal app. - [PSA ticket automation (Hawk)](https://university.triggr-app.com/studio/automation/hawk.md): Watch your HaloPSA, ConnectWise PSA or Autotask tickets and start a Studio workflow when a ticket matches a condition. - [On-prem scripts](https://university.triggr-app.com/studio/on-prem/scripts.md): Write PowerShell in Studio, run it on a client's network through the desktop agent from a workflow, and read what it returns. - [Databases](https://university.triggr-app.com/studio/data/databases.md): Connect your own PostgreSQL database to Studio, then read and change it from workflows with Execute SQL and fill form dropdowns from it. - [Data tables](https://university.triggr-app.com/studio/data/data-tables.md): Keep simple registers, such as client renewals, in typed tables inside Studio, and let an AI assistant read and update them through MCP. - [Cache](https://university.triggr-app.com/studio/data/cache.md): Keep a workflow's result ready, refreshed hourly, daily, weekly or monthly, so form dropdowns load instantly and workflows can reuse it. - [Media](https://university.triggr-app.com/studio/media.md): Find, upload, rename and delete the files your forms, internal apps and workflows collect, and keep workflow files in the library. - [Report templates and reports](https://university.triggr-app.com/studio/reporting/reports.md): Design a Handlebars report template, fill it from a workflow with Generate Report, then view, download or share the report with a password-protected link. - [Decks](https://university.triggr-app.com/studio/reporting/decks.md): Have Triggr's assistant build a branded 16:9 slide deck, such as a quarterly business review, then present it or export it as HTML or PDF. - [Branding and client portal](https://university.triggr-app.com/studio/settings/branding-and-portal.md): Put your name and logo on Studio forms, serve them from your own domain, and lay out the homepage your clients open. - [Sending profiles](https://university.triggr-app.com/studio/settings/sending-profiles.md): Send Studio workflow emails from your own Microsoft 365 mailbox or SMTP server instead of Triggr's default address. - [API keys and webhooks](https://university.triggr-app.com/studio/settings/api-and-webhooks.md): Create Triggr Public API keys and event webhooks from Studio, and find the API reference under Tools. - [Distributors and licensing](https://university.triggr-app.com/studio/settings/distributors-and-licensing.md): Browse your distributors' customers and subscriptions, build product packages, set licence assignment rules and look up Microsoft SKUs in Studio. - [Adoption, compliance and audit logs](https://university.triggr-app.com/studio/settings/insights-and-compliance.md): See who in your team uses Triggr, keep a locked record of what a workflow did for a client, and review the requests made in Studio and Core. - [AI in Studio](https://university.triggr-app.com/studio/ai/assistants.md): Ask Aimbot about your clients and runs, have it build automations, and use the Assistant tab to build workflows and forms from a description. - [Connect Claude Code, Codex and other AI tools](https://university.triggr-app.com/studio/mcp.md): Use Triggr's MCP server to build workflows, check runs and manage clients from Claude Code, Codex, Cursor or any MCP client. - [Integrations](https://university.triggr-app.com/integrations/overview.md): Choose the setup guide for the tool you want Triggr to work with. - [Desktop agent](https://university.triggr-app.com/desktop-agent/overview.md): An on-premises agent that lets Triggr workflows run PowerShell, such as Active Directory changes, in a client's network. - [Generate agent credentials](https://university.triggr-app.com/desktop-agent/generate-credentials.md): Create the client ID and secret that link a desktop agent to one Triggr client. - [Install the desktop agent](https://university.triggr-app.com/desktop-agent/install.md): Deploy the Triggr desktop agent as a Windows service through your RMM. - [IP addresses to allow](https://university.triggr-app.com/security/ip-allowlist.md): The static outbound IP addresses Triggr's AWS-hosted services connect from. - [Microsoft Graph (GDAP)](https://university.triggr-app.com/integrations/microsoft-graph/gdap-service-account.md): Connect Triggr to your clients' Microsoft 365 tenants through GDAP, with one service account in your partner tenant. - [Conditional Access](https://university.triggr-app.com/integrations/microsoft-graph/conditional-access.md): Set up Conditional Access in your tenant and your clients' tenants so the Triggr service account signs in with MFA and isn't blocked. - [Recommended roles](https://university.triggr-app.com/integrations/microsoft-graph/recommended-roles.md): The Microsoft Entra roles to give Triggr's security group in your clients' GDAP relationships, and what each one is for. - [Microsoft CSP](https://university.triggr-app.com/integrations/microsoft-graph/csp.md): Connect Triggr to Partner Center as your service account, so it can list your CSP customers and grant its GDAP app consent. - [Microsoft Graph (SAM)](https://university.triggr-app.com/integrations/microsoft-graph/sam.md): Connect each client's Microsoft 365 tenant to Triggr through a Microsoft Entra app the client's administrator consents to. - [CIPP](https://university.triggr-app.com/integrations/cipp.md): Connect CIPP to Triggr with a CIPP-API client, so Triggr works in your clients' Microsoft 365 tenants through CIPP. - [Microsoft 365 email](https://university.triggr-app.com/integrations/microsoft-365-email.md): Send Triggr email, such as approval requests and workflow notifications, from a mailbox in your MSP's Microsoft 365 tenant. - [Microsoft Teams (Delegated)](https://university.triggr-app.com/integrations/microsoft-teams-delegated.md): Send 1:1 Microsoft Teams chat messages from a service account in your MSP's tenant, through an Entra app you register. - [Microsoft Exchange](https://university.triggr-app.com/integrations/microsoft-exchange.md): Let Triggr run Exchange Online PowerShell in your clients' Microsoft 365 tenants, signed in as Triggr's own Microsoft app. - [Microsoft Defender for Endpoint](https://university.triggr-app.com/integrations/microsoft-defender-endpoint.md): Connect Microsoft Defender for Endpoint in your clients' tenants to Triggr with your own multitenant Microsoft Entra app registration. - [Autotask PSA](https://university.triggr-app.com/integrations/autotask.md): Connect Autotask PSA to Triggr with an API-only user, then map your clients to Autotask companies. - [ConnectWise PSA](https://university.triggr-app.com/integrations/connectwise-psa.md): Connect ConnectWise PSA to Triggr with an API member, then map your clients to ConnectWise companies. - [HaloPSA](https://university.triggr-app.com/integrations/halopsa.md): Connect HaloPSA to Triggr with a Client ID and Secret API application, then map your clients to Halo clients. - [Inserve](https://university.triggr-app.com/integrations/inserve.md): Connect Inserve to Triggr with an Inserve API key and your Inserve address. - [Simplesat](https://university.triggr-app.com/integrations/simplesat.md): Connect Simplesat to Triggr with a Simplesat API key, so workflows can read survey feedback and keep customers and team members up to date. - [SuperOps (US)](https://university.triggr-app.com/integrations/superops.md): Connect SuperOps to Triggr with a SuperOps API token and your SuperOps subdomain. - [Syncro](https://university.triggr-app.com/integrations/syncro.md): Connect Syncro to Triggr with a Syncro API token and your Syncro subdomain. - [Zendesk](https://university.triggr-app.com/integrations/zendesk.md): Connect Zendesk to Triggr with a Zendesk API token and the email address of the user Triggr acts as. - [ConnectWise ScreenConnect](https://university.triggr-app.com/integrations/connectwise-screenconnect.md): Connect ConnectWise ScreenConnect to Triggr with the RESTful API Manager extension and a secret you set. - [Datto RMM](https://university.triggr-app.com/integrations/datto-rmm.md): Connect Datto RMM to Triggr with a Datto RMM user's API key and secret, then map your clients to Datto RMM sites. - [ImmyBot](https://university.triggr-app.com/integrations/immybot.md): Connect ImmyBot to Triggr with a Microsoft Entra app that signs in to ImmyBot as an API user. - [Level](https://university.triggr-app.com/integrations/level.md): Connect Level RMM to Triggr with a Level API key. - [N-able N-central](https://university.triggr-app.com/integrations/n-able-n-central.md): Connect N-able N-central to Triggr with an API-only user's JSON Web Token, and map your clients to N-central customers. - [NinjaOne](https://university.triggr-app.com/integrations/ninjaone.md): Connect NinjaOne to Triggr with an API Services (machine-to-machine) client app. - [Hudu](https://university.triggr-app.com/integrations/hudu.md): Connect Hudu to Triggr with a Hudu API key. - [IT Glue](https://university.triggr-app.com/integrations/it-glue.md): Connect IT Glue to Triggr with a custom API key. - [ScalePad Lifecycle Manager](https://university.triggr-app.com/integrations/scalepad-lifecycle-manager.md): Connect ScalePad Lifecycle Manager to Triggr with a ScalePad Hub API key. - [Duo Admin API](https://university.triggr-app.com/integrations/duo/admin-api.md): Connect each client's Duo account to Triggr with a Duo Admin API application. - [Duo Accounts API](https://university.triggr-app.com/integrations/duo/accounts-api.md): Connect your Duo MSP account to Triggr to manage client subaccounts with one Admin API application. - [Duo Auth API](https://university.triggr-app.com/integrations/duo/auth-api.md): Connect each client's Duo account to Triggr with a Duo Auth API application to verify users with Duo. - [Keeper SCIM](https://university.triggr-app.com/integrations/keeper/scim.md): Connect a Keeper Enterprise node to Triggr with a SCIM provisioning token, to onboard and offboard Keeper users and teams. - [Keeper MSP](https://university.triggr-app.com/integrations/keeper/msp.md): Connect Keeper's MSP Vendor API to Triggr to manage MSP accounts and read their usage. - [MSP Process](https://university.triggr-app.com/integrations/msp-process.md): Connect MSP Process to Triggr with a public API key to verify end users and share secrets through one-time links. - [Onetime Secret](https://university.triggr-app.com/integrations/onetime-secret.md): Connect Onetime Secret to Triggr with your region, account username and API token, so workflows can share secrets as one-time links. - [Password Pusher](https://university.triggr-app.com/integrations/password-pusher.md): Connect Password Pusher, on pwpush.com or self-hosted, to Triggr with your server's hostname and an API token. - [AutoElevate](https://university.triggr-app.com/integrations/autoelevate.md): Connect CyberFOX AutoElevate to Triggr with a Partner API token, then map your clients to AutoElevate companies. - [ConnectSecure](https://university.triggr-app.com/integrations/connectsecure.md): Connect ConnectSecure to Triggr with a user's API client ID and secret, your tenant name and your pod number. - [DefensX](https://university.triggr-app.com/integrations/defensx.md): Connect DefensX to Triggr with a DefensX Partner API token. - [DNSFilter](https://university.triggr-app.com/integrations/dnsfilter.md): Connect DNSFilter to Triggr with the API key of a dedicated DNSFilter user and map your clients to organisations. - [Field Effect](https://university.triggr-app.com/integrations/field-effect.md): Connect Field Effect MDR to Triggr with an MDR Portal API key and map your clients to Field Effect organisations. - [Heimdal Security](https://university.triggr-app.com/integrations/heimdal-security.md): Connect Heimdal Security to Triggr with a personal API key from the Heimdal Dashboard. - [Huntress](https://university.triggr-app.com/integrations/huntress.md): Connect Huntress to Triggr with a user API key and secret from the Huntress portal. - [Inforcer](https://university.triggr-app.com/integrations/inforcer.md): Connect Inforcer to Triggr with an Inforcer REST API key. - [Liongard](https://university.triggr-app.com/integrations/liongard.md): Connect Liongard to Triggr with a Liongard access key ID and secret. - [Mesh](https://university.triggr-app.com/integrations/mesh.md): Connect Mesh email security to Triggr with an API key from the Mesh Partner Hub. - [Petra Security](https://university.triggr-app.com/integrations/petra-security.md): Connect Petra Security to Triggr with an API key from the Petra portal. - [Proofpoint Essentials](https://university.triggr-app.com/integrations/proofpoint-essentials.md): Connect Proofpoint Essentials to Triggr with an admin account's email address and password. - [SentinelOne](https://university.triggr-app.com/integrations/sentinelone.md): Connect your SentinelOne management console to Triggr with a service user's API token. - [ThreatLocker](https://university.triggr-app.com/integrations/threatlocker.md): Connect ThreatLocker to Triggr with the API token of a ThreatLocker API user. - [Twingate](https://university.triggr-app.com/integrations/twingate.md): Connect Twingate to Triggr with an Admin API token and your network's address. - [Zorus](https://university.triggr-app.com/integrations/zorus.md): Connect Zorus to Triggr with a Zorus Portal API token that acts as one of your Zorus users. - [KnowBe4](https://university.triggr-app.com/integrations/knowbe4.md): Connect each client's KnowBe4 security awareness training account to Triggr with a KnowBe4 Reporting API key. - [Phishr](https://university.triggr-app.com/integrations/phishr.md): Connect your Phishr reseller account to Triggr with one API token, then link each client to its Phishr tenant. - [Acronis Cyber Protect Cloud](https://university.triggr-app.com/integrations/acronis.md): Connect Acronis Cyber Protect Cloud to Triggr with an API client from your partner tenant. - [Cove Data Protection](https://university.triggr-app.com/integrations/cove.md): Connect N-able Cove Data Protection to Triggr with a Cove API user and its token. - [Datto BCDR](https://university.triggr-app.com/integrations/datto-bcdr.md): Connect Datto BCDR to Triggr with a Datto Partner Portal API key, then map your clients to Datto organisations. - [Datto SaaS Protection](https://university.triggr-app.com/integrations/datto-saas-protection.md): Connect Datto SaaS Protection to Triggr with a Datto Partner Portal API key, then map your clients to SaaS Protection customers. - [Veeam Service Provider Console](https://university.triggr-app.com/integrations/veeam-vspc.md): Connect Veeam Service Provider Console to Triggr with a dedicated portal account that signs in to the VSPC REST API. - [Axcient x360Cloud](https://university.triggr-app.com/integrations/x360cloud.md): Connect Axcient x360Cloud to Triggr with an x360Portal API key. - [Axcient x360Recover](https://university.triggr-app.com/integrations/x360recover.md): Connect Axcient x360Recover to Triggr with an x360Portal API key. - [Auvik](https://university.triggr-app.com/integrations/auvik.md): Connect Auvik Network Management to Triggr with an API-only Auvik user and API key, then map your clients to Auvik sites. - [Cisco Meraki](https://university.triggr-app.com/integrations/cisco-meraki.md): Connect your Cisco Meraki dashboard to Triggr with a Meraki administrator's dashboard API key. - [FortiGate](https://university.triggr-app.com/integrations/fortinet/fortigate.md): Connect each client's FortiGate to Triggr directly with a FortiOS REST API administrator token. - [FortiManager](https://university.triggr-app.com/integrations/fortinet/fortimanager.md): Connect FortiManager to Triggr with a REST API administrator key, or an administrator's username and password, over its JSON-RPC API. - [FortiGate Cloud](https://university.triggr-app.com/integrations/fortinet/fortigate-cloud.md): Connect FortiGate Cloud to Triggr with a FortiCloud IAM API user to reach your FortiGates through Fortinet's cloud. - [FortiCloud Asset Management](https://university.triggr-app.com/integrations/fortinet/forticloud-asset-management.md): Connect FortiCloud Asset Management to Triggr with a FortiCloud IAM API user to track Fortinet products, contracts and expiry dates. - [SonicWall firewalls (SonicOS)](https://university.triggr-app.com/integrations/sonicwall/sonicos.md): Connect each client's SonicWall firewall to Triggr directly through its SonicOS API, with the firewall's administrator username and password. - [SonicWall NSM](https://university.triggr-app.com/integrations/sonicwall/nsm.md): Connect SonicWall Network Security Manager to Triggr with a MySonicWall API key for cloud NSM, or an NSM admin login for NSM On-Prem. - [SonicWall Cloud Secure Edge](https://university.triggr-app.com/integrations/sonicwall/cse.md): Connect SonicWall Cloud Secure Edge (formerly Banyan Security) to Triggr with a Command Center API key. - [UniFi Network](https://university.triggr-app.com/integrations/unifi/network.md): Connect a UniFi console's Network application to Triggr with a UniFi API key, through Ubiquiti's cloud connector or directly. - [UniFi Site Manager](https://university.triggr-app.com/integrations/unifi/site-manager.md): Connect a UI account to Triggr with a Site Manager API key to monitor UniFi consoles, sites and devices from the cloud. - [Domotz](https://university.triggr-app.com/integrations/domotz.md): Connect Domotz to Triggr with a Full Access Public API key and your account's API endpoint host. - [PRTG](https://university.triggr-app.com/integrations/prtg/prtg.md): Connect a self-hosted PRTG Network Monitor to Triggr through PRTG API v2 with a PRTG API key. - [PRTG (API v1)](https://university.triggr-app.com/integrations/prtg/prtg-v1.md): Connect PRTG to Triggr through PRTG's classic HTTP API with a PRTG API key. - [Pax8](https://university.triggr-app.com/integrations/pax8.md): Connect Pax8 to Triggr with a Pax8 API credential (client ID and secret). - [Sherweb](https://university.triggr-app.com/integrations/sherweb.md): Connect Sherweb to Triggr with a Sherweb API application (client ID, client secret and subscription key). - [TD SYNNEX StreamOne Stellr](https://university.triggr-app.com/integrations/td-synnex/stellr.md): Connect TD SYNNEX StreamOne Stellr to Triggr with a client ID and secret from the TD SYNNEX Developer Portal. - [3CX](https://university.triggr-app.com/integrations/3cx.md): Connect each client's 3CX phone system to Triggr with a Configuration API client. - [ClickSend](https://university.triggr-app.com/integrations/clicksend.md): Connect ClickSend to Triggr with your API username and API key, so workflows can send SMS. - [RingCentral](https://university.triggr-app.com/integrations/ringcentral.md): Connect your clients' RingCentral accounts to Triggr with a REST API app and a JWT credential for each account. - [Slack](https://university.triggr-app.com/integrations/slack/slack.md): Connect each client's Slack workspace to Triggr with a SCIM API token, to look up, update and deactivate Slack users from workflows. - [Slack Notifications](https://university.triggr-app.com/integrations/slack/notifications.md): Install a Slack app in your workspace with Authorize, so Triggr workflows can post messages to your team's channels. - [Zoom](https://university.triggr-app.com/integrations/zoom.md): Connect Zoom to Triggr with a Zoom general app that an admin authorizes for each Zoom account. - [HubSpot](https://university.triggr-app.com/integrations/hubspot.md): Connect HubSpot to Triggr with a HubSpot service key and map your clients to companies. - [Employment Hero](https://university.triggr-app.com/integrations/employment-hero.md): Connect Employment Hero to Triggr with an OAuth application from the Employment Hero Developer Portal. - [HiBob](https://university.triggr-app.com/integrations/hibob.md): Connect each client's HiBob account to Triggr with a Bob API service user. - [Airtable](https://university.triggr-app.com/integrations/airtable.md): Connect Airtable to Triggr with an Airtable OAuth integration, authorised for your own account and each client's. - [Google Workspace](https://university.triggr-app.com/integrations/google-workspace.md): Connect each client's Google Workspace to Triggr with an OAuth client or a service account with domain-wide delegation. - [Jira](https://university.triggr-app.com/integrations/jira.md): Connect Jira Cloud to Triggr with an Atlassian API token, for your own site and for each client that uses Jira. - [Smartsheet](https://university.triggr-app.com/integrations/smartsheet.md): Connect Smartsheet to Triggr with an API access token from a dedicated Smartsheet user. - [QuickBooks Online](https://university.triggr-app.com/integrations/quickbooks-online.md): Connect QuickBooks Online to Triggr with an Intuit Developer app that a QuickBooks admin authorizes for each company. - [Gandi](https://university.triggr-app.com/integrations/gandi.md): Connect Gandi to Triggr with a Gandi personal access token, so workflows can look up, check and renew domain names. - [OpenAI](https://university.triggr-app.com/integrations/openai.md): Connect OpenAI to Triggr with an OpenAI API key, so workflows can send prompts to OpenAI models. - [API reference](https://university.triggr-app.com/api-reference/introduction.md): Use Triggr's public API to list clients and forms, run Core workflows, follow executions, act on approvals and receive webhooks. - [List approvals](https://university.triggr-app.com/api-reference/approvals-&-manual-steps/list-approvals.md): Runs paused for sign-off. - [Get an approval](https://university.triggr-app.com/api-reference/approvals-&-manual-steps/get-an-approval.md) - [Approve](https://university.triggr-app.com/api-reference/approvals-&-manual-steps/approve.md): Records `actor` (your signed-in person) on the approval and resumes the run. The key's scope is the authority, and your portal decides which of its people may act. Requires the `executions:manage` key scope. - [Reject](https://university.triggr-app.com/api-reference/approvals-&-manual-steps/reject.md): A `response` (reason) is required. Same authority rule as approve. Requires the `executions:manage` key scope. - [List manual steps](https://university.triggr-app.com/api-reference/approvals-&-manual-steps/list-manual-steps.md): Runs paused for a human task. - [Get a manual step](https://university.triggr-app.com/api-reference/approvals-&-manual-steps/get-a-manual-step.md) - [Complete a manual step](https://university.triggr-app.com/api-reference/approvals-&-manual-steps/complete-a-manual-step.md): Resumes the run. A step with a form (`formId` set) needs `formSubmissionId` — a submission of that form, in this organisation. Requires the `executions:manage` key scope. - [The organisation's public branding](https://university.triggr-app.com/api-reference/organisation/the-organisations-public-branding.md) - [List clients](https://university.triggr-app.com/api-reference/organisation/list-clients.md): Every client (tenant) with the identifiers you map your own records onto. - [Get a client](https://university.triggr-app.com/api-reference/organisation/get-a-client.md) - [The organisation this key belongs to](https://university.triggr-app.com/api-reference/organisation/the-organisation-this-key-belongs-to.md): Also returns the organisation's canonical embed origins — the exact value to store as your embed host and compare against `new URL(embedUrl).origin` (see Embedding). - [The Core form catalogue](https://university.triggr-app.com/api-reference/core-forms/the-core-form-catalogue.md): Every form the organisation can offer — configured or not — with each entry's configuration state. Use it to present the full menu; GET /api/v1/core/forms lists only what has a base config. - [List configured Core forms with status](https://university.triggr-app.com/api-reference/core-forms/list-configured-core-forms-with-status.md) - [Get a Core form's status](https://university.triggr-app.com/api-reference/core-forms/get-a-core-forms-status.md) - [Start an embedded session for a Core form](https://university.triggr-app.com/api-reference/core-forms/start-an-embedded-session-for-a-core-form.md): Core public forms are Microsoft-only: give the user's object ID or UPN plus their tenant (`microsoftTenantId`, or `clientId`). The form must be public — base availability, and any override for that client — and a form that is not is a 400, not a 403. The handle is single-use and expires after 2 minu… - [List Core requests with live status](https://university.triggr-app.com/api-reference/core-forms/list-core-requests-with-live-status.md): Every submission made through a Core form — public form, technician, or API — with who asked, for which client, and the live status of the run it started. - [Get a Core request with its answers](https://university.triggr-app.com/api-reference/core-forms/get-a-core-request-with-its-answers.md) - [Check UPN availability](https://university.triggr-app.com/api-reference/core-run/check-upn-availability.md): Which candidate UPNs already exist in the client's directory. Requires the `core:run` key scope. - [Resolve a dynamic field's options](https://university.triggr-app.com/api-reference/core-run/resolve-a-dynamic-fields-options.md): Microsoft-sourced, cached, or static options for one field, for the given client. `forceRefresh` bypasses the option cache — leave it off unless the user asked to refresh. Requires the `core:run` key scope. - [Submit a Core form as a technician](https://university.triggr-app.com/api-reference/core-run/submit-a-core-form-as-a-technician.md): Provisioning forms only — a lookup-kind form (see the catalogue) has no run to start and is refused with 400. Same approval gate and compiled workflow as the Core app's run page. `submitter` is your signed-in person and is recorded on the request; credential delivery (email / ticket) follows the for… - [The run form for a client](https://university.triggr-app.com/api-reference/core-run/the-run-form-for-a-client.md): Base + overrides merged, in the public projection, plus the client's primary Microsoft domain for the UPN generator. The form must be available internally. Requires the `core:run` key scope. - [Read a Core form's base config and a client's override](https://university.triggr-app.com/api-reference/core-configuration/read-a-core-forms-base-config-and-a-clients-override.md): Each row carries an `etag`; the ETag header names the row you asked about (the client override with `clientId`, else the base). Send it back as If-Match on the matching PUT. Requires the `core:configure` key scope. - [Write the base config (merge)](https://university.triggr-app.com/api-reference/core-configuration/write-the-base-config-merge.md): Omitted fields keep their value; formConfig / execConfig are replaced as whole units; JSON null clears one. Re-syncs every client's compiled workflow. With If-Match the write is atomic: it is refused (412) if any save happened after the version you read. Requires the `core:configure` key scope. - [Write a client's override (merge)](https://university.triggr-app.com/api-reference/core-configuration/write-a-clients-override-merge.md): Same merge rules and If-Match atomicity as the base; `"availability": "inherit"` clears the override. Recompiles that client's workflow. The example only adds base access — a body of `{}` changes nothing. Requires the `core:configure` key scope. - [Remove a client's override](https://university.triggr-app.com/api-reference/core-configuration/remove-a-clients-override.md): Requires the `core:configure` key scope. - [Preview the merged run form](https://university.triggr-app.com/api-reference/core-configuration/preview-the-merged-run-form.md): Public projection: sections, identity hints, approval mode — never the exec config. Requires the `core:configure` key scope. - [Microsoft 365 picker data for a client](https://university.triggr-app.com/api-reference/core-configuration/microsoft-365-picker-data-for-a-client.md): Requires the `core:configure` key scope. - [A synced client's on-prem AD groups](https://university.triggr-app.com/api-reference/core-configuration/a-synced-clients-on-prem-ad-groups.md): Requires the `core:configure` key scope. - [A synced client's on-prem AD OUs](https://university.triggr-app.com/api-reference/core-configuration/a-synced-clients-on-prem-ad-ous.md): Requires the `core:configure` key scope. - [Option sets from the organisation's PSA](https://university.triggr-app.com/api-reference/core-configuration/option-sets-from-the-organisations-psa.md): Requires the `core:configure` key scope. - [The Core config schema](https://university.triggr-app.com/api-reference/core-configuration/the-core-config-schema.md): JSON-Schema-style description of formConfig / execConfig and every enum the validator enforces — render your editor from it. - [List executions](https://university.triggr-app.com/api-reference/workflows-&-executions/list-executions.md): Newest first. `paused` means the run is waiting on a person (approval or manual step). - [Get an execution's status and outcome](https://university.triggr-app.com/api-reference/workflows-&-executions/get-an-executions-status-and-outcome.md): A failed run reports the step that failed and its last error; a finished run reports the output its author published. Parameters, step context and logs are never included. - [Cancel a running execution](https://university.triggr-app.com/api-reference/workflows-&-executions/cancel-a-running-execution.md): Stops a pending, running or paused run; its open approvals and manual steps are closed (announced as `approval.expired` / `manual_step.cancelled`). Requires the `executions:manage` key scope. - [Retry an execution](https://university.triggr-app.com/api-reference/workflows-&-executions/retry-an-execution.md): Starts a new execution from the original's inputs. Only a completed or failed run may be retried — retrying a live one is refused (400) so the same inputs are never provisioned twice concurrently. Requires the `executions:manage` key scope. - [List an execution's steps](https://university.triggr-app.com/api-reference/workflows-&-executions/list-an-executions-steps.md): Labels and outcomes in order, for a progress view — never a step's output or context. - [List active Studio workflows](https://university.triggr-app.com/api-reference/workflows-&-executions/list-active-studio-workflows.md) - [List Studio forms](https://university.triggr-app.com/api-reference/studio-forms/list-studio-forms.md): Each with its shareable embed URL. Check `authType` before embedding: only `none` embeds friction-free from `shareUrl`; `microsoft` and `google` forms embed friction-free through a form session; `password` and `internal` forms cannot be embedded as a signed-in user. - [Get a Studio form](https://university.triggr-app.com/api-reference/studio-forms/get-a-studio-form.md) - [Start an embedded form session](https://university.triggr-app.com/api-reference/studio-forms/start-an-embedded-form-session.md): Mints a handle asserting the given user into a `microsoft` or `google` authType form and returns the `embedUrl` to iframe: the visitor lands already signed in. For a microsoft form give the user's object ID or UPN plus their tenant (`microsoftTenantId`, or `clientId` and it is looked up); for a goog… - [This document](https://university.triggr-app.com/api-reference/meta/this-document.md): The OpenAPI 3.0 description of the public API. No authentication. - [List webhooks](https://university.triggr-app.com/api-reference/webhooks/list-webhooks.md) - [Register a webhook](https://university.triggr-app.com/api-reference/webhooks/register-a-webhook.md): An https URL on a public host, for a set of events. The signing secret is returned ONCE — record it now: it is never stored by us, so replaying this call with the same `Idempotency-Key` returns `"secret": null` rather than repeating it (rotate the secret if you lost it). Deliveries are POSTed within… - [Delete a webhook](https://university.triggr-app.com/api-reference/webhooks/delete-a-webhook.md): Also removes its delivery history. - [List a webhook's recent deliveries](https://university.triggr-app.com/api-reference/webhooks/list-a-webhooks-recent-deliveries.md) - [Re-send a past delivery](https://university.triggr-app.com/api-reference/webhooks/re-send-a-past-delivery.md): Creates a NEW delivery row carrying the ORIGINAL payload bytes and attempts it immediately. So the envelope's `id` is unchanged — it names the event, and you should dedupe on it if you already processed it — while `X-Triggr-Delivery-Id` and the returned `deliveryId` are new, naming this new delivery… - [Re-enable a disabled webhook](https://university.triggr-app.com/api-reference/webhooks/re-enable-a-disabled-webhook.md): Clears the failure streak and makes the calling key the registering key. Use after fixing an endpoint that was disabled for repeated failures, or to keep a webhook whose original key was revoked. - [Rotate the signing secret](https://university.triggr-app.com/api-reference/webhooks/rotate-the-signing-secret.md): Issues a new secret (returned ONCE) and keeps the previous one for 24 hours: until `previousSecretValidUntil` every delivery's `X-Triggr-Signature` carries two `v1` values — new secret first, previous second — so switch your receiver whenever convenient inside that window. - [Send a test (ping) event](https://university.triggr-app.com/api-reference/webhooks/send-a-test-ping-event.md): Delivered immediately; the response reports the first attempt. - [Guides for your clients](https://university.triggr-app.com/guides/overview.md): Ready-made help pages for your clients' staff on submitting requests, signing in, approving requests and using apps, to link from your portal and emails. - [Submit a request](https://university.triggr-app.com/guides/submit-a-request.md): Open your IT provider's request link, sign in with your work account, fill in the form and send it. - [Sign in to your IT provider's forms](https://university.triggr-app.com/guides/sign-in.md): Sign in with your Microsoft or Google work account, or a form password, and fix the messages you might see. - [Approve a request](https://university.triggr-app.com/guides/approve-a-request.md): Approve or reject a request your IT provider has emailed you about, and correct its details first if you're allowed to. - [Use an app from your IT provider](https://university.triggr-app.com/guides/use-an-app.md): Open an app link from your IT provider, sign in and use it. ## OpenAPI Specs - [openapi](/api-reference/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.