# Public API Source: https://docs.allquiet.app/advanced/api Our Public API allows you to manage your resources from anywhere. ### US Hosted API (allquiet.app) * Swagger Documentation: [https://allquiet.app/api/public/swagger-ui/index.html](https://allquiet.app/api/public/swagger-ui/index.html) * JSON: [https://allquiet.app/api/swagger/public-v1/swagger.json](https://allquiet.app/api/swagger/public-v1/swagger.json) ### EU Hosted API (allquiet.eu) * Swagger Documentation: [https://allquiet.eu/api/public/swagger-ui/index.html](https://allquiet.eu/api/public/swagger-ui/index.html) * JSON: [https://allquiet.eu/api/swagger/public-v1/swagger.json](https://allquiet.eu/api/swagger/public-v1/swagger.json) ### Plan Requirements The Public API is not available in the STANDARD plan, but is included in both PRO and ENTERPRISE plans. If you're on the STANDARD plan, you'll need to upgrade to access the API functionality. ### Authentication To use the API, you need an API Key that you can create for your organization. This is the same API Key you use for SCIM or the Terraform provider. You can authenticate your API requests in two ways: 1. Using the `X-Api-Key` header: ``` X-Api-Key: your-api-key-here ``` 2. Using the standard Authorization Bearer token: ``` Authorization: Bearer your-api-key-here ``` Both methods are equivalent - choose the one that best fits your needs. # Auditing Source: https://docs.allquiet.app/advanced/auditing Track every action, ensure compliance, and gain full visibility into your All Quiet account. Auditing is an available add-on for Enterprise plan users only.
To upgrade to the Enterprise plan, please contact [support@allquiet.app](mailto:support@allquiet.app).
## Full Visibility with Auditing All Quiet's Auditing feature empowers your organization with comprehensive visibility into every action taken within your account. Designed for security, compliance, and operational transparency, auditing helps you: * Track changes to incidents, users, integrations, and settings * Monitor who did what, when, and from where * Meet compliance requirements and internal policies * Investigate issues and ensure accountability ## Key Capabilities * **Comprehensive Event Logging:** Every significant action—such as incident updates, integration changes, and team updates—is recorded in a secure, tamper-evident log. We also log any updates for SCIM or Terraform provisioned users. * **User Attribution:** See exactly which user performed each action with timestamps * **Search & Filter:** Quickly find specific events using powerful search and filtering tools (by user, team, etc.). * **Export Logs:** Download audit logs for compliance, reporting, or further analysis. ## Public API Audit logs can also be accessed via the [Public API](/advanced/api) for automated integration and export workflows. * `GET /api/public/v1/auditlog/list` * `GET /api/public/v1/auditlog/{auditLogId}` You can browse these endpoints in our Public API Swagger UI at * US Region: `https://allquiet.app/api/public/swagger-ui/index.html`. * EU Region: `https://allquiet.eu/api/public/swagger-ui/index.html`. ## SIEM integrations & export The audit log system supports automatic integration or export of data to market-leading SIEM tools such as New Relic, SentinelOne, QRADAR, SPLUNK, RAPID7, and Wazuh. ## How to Access Auditing 1. Navigate to the **Auditing** section in your All Quiet Web dashboard (Available on Enterprise plan only). 2. Use the search and filter options to review activity across your organization. 3. Export logs as needed for your records or compliance audits. Audit logs are retained according to our organization's records retention policy. For custom retention periods, please contact support. ## Example Use Cases * **Security:** Investigate suspicious activity or unauthorized changes. * **Compliance:** Demonstrate adherence to regulatory requirements (e.g., SOC 2, ISO 27001). * **Operational Oversight:** Review changes to integrations, escalations or user permissions. *** When enabled, audit logs are visible for "Organization Owners" and "Organization Admin" roles. For more information or to enable Auditing for your organization, please reach out to [support@allquiet.app](mailto:support@allquiet.app). # Live Call Routing Source: https://docs.allquiet.app/advanced/live-call-routing Configure how inbound calls are routed to on-call responders after your number is connected In All Quiet, Live Call Routing is only available for the Pro and Enterprise plan. **Organization Administrators** and **Organization Owners** can create Call Routing Numbers. **Team Administrators** can edit existing numbers whose **Root Team** is a team they administer — but cannot create new ones. Live Call Routing in All Quiet is **Bring Your Own Number (BYON)**: you keep (or provision) your phone number with Twilio, and All Quiet routes incoming calls to the right responders.

To set up Live Call Routing, start with ordering a phone number from Twilio and connecting it with your All Quiet account. You can find the instructions in our [step-by-step guide for Twilio](/integrations/inbound/twilio).

