Matrix bridges to Slack, IRC and other platforms

A Matrix bridge relays rooms to Slack, IRC or another chat platform so teams can coexist during a move. This guide covers when to bridge, how to build and verify it, and what message data it exposes.

On this page

When Matrix bridges to Slack and IRC help a move, and when they add risk

A Matrix bridge keeps rooms in step across platforms, but it does not make them one system. Teams still on Slack or IRC can take part in Matrix rooms, and people in Matrix can reply to them, while the organization moves over in stages. Bridges are most useful during that transition window, when some teams have moved and others have not yet. Once the last team is on Matrix, the bridge should be scheduled for removal, not kept as a permanent part of the setup. Decide the coexistence period, and who approves its end, before the first room is bridged.

Every bridge is a second system to run, patch, monitor and audit. It has its own process, its own credentials for the other platform, its own storage for mappings and media, and an identity inside Matrix that posts on behalf of remote users. Each of these needs an owner, a log source and an access review, in the same way the homeserver does. Ask who on your team will receive alerts when the other platform changes its API, and who will decide when a bridge is no longer supported. If nobody can answer both questions, the bridge is adding risk faster than it adds value.

The Matrix ecosystem lists bridges for Slack, IRC, WhatsApp, Telegram, Signal and email. Each one relays different content and identity data. A Slack bridge may map workspace accounts and display names into Matrix identities, and may handle files, threads and reactions differently from plain text. An IRC bridge typically sees nicknames and channel messages, but no account login. Messaging apps that use end-to-end encryption on their own side raise a separate question: what the bridge can read, decrypt and store. For each platform in scope, list the message types, identity fields and media the bridge will handle, and confirm where that data is kept and for how long.

Bridge quality, supported features and upkeep vary by bridge project, and they change over time. Before you commit, check each project's documentation for its current maintenance status, the Synapse and application service settings it expects, how it treats encryption and media, and which features are listed as supported or experimental. Test the exact features your teams depend on, such as edits, reactions and file sharing, in a non-production room. Confirm all of these against each project's own documentation and your environment, not against general descriptions of bridges.

Which parts of the bridge stack the work touches

A Matrix bridge is not a single program. It touches the homeserver, its registration, a separate database, a third-party account, and the host that runs it, and each one needs an owner and a check before go-live. The cards below describe those parts in the order a team usually meets them during planning.

The Matrix homeserver

Most supplied references describe Synapse, which runs as a main process with optional worker processes. Bridge traffic adds events, presence and room state to the same homeserver that serves your users, so the load has to be estimated against the existing deployment. Confirm the homeserver version, the worker layout and the capacity headroom before adding any bridge.

Application service registration

A bridge is registered with the homeserver through an application service registration file that declares the user namespaces and room aliases it may control. This file is the bridge's permission boundary, so reviewers should read the namespace patterns line by line. Confirm who can change it and how a change is reviewed and applied to the homeserver.

The bridge process and its settings

The bridge is a separate service that holds the registration tokens and the connection details for both sides. It must be configured with the homeserver's server_name, because that value determines how the bridge forms user IDs and room identifiers. A mismatch often appears only after the first message fails to route, so test the configuration against a non-production homeserver first.

The bridge's own database

Most bridges keep their own database for message mappings, puppet users and login state. It is separate from the Synapse database, has its own schema changes between releases, and holds personal data from the bridged platform. Decide who owns it, where it is backed up, how long mappings are kept, and how it is restored if the bridge is rolled back.

The third-party account or bot identity

Each bridged platform requires an account, bot or app identity with its own permissions, token lifecycle and rate limits. Slack, IRC, Telegram and other networks each set different rules for bots and puppeting. Confirm the exact permissions the bridge needs with the platform's documentation and the bridge's own notes, and grant no more than that.

The host or container running the bridge

The bridge runs on a virtual machine, container or Kubernetes workload inside your infrastructure, and it needs outbound connectivity to the platform and local connectivity to the homeserver. Its secrets, logs and restart behavior sit with your operations team. Confirm where the process runs, how secrets are stored, what gets logged, and who receives alerts when it stops.

The trust relationship with the homeserver

