--- title: "Part 5: Embedding the Call Panel" slug: "part-5-embedding-the-call-panel" updated: 2022-07-14T08:32:12Z published: 2022-07-14T08:32:12Z canonical: "developer.comm100.com/part-5-embedding-the-call-panel" --- > ## Documentation Index > Fetch the complete documentation index at: https://developer.comm100.com/llms.txt > Use this file to discover all available pages before exploring further. # Part 5: Embedding the Call Panel ## Introduction In the previous tutorial, you have created an app and have authenticated Comm100 Agent in Vincall. Then you can log in to the Vincall system through Agent mapping. In this tutorial, You will learn how to add Vincall Call Panel into Comm100 Agent Console Nav Bar. ![image.png](https://cdn.document360.io/c74d881b-a484-4687-85e4-c23c20d25ce2/Images/Documentation/image%2888%29.png) ## Step-by-Step Instructions We use the Comm100 [app](/x2/docs/app) to [extend the nav bar](/x2/docs/extend-agent-console-by-apps) UI and interact with the Agent Console by referencing the Comm100 Client SDK. The tutorial covers the following tasks: 1. [Adding New Tab in Nav Bar](/docs/part-5-embedding-the-call-panel#adding-new-tab-in-nav-bar) 2. [Authenticating with Comm100 Agent](/docs/part-5-embedding-the-call-panel#authenticating-with-comm100-agent) ### Adding New Tab in Nav Bar Add the following definition to the **manifest.json** file (**/src/assets/manifest.json**) in **vincall-app**: ``` "agentConsole": { "widgets": { "navBar": { "id": "vincall-nav-bar", "label": "Vin Call", "url": "./callPanel.html" } } }, ``` - id: `vincall-nav-bar`. We just have to make sure it's unique in the app. - label: `Vin Call`. Text of the Agent Console Nav Bar. - url: `./callPanel.html`. This page provided by the app, loads this page when switching to the extended tab. 1. Here we will not repeat the entire front-end construction process, but only explain the key code of **main.tsx**. The position of this file is placed to src/pages/phone/main.tsx. ``` import React, { useEffect, useRef } from "react"; import { render } from "react-dom"; import { callPanelUrl } from "src/config"; import { registerEvents } from "./eventHandle"; const App = () => { const iframeRef = useRef(); useEffect(() => { registerEvents(iframeRef.current?.contentWindow); }, []); return (