After that, you can set up Live Call Routing in All Quiet by following the steps in this documentation page.
## Overview This guide picks up where the [Twilio integration setup](/integrations/inbound/twilio) leaves off. That guide walks you through buying a number, creating a Call Routing Number in All Quiet, and connecting your Twilio credentials. Once the connection shows a green checkmark, you are ready to configure **how** incoming calls are handled — caller allow & block lists, welcome messages, routing modes, dial chains, voicemail, and fallbacks. Here you will learn: * How a call flows from the welcome message through the on-call chain to a connected responder or voicemail. It also explains **when and how incidents are created for incoming calls**. * What each setting on the **Call Routing** tab does, and how to tune them for your team. * What snoozing, maintenance, and mute do — and what they **don’t** affect for live calls. * How to block or allow callers in the **Call Routing** tab — and what to watch for if you also filter at your provider (Twilio). Open your Call Routing Number in All Quiet and switch to the **Call Routing** tab when you configure settings. All options described under [Call routing tab](#call-routing-tab) live there. ### Prerequisites Before configuring Live Call Routing, make sure: 1. **Twilio is connected** — you completed the steps in the [Twilio integration guide](/integrations/inbound/twilio) and the integration shows a valid connection. 2. **Your team has [on-call schedules](/essentials/escalations#schedules) and [escalation tiers](/essentials/escalations#escalation-tiers)** — call routing uses the same on-call chain as incident escalations, not a separate call-specific policy. 3. **On-call members have [confirmed phone numbers](/essentials/channels#sms-and-phone-calls) on their All Quiet profiles** — only members who are online and have a phone number configured can be dialed. 4. **You have permission to configure the number** — creating a Call Routing Number requires **Organization Administrator** or **Organization Owner** rights. **Team Administrators** can edit call routing, Twilio settings, and operational tabs for numbers whose **Root Team** they administer. ### Quick mental model **Call routing is always live.** When someone dials your number, All Quiet routes the call according to your Call Routing settings. Integration snooze, maintenance windows, and mute mostly affect **incidents** and alert notifications — they do not stop the phone from ringing. See [What snoozing, maintenance, and mute do](#what-snoozing-maintenance-and-mute-do-and-don’t-do) for details. ## How a call flows Before you tune individual settings, it helps to understand the end-to-end path of an inbound call. The diagram below shows every step; the numbered list underneath explains how All Quiet builds the on-call dial chain and how incidents are created. ```mermaid theme={null} flowchart TD A[Caller dials your number] --> BL{Allowed by allowlist / blocklist?} BL -->|No| R[Reject — call blocked] BL -->|Yes| B[Welcome message] B --> C{Keypad menu?} C -->|Yes| E[Caller presses key] C -->|No| DV{Send directly to voicemail?} E --> DV DV -->|Yes| VM[Record voicemail → Open incident created] DV -->|No| D[Resolve on-call chain for team] D --> F[Dial person in on-call chain] F -->|No answer / busy| H{More people in chain?} H -->|Yes| F H -->|No| I{Voicemail enabled?} I -->|Yes| J[Record voicemail → Open incident created] I -->|No| K[Play closing message → hang up, missed call, no incident created] F -->|Answers + accepts| L[Bridge call to responder] L -->|Call ends| M[Close call and create Open or Resolved incident] ``` 1. **Caller allow & block lists** — When the call reaches All Quiet, the caller’s number is checked against your [allowlist and blocklist](#caller-allow-%26-block-lists). Blocked callers, or callers not on the allowlist when one is set, are rejected before routing begins. 2. **Welcome message** — The caller hears your configured welcome message (text-to-speech or uploaded audio). In keypad menu mode, this message must explain the menu options. 3. **Route selection** — In single-route mode, All Quiet uses the default route. In keypad menu mode, the caller picks a route by pressing 1–9; invalid keys and timeouts follow your menu settings. 4. **Direct voicemail shortcut** — Once a route is selected, All Quiet checks **Send caller directly to voicemail**. If enabled, the on-call dial chain is skipped: the caller records a voicemail and All Quiet creates a **new open incident** from that recording. 5. **On-call chain & dialing** — If direct voicemail is off, All Quiet resolves who to call from the route’s **Team to route to**, using that team’s on-call schedule and escalation tiers — the same chain used for incident escalations, not a separate call policy. * Differences between Live Call Routing Escalations and Incident Escalations: * Only online members with a confirmed phone number on their profile are candidates to receive a call. * First, Tier 2 members are tried. One person is tried at a time, there is no parallel ring group. We randomly shuffle the order of the members in each tier for each call. * [Round Robin](/essentials/escalations#round-robin-alerting) is ignored. * If no one in Tier 1 answers the call, Tier 2 members are tried. We ignore if auto-escalations are enabled and we ignore the timeouts between tiers. We simply try the next person that is online in the team's on-call schedule. * If [auto-assign](/essentials/escalations#auto-escalations-across-several-teams) is enabled in your team's escalations, it is ignored. * [Repeat tiers](/essentials/escalations#repeat-escalation-tier) and [repeat escalations](/essentials/escalations#repeat-escalations) are ignored. 6. **Accept call** — The on-call member hears a prompt and must press 1 before the call is bridged to the caller. This prevents mailboxes and accidental pickups from connecting the caller. 7. **Escalation between people** — If someone doesn’t answer within **Dial timeout per user**, the next person is tried immediately — there is no wait between tiers. **Max users to call** caps how many people are tried before fallback. 8. **Fallback** — When the dial chain is exhausted, the caller hears your voicemail or a closing message. What happens next — incident or call log only — depends on your fallback settings. See [Incidents vs. call logs](#incidents-vs-call-logs) below. ### Incidents vs. call logs Every inbound call appears in **Call Logs**, no matter how it ends. An **[incident](/essentials/incident)** is only created when the caller leaves a voicemail or when an on-call member **accepts** the call (presses 1 and is bridged to the caller). Other outcomes — such as a **Missed** call where no one accepts and voicemail is disabled — are logged as calls only. | Outcome | Incident? | Status | Notes | | -------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Voicemail** (direct shortcut or after no one responds) | Yes | **Open** | Created when the caller finishes recording. Severity comes from the route’s **Incident severity** setting. If **Attach voicemail transcript to incident** is enabled, the transcript is added to the incident. On-Call members will receive normal incident notifications. | | **Accepted call** (on-call member pressed 1 and call was bridged) with **Auto-resolve** incident when on-call answers **on** (default) | Yes | **Resolved** | All Quiet creates a Resolved incident after the call ends. No escalations are started for the on-call members. | | **Accepted call** with **Auto-resolve** incident when on-call answers **off** | Yes | **Open** | The incident is created as open after the call ends and follows your team’s normal escalation workflow. | | **Missed call** (closing message, voicemail disabled) | No | — | The caller hears the closing message and hangs up. The call is recorded in **Call Logs** only — for example as a missed call with no voicemail. | | **Blocklisted** (caller rejected by allow/block list) | No | — | The call is hung up immediately — no welcome message, no on-call dial, no incident. Log step: `CallerBlocklisted`. See [Session outcomes](#session-outcomes). | | **Any outcome during a [maintenance window](/essentials/inbound#maintenance-for-inbound-integrations)** | No | — | The call is still routed normally, but **incident creation is suppressed**. You will find the call in **Call Logs**, but no new incident is created. | Use **Call Logs** to review every inbound attempt — who was dialed, menu choices, voicemail vs. missed, and call duration. Use the **Incidents** tab when you need actionable records that enter your on-call workflow (voicemails and taken calls). ### Concurrent inbound calls When several callers ring at the same time, each call runs through the flow above independently — but they draw from the same on-call members for a team. If an on-call member is already connected to another **live call** for that team, their phone number is **excluded from the dial chain** for any other inbound call. All Quiet will not ring the same number twice at once. When every reachable member is already busy, a second caller’s dial chain can be exhausted quickly — the same outcome as when no one answers. If **Send to voicemail if no one responds** is enabled, that caller is sent to voicemail. This is expected behavior, not a misconfiguration. For high-volume hotlines, keep voicemail fallback enabled so concurrent callers can still leave a message. The sections below walk through each setting on the **Call Routing** tab and how it maps to this flow. ## Call routing tab Now that you know how a call moves through All Quiet, open the **Call Routing** tab on your Call Routing Number to configure each step. The tab is divided into four sections: 1. **[General settings](/advanced/live-call-routing#general-settings)**: Configure the general settings for the call routing number. 2. **[Routing modes](/advanced/live-call-routing#routing-modes)**: Configure the routing modes for the call routing number. Choose between [single route](/advanced/live-call-routing#single-route-default) and [keypad menu mode](/advanced/live-call-routing#keypad-menu-mode). 3. **[Per-route settings](/advanced/live-call-routing#per-route-settings-route-editor-modal)**: Configure the per-route settings for the call routing number. Choose the team to route to, the incident severity, and the caller fallback. 4. **[Caller allow & block lists](/advanced/live-call-routing#caller-allow-%26-block-lists)**: Allow or block callers by phone number or country prefix before routing begins. ### General settings The general settings for your call routing number are: 1. **Caller ID shown to responders**: Show caller number vs. your inbound Twilio number. Helps responders recognize repeat callers vs. hotline number. We recommend showing the twilio number as the receiver can save it to their contacts for future reference and do not disturb overrides. 2. **Attach voicemail transcript to incident**: When enabled, voicemails are transcribed and attached to the resulting incidents. Currently, Call transcripts are generated in **English only** — if callers use another language, consider disabling this option. The incident is created as soon as the voicemail is recorded; the transcript is added afterward and can take a few moments to appear on the incident via an update. 3. **Welcome message**: The message that is played to the caller before they are routed to the on-call chain. This can be a text-to-speech in your preferred language or uploaded audio file. In [keypad menu mode](/advanced/live-call-routing#keypad-menu-mode), you should explain keypad options here. ### Routing modes Per default, incoming calls are sent to a single route in you integration's root team. You can configure this in the **Routing modes** section. #### Single route (default) One team, one route. Good for a single hotline. Click on the route to edit it. The [route editor modal](/advanced/live-call-routing#per-route-settings-route-editor-modal) will open. #### Keypad menu mode The keypad menu mode allows the caller to pick a route by pressing a number between 1 and 9. it is activated by clicking on `+ Add another keypad option` while in single route mode. 1. You can see your routes and there current settings. Caller presses 1–9 to pick a route (e.g. “Press 1 for production, 2 for billing”). 2. Define timeouts and tries for the caller in the keypad menu * **Menu keypad timeout**: Seconds to wait for input before re-prompting. * **Menu prompt attempts**: How many times the menu is played before hanging up (including timeouts or wrong keys). ### Per-route settings (route editor modal) When clicking on a route, the route editor modal will open. It is divided into four sections: 1. **[Routing](/advanced/live-call-routing#routing)**: Configure the team and severity for the route. 2. **[Caller fallback](/advanced/live-call-routing#caller-fallback)**: Configure what should happen if no one answers the call for the route. Or, send the caller directly to voicemail. 3. **[On-call dialing](/advanced/live-call-routing#on-call-dialing)**: Configure the on-call dialing for the route. How many users are tried, how long to wait for each user to answer, and what happens if someone answers the call. 4. **[Accept call](/advanced/live-call-routing#accept-call)**: Configure how on-call members are required to accept the call for the route. To prevent mailboxes from answering calls, **on-call members are always required to press 1 before the call is bridged to the caller**. #### Routing These settings define which team handles the call and how the resulting incident is classified. 1. **Team to route to** — Select the team whose on-call members should be dialed when this route is used. You can choose between your integration's root team and other teams within the root team's organization — which teams appear in the list depends on your role. **Team Administrators** can select teams they administer; **Organization Administrators** and **Organization Owners** can select from all teams in the organization. All Quiet builds the dial chain from that team’s [on-call schedule and escalation tiers](/essentials/escalations) — the same chain used for incident escalations. In keypad menu mode, each menu option can route to a different team. 2. **Incident severity** — Set the severity for incidents created from this route (answered calls and voicemails). Use this to distinguish a production hotline from a lower-priority line, or to align call-based incidents with your existing severity workflow. #### Caller fallback These settings control what happens when no one answers, or when you want callers to reach voicemail without dialing anyone. **Send caller directly to voicemail** — When enabled, All Quiet skips the [on-call dial chain](/advanced/live-call-routing#on-call-dialing) entirely and sends the caller straight to voicemail. Useful for after-hours lines, overflow numbers, or routes where you only want to collect messages. You can add a custom voicemail message here that is played after the [welcome message](/advanced/live-call-routing#general-settings). Choose between text-to-speech in your preferred language or uploaded audio. Max length for the voicemail message is 2 minutes. If **Send caller directly to voicemail** is disabled, you can configure what happens when no one answers the call after trying the [on-call dial chain](/advanced/live-call-routing#on-call-dialing). **Send to voicemail if no one responds** — When enabled, callers who reach the end of the dial chain (everyone tried within **Max users to call** did not answer and accept the call) are sent to voicemail instead of hearing a closing message and hanging up. This is the most common fallback for operational hotlines. If disabled, the caller will hear a closing message and hang up. Max length for the voicemail message is 2 minutes. **Voicemail message** — The message played before the caller can leave a voicemail. Applies when direct voicemail or “no one responds” voicemail is active. Can be text-to-speech or uploaded audio. **Closing message** — The message played when the dial chain is exhausted and voicemail is **not** enabled. After this message, the call ends. The call is logged in **Call Logs** as a missed call; **no incident is created**. See [Incidents vs. call logs](#incidents-vs-call-logs). #### On-call dialing These settings fine-tune how All Quiet walks through the on-call chain and what happens when someone picks up. **Auto-resolve incident when on-call answers** — Enabled by default. When an on-call member accepts and the call is bridged, All Quiet creates an incident that is **automatically resolved** when the call ends. Turn this off if you want answered calls to leave an **open** incident that enters your team’s normal escalation workflow. See [Incidents vs. call logs](#incidents-vs-call-logs) for a full breakdown. **Skip numbers already dialed in this call** — When enabled, All Quiet will not ring the same phone number twice during a single inbound call session. Helps avoid calling the same person again if they appear in multiple escalation tiers. **Max users to call** (1–10, default **3**) — Caps how many on-call members are tried across all escalation tiers before fallback (voicemail or closing message). Increase this for larger teams or longer chains; keep it lower if you want callers to reach voicemail quickly when the first few people are unavailable. **Dial timeout per user** (5–120 seconds, default **20**) — How long All Quiet waits for each person to answer before moving to the next person in the chain. There is no additional delay between tiers — the next person is dialed immediately after the timeout. Shorter timeouts reach voicemail faster; longer timeouts give responders more time to pick up (e.g. when they need to find a quiet place). Start with the defaults (max **3** users, **20** seconds per user) and adjust based on your team size and how quickly callers should reach voicemail. See [How a call flows](#how-a-call-flows) for how these settings fit into the overall call path. #### Accept call Before bridging the caller to an on-call member, All Quiet requires the responder to confirm they are ready to take the call. **“Press 1 to accept call” message** — The prompt played to the on-call member when their phone rings (text-to-speech or uploaded audio). They must press **1** on their keypad to accept; only then is the caller connected. Reduces accidental pickups and wrong-number answers on shared devices. Also, this prevents mailboxes from answering calls. **Accept call keypad timeout** — How long the on-call member has to press 1 after hearing the prompt before All Quiet treats the attempt as unanswered and moves to the next person in the chain. **Prompt attempts** — How many times the accept prompt is repeated before giving up on that person and dialing the next candidate. ### Caller allow & block lists The fourth section on the **Call Routing** tab lets you filter callers by phone number or country prefix before routing begins. Filtering runs when the call has already reached All Quiet — after your provider (e.g. Twilio) forwards it to us. Both **Allowlist** and **Blocklist** use the same entry format: * One entry per line or comma-separated * Full numbers in [E.164 format](https://www.twilio.com/docs/glossary/what-e164) (for example `+4915124688123`) or country prefixes (for example `+1`, `+49`) 1. **Allowlist (Whitelist)** — If set, only callers whose number matches an entry on the allowlist (full number or prefix) are allowed through. If the allowlist is empty, all callers are allowed unless blocked by the blocklist. 2. **Blocklist** — Blocks matching numbers or prefixes. The blocklist takes precedence over the allowlist — a number that appears on both lists is blocked. All Quiet filtering runs **after** your provider accepts the call. Make sure you do not have contradictory allow/block rules in Twilio — calls only reach All Quiet if Twilio lets them through. You've successfully set up Live Call Routing in All Quiet. You're now able to receive inbound calls and route them to the right responders. ## Operational tabs After configuring call routing, use these tabs on your Call Routing Number to review what happened on your hotline. They complement each other: **Call Logs** capture every attempt; **Incidents** capture only what enters your on-call workflow. See [Incidents vs. call logs](#incidents-vs-call-logs) for when each applies. ### Call Logs Call logging in All Quiet works on **two levels**: 1. **Call session** — one row per inbound call (the **Call Logs** list). 2. **Log entries** — a step-by-step timeline inside that session (**View logs**). Every inbound call creates a session, whether or not an incident is created. #### Call session list The list shows a summary for each call. You can filter by **caller number** (prefix match) and **outcome**. | Column | What it shows | | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Started / Ended / Duration** | When the call began, when it finished, and total duration | | **Caller** | The caller’s phone number | | **Outcome** | Final result badge — see [Session outcomes](#session-outcomes) below | | **Voicemail** | Download link if a recording was captured | | **Incident** | Link to the incident, if one was created — from the incident, open **[Call Logs](/essentials/incident#incident-details-call-logs)** in the Properties sidebar for the same session and timeline | | **Logs** | Opens the [detailed timeline](#view-logs-session-detail) for that call | #### Session outcomes These badges answer **“What happened to this call?”** | Outcome | Meaning | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Ongoing** | The call has not finished yet. | | **Accepted** | An on-call member answered **and pressed 1 to accept**; the call was bridged to the caller. Picking up without pressing 1 does **not** count as Accepted. | | **Voicemail** | The caller left a voicemail — either via [direct voicemail](/advanced/live-call-routing#caller-fallback) or after no one responded with voicemail fallback enabled. | | **Missed** | The call ended without anyone accepting and without a voicemail recording — for example dial chain exhausted with only a [closing message](/advanced/live-call-routing#caller-fallback). | | **Blocklisted** | Caller was rejected by the [allow/block list](#caller-allow-%26-block-lists) before routing. No welcome message, no on-call dial, no incident. Log step: `CallerBlocklisted`. | | **Failed** | Reserved for sessions explicitly marked as failed. Most calls resolve to **Accepted**, **Voicemail**, or **Missed** instead. You might want to check your provider (e.g. Twilio) logs as well to see why the call failed. | #### View logs (session detail) Click **View logs** on a session to open: 1. **Session summary** — caller, outcome, timestamps, provider call ID, voicemail download (if any). 2. **Chronological log table** — one row per processing step: webhook received, dial chain built, dial attempt, voice command sent, and so on. Use this view when troubleshooting routing — for example “Why wasn’t person X rung?” or “Why did this call go to voicemail after only one attempt?” #### Reading the log timeline Each log row has a **Step** (where the call was in the flow), an **Action**, and a **Result**. The most useful steps when reading a call: | Step | When it appears | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **CallReceived** | A new inbound call arrived; the session was created. | | **CallerBlocklisted** | Caller failed the [allow/block check](#caller-allow-%26-block-lists). Call ended immediately; no further routing steps are logged. | | **GatherDtmf** | Waiting for the caller to press a menu key ([keypad menu mode](/advanced/live-call-routing#keypad-menu-mode)). | | **DialChainResolved** | All Quiet computed who will be dialed and in what order. **Start here** to see the full on-call dial list. | | **DialTarget** | About to ring an on-call member. | | **DialTargetResult** | Result of that dial attempt — explains in plain language why it succeeded or failed (timeout, busy, answered but did not press 1, accepted and bridged, etc.). | | **ConfirmTarget** / **ConfirmTargetResult** | The on-call member heard the “press 1 to accept” prompt and their response. | | **Voicemail** / **RecordMessage** | Caller was sent to voicemail or is recording a message. | | **Hangup** | Call is ending (closing message or clean hang-up). | **Actions** on each row: | Action | Meaning | | -------------------- | ------------------------------------------------------------------------------------------- | | **Webhook Received** | Your provider (Twilio) sent a status update. | | **Command Sent** | All Quiet sent a voice command back (play prompt, dial, gather keypad input, etc.). | | **Internal** | Internal processing only — for example resolving the dial chain or analyzing a dial result. | **Results:** **Processed** (step handled), **Failed** (something went wrong — see error details in the row), or **Ignored** (webhook received but no action taken). A log row with **Result = Failed** is not the same as session outcome **Failed**. A single failed processing step can still end with the call marked **Missed** or **Voicemail**. When debugging a call, read **DialChainResolved** first (who was eligible), then each **DialTargetResult** (what happened per attempt), then **Voicemail** or **Hangup** (how the call ended). #### Retention | Data | Retention | | ---------------------------------------------------- | -------------------------------------------------------------------------- | | **Detailed log entries** (timeline in **View logs**) | **365 days** — shown in the UI as “Call logs are retained for 365 days.” | | **Voicemail recordings** | **365 days** — download links stop working after the recording is removed. | | **Call session summaries** (list rows) | Kept for 365 days automatic expiry | When a caller reports they couldn’t get through but no incident was created, check **Call Logs** first. Missed calls, exhausted dial chains, and calls during maintenance all appear here — but not in the **Incidents** tab. ### Call Stats **Call Stats** aggregates call sessions on this number over time — volume, duration, and breakdown by **outcome** (**Accepted**, **Voicemail**, **Missed**, **Blocklisted**, **Ongoing**, and **Failed**). Use it to spot trends: Are most callers reaching a responder? How often does voicemail kick in? Is missed-call volume rising after a schedule change? How many callers are being rejected by your allow/block lists? The same outcome badges from the [Call Logs](#session-outcomes) list drive these statistics, so numbers in **Call Stats** match what you see per call in **Call Logs**. Call logs are retained for 2 years. ### Incident Report The [Integration-level Incident Report](/advanced/report#integration-level) shows [incidents](/essentials/incident) **created from this number** — not every call. Only **voicemails** and **successfully accepted calls** produce incidents; **Missed** outcomes appear in **Call Logs** only. ### What snoozing, maintenance, and mute do (and don’t do) This section clarifies a common misconception: these controls only **affect incindents** resulting from Calls, but not the call routing itself. | Control | Affects live calls? | Affects incidents? | | ---------------------------- | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Snoozing** | No — calls still route to on-call | New incidents create after the call ends or voicemail is left can be [snoozed](/essentials/inbound#snoozing-inbound-integrations); call routing itself is unaffected | | **Maintenance** | No — calls still route | **New incident creation is suppressed** during maintenance windows; the call still happens, but you will not get an incident record | | **Muted** | No | Affects [incident/notification behavior](/essentials/inbound#maintenance-for-inbound-integrations), not the inbound call path | | **Pausing the phone number** | **Not in All Quiet** | N/A | #### Pausing or disabling the number in Twilio All Quiet has no “pause this number” toggle for Call Routing Numbers (unlike [Ping Monitor](/integrations/inbound/ping-monitor) or [HTTP Monitoring](/integrations/inbound/website-http-monitoring)). To temporarily stop callers from reaching All Quiet, adjust the webhook in **Twilio Console**: **Temporarily pause inbound calls (keep the number)** 1. Open [Twilio Console](https://console.twilio.com/) → **Phone Numbers** → **Manage** → **Active numbers** and select your Live Call Routing number. 2. Under **Voice configuration**, find **A call comes in** (also labeled **Incoming Voice Call**). 3. Replace the All Quiet webhook with one of the following: * A **TwiML Bin** or **TwiML App** that plays a short “this line is unavailable” message and hangs up. * A **Twilio Function** that rejects the call (``). * Clear or change the webhook so traffic no longer reaches All Quiet. Callers will no longer enter the All Quiet routing flow until you restore the webhook. **Resume routing to All Quiet** When you are ready to go live again, make sure there's no webhook configured in Twilio Console in **A call comes in** for your number. Then, open the **Twilio Settings** tab on your Call Routing Number in All Quiet and **save** your integration settings. All Quiet re-applies the correct voice webhook on your Twilio number. Confirm under **A call comes in** in Twilio Console that the webhook points back to All Quiet, then place a test call. ## Recommended defaults & tuning guide A practical “start here” table: | Scenario | Suggested settings | | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | Small team, single hotline | Single route, max users = tier count, voicemail on, auto-resolve on | | High concurrent caller volume | Voicemail on, reasonable max users (3–5), accept-call enabled — see [Concurrent inbound calls](#concurrent-inbound-calls) | | After-hours only voicemail | Direct voicemail route, or schedule via team availability | | Multi-department | Keypad menu, one route per team | ## Troubleshooting ### Can I buy a phone number through All Quiet? **Not currently.** Live Call Routing uses **Bring Your Own Number (BYON)**: you purchase and own the number with a provider such as [Twilio](/integrations/inbound/twilio), then connect it to All Quiet. We do this so you are not charged twice — once by the carrier for the number and again by All Quiet on top. You pay your provider directly for the number and usage; All Quiet handles routing and on-call dialing on top. ### Can All Quiet create incidents for missed calls? **No.** All Quiet only creates incidents for **voicemails** and **accepted calls** (on-call member pressed 1 and the call was bridged). **Missed** calls — where no one accepts and the caller does not leave voicemail — appear in **Call Logs** only, not in **Incidents**. If you want a record that enters your escalations when no one answers, enable **[Send to voicemail if no one responds](/advanced/live-call-routing#caller-fallback)** or **[Send caller directly to voicemail](/advanced/live-call-routing#caller-fallback)** on your route. Voicemail recordings create **open incidents**. See [Incidents vs. call logs](/advanced/live-call-routing#incidents-vs-call-logs). ### Call connects but no incident was created The call was routed and appears in **Call Logs**, but no incident was created. Check whether a [maintenance window](/essentials/inbound#maintenance-for-inbound-integrations) was active — calls still route, but incident creation is suppressed. See [Incidents vs. call logs](/advanced/live-call-routing#incidents-vs-call-logs). ### Nobody gets rung when someone calls the hotline Verify that on-call members are **online**, have a **confirmed phone number** on their profile, and that the route’s **Team to route to** is correct. Call routing only dials members in that team’s on-call schedule. See [Prerequisites](/advanced/live-call-routing#prerequisites) and [On-call chain & dialing](/advanced/live-call-routing#how-a-call-flows). ### The same person always seems to be rung first Within a tier, dial order is **shuffled randomly per call** — there is no fixed “first responder.” The same person may be tried first several times in a row by chance; across many calls the order varies. ### A second simultaneous caller always gets voicemail [Expected when all reachable numbers are busy](/advanced/live-call-routing#concurrent-inbound-calls). On-call members already on a live call for that team are excluded from other dial chains. Enable **Send to voicemail if no one responds** so concurrent callers can leave a message. ### The number still receives calls after “pausing” in All Quiet All Quiet has no pause toggle for Call Routing Numbers. Pause or disable inbound calls in **Twilio** — see [Pausing or disabling the number in Twilio](/advanced/live-call-routing#pausing-or-disabling-the-number-in-twilio). ## Related docs * [Connect Twilio with All Quiet](/integrations/inbound/twilio) — number setup and credentials * [On-call schedules & escalation tiers](/essentials/escalations) * [Troubleshooting & FAQs — Live Call Routing](/miscellaneous/troubleshooting#live-call-routing) # Organizations Source: https://docs.allquiet.app/advanced/organizations Organizations in All Quiet provide a structured way to manage and coordinate multiple teams under a single umbrella. This feature is particularly useful for larger setups or enterprises where multiple teams need to collaborate and share resources efficiently. Organizations are available on Pro and Enterprise plans. ## Key Features of Organizations ### Roles Organization Memberships feature three main roles * `Members` *Organization Members* have automatically *Team Member* rights in all Teams belonging to the organization. This means they can also manage all incidents of the organization's teams. However, to add them to a team’s on-call schedule, you need give these users explicit [team roles](/essentials/teams#roles), additionally. * `Administrator` *Organization Administrators* have automatically *Team Administrator* rights in all Teams belonging to the organization. This means that on top of being able to manage incidents of all teams, they can also manage all users of the organization's teams. Moreover, they can create overarching policies, such as routing to teams. If applicable, they can also manage the organization's status pages and related serveices. * `Owner` *Organization Owners* additionally have exclusive rights to manage the organization itself, including member roles and organization settings. ### Cross Team Collaboration * **Assining Incidents to other Teams an Users**: Incident can be [assigned to specific users](/essentials/incident#assign-to-user), even if they are not on-call. Also, you can assign the incident to [additional teams](/essentials/incident#assign-to-team) if help is needed. * **[Advanced Incident Routing](/advanced/routing):** Organizations enable sophisticated routing mechanisms that allow incidents to be dynamically assigned to different teams within the organization. * **Share Integrations across Teams:** [Inbound](/essentials/inbound#how-to-use-one-integration-for-several-teams) and Outbound Integrations can be shared across teams, simplifying the setup and embracing collaboration. ### Security Leverage [OIDC](/miscellaneous/sso) Login, [SCIM](/miscellaneous/sso#scim-2-0) and [Terraform](/advanced/terraform) provisioning as well as out [Public API](/advanced/api) access control security and centralize user and resource management ### Simplified Organization Organizations are designed to offer advanced team management and coordination capabilities: * **Centralized Management:** Simplify the administration of multiple teams by centralizing management tasks under one organization. * **Scalable Team Dynamics:** As your team or business grows, Organizations make it easier to scale management and operational processes without compromising on efficiency or oversight. ## Should I Use Organizations? While Organizations offer powerful features for team management and coordination, they are an advanced feature: * **Optional, Not Required:** Utilizing Organizations is not mandatory to achieve full functionality in All Quiet. They are optional and suitable for users who require advanced management capabilities. * **Ideal for Multiple Teams:** Organizations are best suited for scenarios involving management of multiple teams, providing tools to streamline administration and incident management across several teams. * **Consider Your Needs:** It is important to assess whether your current or anticipated team dynamics necessitate the advanced coordination capabilities that Organizations provide. E.g. organizations allow you to share one outbound integration amongst several teams. This allows you to send incidents from differenet teams within your org to the same slack channel, using the same integration. ## What's the difference between Organization & Team Memberships? At All Quiet, **Team** and **Organization Memberships** are independent of each other. Users with Organization Memberships have rights for all teams within the organization, allowing them to interact with all incidents. However, they are not part of any schedules, escalations, or rotations, meaning they are never on-call. To include a user in a team's on-call escalations, assign them a specific **Team Membership** in addition to their Organization Membership. Organization Members are not billed. Billing is based on the number of unique users with Team Memberships across all teams. You can view all billed users under "Billing & Subscription > Your current usage". Users can have Team Memberships without having Organization Memberships and vice versa. ## Setting Up Your Organization Navigate to the `Organizations` section in the sidebar and click on `+ Create`. New Organizations can be created by Users who signed up without being invited, as well as Billable Users and *Organization Owners* of existing Organizations. 1. Enter your organization's name in the `Display Name` field, such as `My Demo Org`. 2. Next, select the teams you wish to include in your organization. Teams can be modified later through the team's edit form or directly within your organization’s settings. As you are creating the Organization, you will become the Organizations Billable User. You can [change the Billable User](/miscellaneous/billing#organizations) later on. After creating the Organization, you will be redirected to the Organizations overview. From here, after creating your org, you’ll have several options to manage it (1-7). ### Edit the Organization Editable for *Organization Owners*, viewable for *Organization Administrators* and *Organization Members* 1. Click `Edit` to access the edit view of your Organization. 2. You can change the orgs `Display Name` 3. You can update the *Billable User* here. Select between all *Organization Owners* Be careful when changing the *Billable User*. A subscription is attached to a User, not to an Organization. The new *Billable User* will have to resubscribe and create a new subscription. Otherwise, no new incidents will be created for Teams in this Organization. **Exception**: The Trial is still active. 4. Click "Save" if you want to keep your changes. ### Edit the Teams of the Organization Editable for *Organization Owners*, viewable for *Organization Administrators* and *Organization Members* 1. Click `Teams` to access the view showing all Teams of your Organization. 2. If you are the *Billable User* or an *Organization Owner*, you can update the teams here. Besides the teams already in the organization, you can also add teams that are not currently part of any organization, provided you are the *Billable User* for them. If you want to add teams for which you currently lack the necessary rights, contact their *Billable User* and request that they either add the team to the organization or assign you as the *Billable User*. ### Manage Organization Members Editable for *Organization Owners*, viewable for *Organization Administrators* and *Organization Members* 1. Click `Members` to access the the member management. 2. To add your colleagues who should have [Organization Roles](/advanced/organizations#roles), click `Invite New`. Remember, this step is only necessary for users who need organizational privileges. User can be part of your Organizations Team withouth have Organization Roles. 3. You can update the Role or remove Organization members, anytime. Clicking `Invite new` opens a layover to invite new members to your organization. You have the option to invite new users who are not yet part of All Quiet, or you can select from a list of users with whom you are already associated within the platform. You can also decide which role they should have in the Organization, *Member*, *Administrator* or *Owner*. Learn more about the difference, [here](/advanced/organizations#key-features-of-organizations). ### SSO - OIDC & SCIM Accessible to *Organization Owners* only. To set up OIDC & SCIM, follow this [guide](/miscellaneous/sso). ### Users Editable for *Organization Owners*, viewable for *Organization Administrators* and *Organization Members* 1. On this page you can find all users associated wiht your Organization. 2. You will see all Team and Organization Roles currently assigned to these users. 3. When provisioned via [SCIM](/miscellaneous/sso#scim-2-0) or [Terraform](/advanced/terraform#find-provisioned-users-in-all-quiet), you will see this in the `Source` column. For compliance reasons, you can delete provisioned users via the frontend. If not necessary, we recommend to not make use of this. Deleting provisioned resources via the Frontend can e.g. destroy your Terraform State. 4. For security reasons, you cannot delete yourself via this view, as this can lead to a deletion of the whole org. 5. You can `Delete` other users of your organization. If a user only has roles within this specific organization and it's teams, their entire All Quiet account will be deleted and anonymized. However, if they have roles in other organizations or teams, their account will remain active — but they will lose all access to this organization’s resources. ### API Keys Accessible to *Organization Owners* only. Here, you can create and find the API keys you need to use [SCIM](/miscellaneous/sso#scim-2-0) and [Terraform](/advanced/terraform#create-api-key) with All Quiet. ### On-Call Report Accessible to *Organization Owners* and *Organization Administrators*. For more info about the on-call report, please read the [On-Call Report documentation](/advanced/report#on-call-report). ### Incident Report Accessible to *Organization Owners* and *Organization Administrators*. For more info about the incident report, please read the [Incident Report documentation](/advanced/report#incident-report). ## Creating a New Team in Your Organization The Billable User, *Organization Administrators* and *Organization Owners* can create a new team in an Organization. Under `Teams` click `+ Create`. Pick a team's name. Then, select the organization you want to add the team to. The [Billable User](/miscellaneous/billing#organizations) of the selected Organization will become the new team's Billable User, too.