The bridge connects to the homeserver with credentials that let it act for many users, which makes it a trust relationship your team has to control. Its registration grants it reach across the namespaces it claims, so it should run on infrastructure you administer and be limited to the rooms you intend to bridge. Record who approved each bridge and when its access is reviewed.

Which bridges to run and how far the relay should go

This table compares the main design choices for Matrix bridges, from one bridge per platform to hosting and history decisions. Read each row against your own data handling rules and support capacity, then confirm with each bridge project what it supports before you commit.

DecisionWhen it fitsOperational cost
Bridge per platform versus one multi-platform bridgeSeparate bridges suit a single target platform such as Slack or IRC, with independent upgrades. A multi-platform bridge suits teams that need several targets under one configuration.Per-platform bridges mean several processes to patch and monitor. A multi-platform bridge concentrates risk, so one failure or upgrade touches every relay. Confirm supported targets for each project.
Read-only relay versus two-way relayRead-only relay fits coexistence periods where a legacy channel must show Matrix activity for staff who have not moved yet. Two-way relay fits teams who must reply from either side during migration.Two-way relay adds identity mapping, permission handling and spam or abuse review on the foreign platform. Read-only relay reduces audit scope but still stores copies of messages on both sides.
Bridging public or selected rooms onlyBridging selected rooms fits confidential or regulated conversations, which should stay off external platforms unless a documented decision allows it. Public rooms fit community or announcement traffic.Room selection needs an owner and a review process when rooms are created or renamed. Every bridged room widens the set of systems that hold message content and must appear in data handling records.
Hosting the bridge beside the homeserver versus on a separate hostCo-hosting suits small deployments with one operations team and low traffic. A separate host fits organizations that want the bridge isolated from the homeserver's credentials and network access.Separate hosts need their own patching, monitoring, backups and network rules. Co-hosting shares failure domains and can complicate homeserver upgrades. Confirm the bridge's application service registration steps for each layout.
Keeping bridged history versus starting freshKeeping history fits cases where the bridged room is a record that staff must search. Starting fresh fits cases where old content should not move into Matrix or where retention rules differ.Imported history adds a second database for bridge state, storage growth and a larger retention and deletion scope. Starting fresh avoids backfill work but leaves older content only on the source platform. Confirm backfill support with the project.
Identity mapping of users across platformsMapping fits teams that need named senders and clear attribution in both directions. Shared or puppet accounts fit low-stakes channels with few participants.Mapping requires a maintained user list, handling of departures and renamed accounts, and a clear rule for who can request changes. Puppet accounts hide the human sender and complicate access reviews.
Support load and ownershipDedicated ownership fits relays used for business communication. Informal ownership fits short coexistence periods with a fixed end date.Someone must handle broken relays, token rotation, quota or rate limit issues and user questions. Budget this as recurring internal time, and ask any implementation partner to state what ongoing support covers.

How to build a Matrix bridge in order, with a check after each step

This sequence takes a Matrix bridge from scoping to production in an order that keeps production data safe at every stage. Each step ends with a check you can observe, so a failure is caught before it reaches live rooms or users.

  1. Define rooms, users and data owners

    Write down every Matrix room and user that the bridge will touch, the platform channel or contact it maps to, and the named data owner who approves it. Confirm which rooms carry confidential or regulated content and whether they may be relayed at all. The step is done when the owner of each room has signed off in writing and the list is stored with the change record. A room without an owner stays out of scope.

  2. Choose the bridge for each platform

    Select one bridge per target platform from the Matrix ecosystem list, then read its documentation for supported features, required Matrix homeserver version, and license. Check which message types, edits, reactions, file transfers and encrypted rooms it supports, because the gaps will shape what users see. Confirm with the bridge maintainers any capability you cannot verify in the documentation. The step is done when you have a written comparison that names the chosen bridge, its license and its known limits for each platform.

  3. Stand up a test homeserver

    Build a staging homeserver with the same major software versions as production, using a separate server name and database, and create a staging room with test accounts. Do not copy production rooms, media or user data into this environment. Confirm that a test user can send and receive messages in the staging room before any bridge is involved. The step is done when the staging homeserver passes a basic send and receive test and its logs show no startup errors.

  4. Register the bridge as an application service

    Generate the bridge's registration file with its tokens and namespaces, then point the homeserver configuration at that file and restart it. Keep the namespaces as narrow as the bridge documentation allows, so the bridge only claims the user and room aliases it needs. The step is done when the homeserver log shows the application service loading without errors, and the bridge bot appears as an active user on the test server.

  5. Create a least-privilege platform account

    On the target platform, create a bot or service account that holds only the permissions the bridge needs, such as posting to the channels in scope. Avoid administrator roles unless the bridge documentation shows they are required, and record exactly which scopes you granted. Test the account with a deliberately wrong token first. The step is done when the bridge fails with a clear authentication error on the bad token and the correct token logs in successfully.

  6. Map identities and test both directions

    Map each Matrix room to its platform channel, and each Matrix user to a platform identity or a clearly labeled puppet account, following the bridge's configuration format. Send one message from Matrix to the platform and one reply from the platform back into Matrix in a single test room. Check that sender names, timestamps and room membership look correct on both sides. The step is done when both test messages appear on the other side with the expected sender, and any mismatch is fixed before the next step.

  7. Move to production with a tested rollback

    Repeat the approved configuration on production with the same versions and the same account scopes, then enable the bridge for the rooms named in step one. Write a rollback procedure that stops the bridge process and removes its registration from the homeserver, which disables the relay while leaving Matrix rooms and their history in place. Rehearse the rollback on staging and confirm the Matrix rooms still work afterward. The step is done when the rehearsal passes and the production relay shows the agreed test messages.

How bridge placement changes by deployment model

On a single host, the bridge runs beside a small Synapse installation on the same machine, usually as a separate service with its own system account. This is the simplest layout to build and the hardest to separate later. The bridge and the homeserver share an operating system, a disk and an administrator, so the boundaries rely on configuration and file permissions rather than on infrastructure.

What changes for each area:

  • Networking: The bridge usually reaches Synapse over localhost or a private interface, and its outbound connections to the third-party service leave the same host that serves your users. Confirm which firewall rules apply to that outbound traffic.
  • Secrets: Registration files and access tokens sit on the same disk as the homeserver configuration. Restrict file ownership so that only the bridge's service account can read its registration file.
  • Upgrades: Bridge and Synapse changes share one maintenance window, so a failed bridge update can hold up homeserver work. Rehearse upgrades on a copy of the host first.
  • Monitoring: Logs from both services often land in one place. This helps troubleshooting but mixes audit data, so confirm retention and access for each log stream.

Before approving this model, confirm the bridge's outbound destinations and get them approved by the security team, since consumer messenger bridges generally need outbound access to third-party services.

What drives the effort of a bridge project

This table lists the factors that change how much work a Matrix bridge project takes, with a way to keep each one down. Read it before asking for a quote, because each row is a line the quote should itemize. The main takeaway is that the scope you define on day one, especially which rooms and users cross the bridge and for how long, decides most of the effort.

DriverWhy it changes effortHow to keep it down
Number of platformsEach target network (Slack, IRC, Telegram, WhatsApp, Signal, email) has its own bridge, configuration, account model and failure modes to test and monitor.Start with one platform that solves a named coexistence need and add others only with a separate scope.
Number of bridged rooms and usersMore rooms mean more mapping, more permission checks and more traffic to verify, and room sprawl makes ownership unclear.Bridge a short list of named rooms, and confirm which rooms are excluded from the bridge before work starts.
Two-way versus one-way relayTwo-way relay needs message mapping in both directions, loop prevention and handling of edits, deletes and reactions. One-way relay is simpler to build and test.Use one-way relay for announcements or status feeds, and reserve two-way relay for rooms where people really must reply across platforms.
Media and file handlingImages, files, voice notes and attachments need storage, size limits, retention rules and sometimes content scanning on each side.Set a maximum file size, state which media types cross the bridge, and keep text-only relay where media is out of scope.
Identity mapping rulesEach external user must map to a Matrix identity or appear as a ghost user. Rules for display names, unknown senders and account linking vary by bridge.Limit identity mapping to named users who have agreed to it, and show other senders as plain relayed text.
Number of environmentsDevelopment, test and production each need their own bridge accounts, tokens, network access and test data, and each must be upgraded in step.Run the bridge in production and one test environment, and keep test data synthetic.
Compliance review of third-party data flowsMessages leave your Matrix homeserver and enter a platform you may not control. Privacy, retention and data residency reviews must cover both ends.Document which data crosses the bridge, check the target platform's terms and retention, and get the review approved before go-live.
Number of bridges to patch over timeEach bridge tracks its own release line and dependencies, and bridges often lag Synapse releases. Every patch cycle adds testing work.Set a retirement date for each bridge at approval and review it at each upgrade cycle, and ask the quote to include ongoing patching if it is needed.