To create a team in a new organization, [create a new organization](/advanced/organizations#setting-up-your-organization) first. Hit `Create`. Later, Team Name and Organization can be changed, again.
# Reports Source: https://docs.allquiet.app/advanced/report Get insights into the performance of your team and organization ## Incident Report Our Incident Report shows the latest incident trends KPIs for your Teams and Organization, comparing them with the previous period. The report is available on Team and Organization Level. ### Team level The Incident Report is visible to all Members of the related Team. If the Team belongs to an Organization, all Users with [Organization Roles](/advanced/organizations#key-features-of-organizations) have access, too. Your Team's current incident report can be found in the `Incidents` tab of your Team. 1. Select the Timezone of the Report. Per default, the report shows all times in your [Team's timezone](/essentials/teams#edit-team). 2. Add filter criteria 1. Per default, the report shows the last 7 days and compares them with the previous 7 days. You can adjust this time interval, anytime. 2. Additionally, you can filter for Incident `Severity` or `Status`. 3. Download the Report as .csv based on your current filters. 4. Your Team's incident KPIs, comparing the current time interval with the previous. 1. **Total**: Total Number of Incidents 2. **Resolved**: Number of Incidents that are resolved, also relative (in %) to the number of **Total** incidents. 3. **MTTA**: Mean Time to Acknowledge, the average time it took your team to acknowledge new incidents. 4. **TTA Median**: It’s the middle amount of time it took your team to acknowledge an incident. Half the cases happen faster than this time, and half happen slower. 5. **MTTR**: Mean Time to Resolution, the average time it took your team to resolve new incidents. 6. **TTR Median**: It’s the middle amount of time it took your team to resolve an incident. Half the cases happen faster than this time, and half happen slower. 5. The graph showing the amount of incidents per time interval matching your filter criteria 6. Link to the [Engagement Report](/advanced/report#engagement-report). ### Integration Level The Incident Report is visible to *Team Administrators*, *Organization Administrators* and *Organization Owners*. This report shows the Incident KPIs for each Inbound Integration. It is available within each Inbound Integration under the “Incidents” tab. The report works in the same way as the [Team Report](/advanced/report#team-level) described above. ### Organization Level This feature is only available for Organizations, which are part of Pro and Enterprise plans. The Incident Report is visible to *Organization Administrators* and *Organization Owners*. You Organization's incident report can be found in the tab `Incidents` within your Organization. In general, the report works the same as the [Team Incident Report](/advanced/report#team-level). 1. Select the timezone for the report. Per default, it's your local timezone. 2. Download the Report as .csv based on your current filters. The Organization Report has the same filters and default settings as the Team Report, plus you can filter for Teams. 3. Below the graph, you can find a table showing all relevant KPIs on Org Level and per Team. 1. You can sort the table by any KPI in ascending or descending order by clicking on the column header. This allows you, for example, to quickly identify which team has the most incidents or the highest MTTA. 2. The Org Level Row always stays on top. Since a single incident can be assigned to multiple teams, the total number of incidents in your organization may not equal the sum of incidents across all teams. ## On-Call Report This feature is only available for Organizations, which are part of Pro and Enterprise plans. The On-Call Report is visible to *Organization Administrators* and *Organization Owners* This report gives you an overview of your users' on-call times. Here's how you find it & how it works: 1. In the Web App, open `Organizations`. 2. Select the desired Organization and open the 3-dot menu. 3. Click on the `On-Call Report` button. 1. The Report is available on-demand with flexible date selection and per default features all on-call times of the current month. You can also filter for Teams of your organization and only export on-call times from these teams. The timezone can be used to further fine tune the observed interval. If you have users living in different timezones, this feature helps to determine their actual on-call times for e.g. the month according to their timezone. This can be pretty important for payroll purposes. 2. You can see the on-call times of your organization’s users for the selected interval. Note that only Tier 1 and [Tier 1 fill-up](/essentials/escalations#auto-fill-up-from-higher-escalation-tiers) times are currently represented. If a user is on-call in 2 [different teams](/essentials/teams) of one organization at the same time, the time is still only counted once. You want to know Tier 2, 3 etc. on-call times? This info is available via our [Public API](/advanced/api). 3. **Download** button: Download a .csv of the on-call times for the selected time interval. ## Engagement Report The Engagement Report is visible to all Members of the related Team. If the Team belongs to an Organization, all Users with [Organization Roles](/advanced/organizations#key-features-of-organizations) have access, too. The Engagement Report highlights the analytical depth of your team's incident management efforts. Available on-demand through the `Teams > Reports` section in the Web App with flexible date selection, this feature also arrives on a weekly basis in your inbox. The report is created for each team separately. Features: * **Scheduled Delivery:** Automatically sent every Monday at 7 AM local time for a consistent, timely overview of the past week's activities. Reschedule the delivery in your [team's settings](/essentials/teams#edit-team). * **Incident Management Summary:** Snapshot of total incidents, percentage of resolved incidents and time with and without open incidents, highlighting effectiveness and responsiveness. * **Performance Metrics:** Average and median response and resolution times, with details on individual incidents. * **Team Performance Analysis:** Data analysis on team performance trends, with customizable sections for additional metrics. ### Incident is Managed in 2+ Teams Or Team is Changed Available for Pro and Enterprise users only via [assign](/essentials/incident#assign-to-team) action. * The incident will only be listed in the report as long as it remains in your team. If you assign an incident that was originally in this team to another team, it will only appear in the other team’s report. * If an incident was [assigned](/essentials/incident#assign-to-team) to your team after its creation, the values in the report may differ. See the example below. * **Example** * Incident is created in Team A (t=0 min) * Team A, Member 1 acknowledges the incident (t=10 min) * Incident is assigned to Team A & B (t=15 min) * Team B, Member 2 acknowledges and resolves the incident (t=20 min) * **Team A Report**: * **Started**: 0 min * **Time To Response**: 10 min * **First Responder**: Team A, Member 1 * **Time To Resolve**: 20 min * **Resolver**: Team B, Member 2 * **On-Call (T1)**: Team A, Tier 1 Member(s) when incident was started * **Team B Report**: * **Started**: 15 min (the point in time when the incident was assigned to Team B) * **Time To Response**: 5 min (20 min after creation, 5 min after assignment) * **First Responder**: Team B, Member 2 (first responder after assignment) * **Time To Resolve**: 5 min (20 min after creation, 5 min after assignment) * **Resolver**: Team B, Member 2 * **On-Call (T1)**: Team B, Tier 1 members, **plus** all notified Team A members, when incident was assigned to Team B in t=15 min # Advanced Incident Routing Source: https://docs.allquiet.app/advanced/routing Add Advanced Incident Routing Rules to Customize your Workflows Advance Routing rules can be created an edited by *Organization Owners*, *Organization Administrators* (in Organizations) and *Team Administrators* with Billable User rights (if there are no Organizations). *Team Members* and *Organization Members* have view-only access. Advanced incident routing in All Quiet allows technical teams to streamline their workflows by customizing how incidents are handled based on specific conditions and actions. This feature ensures that alerts are managed and escalated efficiently, tailored to the severity and nature of the incident. Best practice: create **one** routing per team and put all routing rules into that routing. Avoid having multiple routings connected to the same team with overlapping rules—if two routings match the same incident type, we can’t infer your business priority and it becomes ambiguous which routing should apply first. Two popular use cases are: 1. Mute channels when `Environment = "TEST"` -> reduce noise for Development/Testing Environments 2. Trigger an outbound webhook only for incidents that have been escalated You can check out the [examples](/advanced/routing#examples) on this page. # Setting Up Your Advanced Incident Routing