How to limit what a bridge can see, store and send

A bridge sits between Matrix and another platform, so it reads, stores and forwards messages on both sides. The controls below decide how much content crosses that boundary, where it persists and who can change the bridge's reach. Review them together before any room is connected.

Confirm encrypted rooms cannot be bridged

Bridged messages leave Matrix's end-to-end encryption boundary to reach Slack, IRC or another platform, so encrypted rooms usually cannot be bridged in the same way. Confirm this for each bridge and each platform before promising coverage. Plan to keep encrypted rooms out of the bridge and document any room that is encrypted but still connected.

Map what the bridge database holds

A bridge database stores message mappings between Matrix event IDs and platform message IDs, along with user mappings and access tokens. Treat it as sensitive data with the same backup, access and retention rules as the messages it links. Ask the bridge vendor or project which tables hold content and which hold only identifiers.

Keep bot tokens out of config files

Bot tokens, appservice registration secrets and platform credentials must live in a secrets store, not in plain configuration files committed to the repository. Inject them at runtime and rotate them after staff changes. Check the repository history as well as the current files, since a token committed once remains exposed.

Grant the bot account least privilege

The bridge's account on Slack, IRC or another platform should hold only the scopes and channel permissions needed for the rooms it serves. Broad workspace administration or channel-wide read access expands what the bridge can see. List each permission the bot requests and remove any it does not need for a documented mapping.

Restrict who can invite the bridge

Decide who may invite the bridge bot into a Matrix room, since that invitation determines which content is forwarded to the other platform. Limit invitations to named room administrators and record each bridged room. Review membership periodically so a bot left in a room after a project ends does not continue to relay messages.

Control bridge logs and debug settings

Verbose logging or debug settings can write message bodies, usernames and tokens into log files and log shipping systems. Set log levels deliberately, avoid content logging in production, and define a retention period for bridge logs that matches the policy for the source rooms. Confirm with the bridge project which options log message content.

Document which rooms expose content

Keep a register that lists each bridged room, the Matrix room ID, the platform and channel it reaches, the direction of relay and the data classification of the content. Review the register when rooms are added, retired or change membership. The register gives reviewers a single place to answer which audiences can read a given conversation.

How to test a bridge before users depend on it

Test a bridge as a product with failure modes, not as a feature that either works or does not. Before any team is asked to move work into a bridged room, run the same ordered test plan against a staging homeserver, a throwaway Slack workspace or IRC channel, and test accounts, then repeat the critical cases against production-like settings. The order matters. Basic delivery comes first because every later result depends on it, and the failure tests come last because they only mean something once normal traffic is known to pass. Start with message delivery in both directions for each room type you plan to bridge. Test a one-to-one mapping, a shared channel, and any room where the third-party side has threads, reactions or mentions. Send plain text, formatted text, long messages and messages from users on each side, and confirm sender names, timestamps and room mapping are correct. Then cover edits and redactions: edit a message on the Matrix side and on the bridged side, delete it on each side, and check whether the other side reflects the change, shows a marker, or silently keeps the original. Record the result for each combination, because bridges often support one direction well and the other poorly. Next test file and image handling, which is where data handling questions become concrete. Upload files of several sizes and types, including one above the expected limit, and confirm the bridge either relays them, links them, or rejects them with a visible notice. Check where media is stored on each side and how long it persists. Then test reconnects in two separate cases: restart the homeserver, then restart the bridge process, and confirm messages sent during each outage are either delivered once after recovery or reported as lost. Also test what happens when the third-party platform rate-limits the bridge or drops the connection. Confirm the bridge backs off rather than flooding the platform, and that queued messages are not duplicated on resume. Finally, test scope and failure. Attempt to make the bridge join rooms it was not configured for, and confirm it refuses. Then stop the bridge deliberately during a live conversation. Matrix users should see a clear state, such as a notice in the room, a bridge status indicator, or an operator alert, not a silent gap. When the bridge returns, check that messages sent during the outage are neither silently lost nor duplicated. Keep the results in a dated test record with the bridge version, configuration hash, test accounts, the exact steps and the observed output for each case. The evidence record serves two readers: the team taking over operation and any compliance reviewer. For handover, include the test matrix with pass, fail and accepted-risk outcomes, the known gaps, and the runbook steps for restart and recovery. For a compliance reviewer, include who approved the test scope, which data classes were used in testing, where test logs are kept and for how long, and how access to bridge credentials was controlled. Confirm with the bridge project's documentation and your own environment which logs contain message content, because those logs may fall under your retention rules. Ask your implementation partner to supply this record as a deliverable with the test plan, not as an afterthought.

What to monitor, back up, patch and document after launch

This table lists the recurring work that keeps Matrix bridges running after launch, with the owner and review rhythm the team should set for each item. Read it as a starting schedule: the frequencies are choices for your team to confirm, not vendor requirements. The main takeaway is that a bridge is a separate service with its own tokens, database and access list, so it needs its own operating routine.

AreaWhat to doOwner and frequency to set
Monitoring: bridge process healthAlert on bridge process restarts, crashes and failure to start, and check the bridge is connected to the homeserverPlatform on-call; alerts continuous, confirm the connection check with a scheduled test
Monitoring: homeserver application service statusConfirm the homeserver shows the bridge's application service as registered and reachablePlatform team; check on every homeserver restart and after each upgrade
Monitoring: lag or dropped messagesSend a test message in each bridged room and confirm delivery both ways, and watch for queued or missing eventsBridge owner; test on a schedule you agree, and after any network or platform change
Monitoring: bot token expiryTrack expiry or rotation dates for the Slack app token, IRC credentials and any platform API keysSecurity or platform team; review the expiry list monthly and before each renewal date
Backup: bridge database and configurationBack up the bridge database and configuration files, stored apart from the bridge host, and keep secrets in a secrets storePlatform team; confirm backup jobs and restore tests on the cadence set in your backup policy
Backup: restore ruleRestore bridge state together with the homeserver backups so message mappings match the rooms they point toPlatform team; include in every restore runbook and rehearse it at least once before go-live
Upgrades: bridge and homeserver release trackingTrack the bridge project and the Synapse release together, and read each release note before changing eitherPlatform engineering; review release notes on a set schedule and before any planned upgrade window
Upgrades: staging testTest bridge and homeserver upgrades in staging first, because a bridge may depend on specific homeserver behaviorPlatform team; test every combined upgrade, with the sign-off recorded before production
Access reviews: who can invite the botList the users and rooms allowed to invite or join the bridge bot, and remove anyone who no longer needs itRoom owners with the platform team; review on a set cadence and when staff change roles
Access reviews: bot account ownersName a human owner for each bridge bot account and for each platform account it usesService owner; confirm names are current at each review and on any staff departure
Documentation: room mapRecord which Matrix rooms map to which Slack channels, IRC channels or other platform roomsBridge owner; update on every new or removed bridged room
Documentation: data flow diagramShow where messages, media and bridge data are stored and which third-party platforms receive themSecurity and architecture leads; update when a platform or bridge is added or changed
Documentation: retirement planWrite the steps to stop the bridge, notify users, export needed history and remove tokens and dataService owner; draft before launch and review at each major change

Questions teams ask before bridging Matrix to Slack or IRC

How much effort does a Matrix to Slack bridge take?

Effort depends mostly on how many rooms you bridge, how many people cross platforms, and how much identity mapping the bridge needs. One-time costs include design, configuration, registering the app or bot on the third-party platform, staging tests, and cutover. Recurring costs include keeping the bridge and its dependencies current, reviewing platform permissions, monitoring message flow, and internal admin time when Synapse or the bridge changes. Ask for a quote that splits build work from ongoing support, names each platform, and states which rooms and users are in scope.

How long does a bridge project take to deliver?

The timeline depends on scope: the number of platforms, the number of rooms, whether message history is carried across, and how many approvals sit between design and go-live. A single IRC channel with a small room list is a much smaller job than a multi-room Slack deployment with history and access controls. Most engagements are fixed-scope, so the written scope should list milestones, the staging test window, and what the client must provide at each step. Ask for those dates in writing before work starts.

Can an internal team build a Matrix bridge without a partner?

Yes, if the team already runs Synapse and is comfortable with its configuration and upgrades. A bridge adds another service beside the homeserver, with its own configuration, credentials on the third-party platform, database, and upgrade cycle. Before deciding, check whether the team can manage those pieces, has someone who can own the bridge after launch, and has time to test in staging. A partner is most useful when the deadline is fixed or when the team has no one to run the bridge long term.

What does a bridge project need from our team?

Plan for five inputs. Room lists with named owners for each room. Platform admin access, such as a Slack workspace admin who can approve an app, or channel operator rights on the IRC network. Data owner sign-off on which rooms and users cross platforms. A staging environment that mirrors production closely enough to test identity mapping and message flow. A named approver who can accept the cutover. Missing any of these is a common cause of delay, so confirm access and approvals before the project starts.

Can end-to-end encrypted Matrix rooms be bridged to Slack or IRC?

In most cases, no, at least not while keeping end-to-end encryption intact. The bridge must read message content to forward it to a platform that does not use Matrix encryption, so the bridge becomes a point where plaintext exists. Teams usually keep encrypted rooms out of the bridge and bridge only rooms that are meant to be visible on the other platform. Confirm how the specific bridge handles encrypted events in its own documentation, and record the decision with the room owners.

How do we retire a Matrix bridge cleanly?

Plan retirement as a project with its own steps. Announce the date to room owners and users, stop new links, unlink each bridged room, and remove the bridge's account or app on the third-party platform. Revoke any tokens and credentials the bridge used. Archive logs and bridge data according to your retention policy, then delete what the policy does not require. Finally, confirm that no messages flow across, and update the documentation so no one restarts the bridge by mistake. Ask for this steps list in the scope.

Does a Matrix bridge change our compliance scope?

It can. A bridge creates a new data path and brings in a third-party platform, so an assessor will look at which data crosses, where copies are stored, and who can access the bridge and its logs. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports or certifications. Confirm with your assessor or framework owner before the bridge goes live, and document the data flows so the scope decision can be reviewed.

Can DeployOpen build and support a bridge for us?

DeployOpen plans, implements, integrates, documents and supports self-hosted open-source platforms inside your own infrastructure, which includes bridge work when it is part of the agreed scope. Most engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. Ongoing support, upgrades and testing are available as retainers. A quote follows from the written scope, so share your room list, platform list, and approval path early to get an accurate estimate.

How DeployOpen scopes, builds and hands over Matrix bridge work

DeployOpen plans Matrix bridges to Slack, IRC and other platforms inside the client's own infrastructure, so hosting and bridge credentials stay in the client's environment. Each bridge is treated as a separate component with its own scope, data handling decisions and operating runbook. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.

How we scope

  • Which Slack, IRC, Telegram, WhatsApp, Signal or email connections are in scope, and which rooms each one may touch.
  • Data flow decisions: what content, identities and history cross the bridge in each direction, written down before build.
  • Whether the bridge is needed for coexistence, a migration window or a permanent link, with the retirement condition named.

How we build

  • Bridge deployment on your infrastructure, with bridge registration, appservice configuration and homeserver settings reviewed together.
  • Bot account and credential handling for each platform, kept in the client's own secrets store and documented.
  • Testing of message flow, edits, redactions, media and room membership across the bridge, with results recorded in writing.

How we hand over

  • Runbook covering bridge startup, restarts, log locations, and what to check when messages stop crossing.
  • Data handling record listing which platform users, message content and attachments are retained by the bridge and where.
  • Configuration files, deployment code and a written retirement procedure, so your team can run or remove each bridge.

How we support

  • Review of each bridge after Synapse upgrades, since bridge and homeserver versions must stay compatible.
  • Rotation of bot credentials and review of bridge access when staff or platform admins change.
  • Ongoing support is available as a retainer, with scope for bridge monitoring and updates agreed in writing.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.