Перейти к содержанию

Настройка интеграции с Почтой VK WorkSpace

Назначение документа

В документе описана настройка интеграции Почты VK WorkSpace версии не ниже 1.18 и VK Teams версии не ниже 24.1.

Документ предназначен для использования администраторами организации.

Предварительные требования

Для настройки интеграции Почты и VK Teams вам потребуется:

  1. Доступ к веб-интерфейсу установщика Почты VK WorkSpace

    http://<адрес_сервера_Почты_VK_WorkSpace>:8888.

  2. Доступ к виртуальной машине, на которой установлен VK Teams.

Внимание

Для production-систем рекомендуется производить настройки во время технологического окна.

Настройки на стороне VK Teams

Внимание

Все команды в консоли выполняются под пользователем root.

Шаг 1. Создайте бот для календаря

  1. В списке контактов в Мессенджере найдите @Metabot.

  2. Отправьте в чат сообщение /start.

  3. Нажмите Создать нового бота.

  4. Введите ник для нового бота. Он должен заканчиваться на bot, например vkcalendarbot.

  5. Сохраните полученные ID и токен.

  6. Разрешите боту отправлять сообщение первым, выполнив на сервере VK Teams команду:

    echo "row_add bots_can_write_first <botID>" | nc stdb.vkteams.svc.cluster.local. 4020
    
    где <botID> — ID созданного бота для календаря.

    В случае распределенной инсталляции выполните команду на сервере в состоянии main. Найти такой сервер можно при помощи команды ic map stdb на любом сервере.

Шаг 2. Создайте почтовый бот

  1. Используя чат с @Metabot, создайте почтовый бот mailbot по аналогии с ботом для календаря.

  2. Сохраните его ID и токен.

  3. Разрешите боту отправлять сообщение первым, выполнив на сервере VK Teams команды:

    echo "row_add bots_can_write_first <botID>" | nc stdb.vkteams.svc.cluster.local. 4020
    

    где <botID> — ID созданного почтового бота.

  4. Разрешите боту отправлять DeepLink:

    1. На сервере VK Teams проверьте наличие таблицы:

      echo "table_get bots_can_send_deeplink" | nc stdb.vkteams.svc.cluster.local. 4020
      

      Если таблицы нет, создайте ее:

      echo "stdb_table_add bots_can_send_deeplink sn@string" | nc stdb.vkteams.svc.cluster.local. 4020
      
    2. Добавьте бота в таблицу:

      echo "row_add bots_can_send_deeplink <botId>" | nc stdb.vkteams.svc.cluster.local. 4020
      

      где <botID> — ID созданного почтового бота.

Шаг 3. Создайте токен biz-admin

  1. Перейдите в конфигурационный файл /usr/local/etc/import_prismtokens.yaml:

    vim /usr/local/etc/import_prismtokens.yaml
    
  2. В секции prismtokens создайте секцию biz-admin, как в примере ниже, и задайте токен в поле key:

    prismtokens:
      biz-admin:
        methods:
          - _any
        ips: // список ip-адресов гипервизоров-фронтов Почты VK WorkSpace
          - 192.0.2.1 
          - 192.0.2.2 
        akes: true
        key: <your_token>
    
  3. Чтобы изменения вступили в силу, выполните команду:

    /usr/local/bin/import_prismtokens.py -f /usr/local/etc/import_prismtokens.yaml
    

    При распределенной инсталляции VK Teams команда выполняется на одном из серверов.

Шаг 4. Откройте доступ в окружение администратора

Примечание

Этот шаг выполняется только в случае, если необходимо создание мини-аппов и управление мини-аппами.

  1. Перейдите в файл конфигурации /usr/local/nginx-im/confv2/conf.d/myteam-admin_allow_hosts.inc:

    vim /usr/local/nginx-im/confv2/conf.d/myteam-admin_allow_hosts.inc
    
  2. В поле allow вместо <real.mail.ip> укажите список IP-адресов гипервизоров-фронтов Почты VK WorkSpace:

    allow 192.0.2.1 192.0.2.2;
    
  3. Чтобы изменения вступили в силу, выполните команду:

    nginx.sh reload
    

Шаг 5. Добавьте CN-группы администраторов

  1. Перейдите в конфигурационный файл /usr/share/tarantool/extra_config/nomail-1/nomail-1_extra_conf.lua

    vim /usr/share/tarantool/extra_config/nomail-1/nomail-1_extra_conf.lua
    
  2. В поле myteam-admin укажите CN-группы администраторов:

    cfg.otp_permission.apps = {
        ['myteam-client'] = '*',
        ['download_ios_application'] = '*',
        ['myteam-admin'] = {
            'myteam-admin'
        },
    }
    
  3. Чтобы изменения вступили в силу, выполните команду:

    echo "dofile('/usr/share/tarantool/extra_config/nomail-1/nomail-1_extra_conf.lua')" | tarantoolctl enter nomail-1
    
  4. Проверить актуальные настройки можно командой:

    echo "cfg.otp_permission.apps" | tarantoolctl enter nomail-1
    

Шаг 6. Создайте учетную запись с доступом в окружение администратора

  1. В любой удобной папке создайте файл users.yaml и заполните его данными учетной записи (в примере ниже это <admin@admin.qdit>):

    users:  
        admin@admin.qdit:  
            email: admin@admin.qdit
            firstName: admin
            lastName: admin
            attributes:              
                memberOf: ["myteam-admin"] #член группы "myteam-admin" с доступом в окружение администратора
    

    где memberOf: — название группы пользователей с доступом в окружение администратора.

    Объект users имеет тип Hash. При использовании расширенного формата yaml-файла username должен совпадать с email. В примере выше это <admin@admin.qdit>.

  2. После создания users.yaml выполните в консоли команду:

    users.py --cmd add -c users.yaml 
    
  3. Получите adminSn и adminRid созданной учетной записи:

     echo "show admin@admin.qdit" | nc 127.1 4281
    

    Значения rid и sn будут в выводе команды:

Шаг 7. Отредактируйте секцию mpop в файле myteam-admin.yml

  1. Перейдите в файл конфигурации myteam-admin.yml:

    cd /usr/local/etc/k8s/helmwave/
    vim projects/godmod/values/myteam-admin.yml
    
  2. В секции mpop укажите домен Почты VK WorkSpace, sn (adminSn) и rid (adminRid), полученные на предыдущем шаге:

    mpop:
      enable: true
      swa_host: http://swa.<домен Почты VK WorkSpace>
      swa_url: /int/CheckSession
      adminSn: admin@admin.qdit // указать значение adminSn, полученное на предыдущем шаге    
      adminRid: 0:100504  // указать значение adminRid, полученное на предыдущем шаге
    
  3. Чтобы изменения вступили в силу, поочередно выполните команды:

    Для инсталляции на 1 виртуальную машину:

    helm delete myteam-admin -n vkteams 
    export HELMWAVE_USE_LOCAL_REPO_CACHE=1
    helmwave up --build --tpl helmwave.yml.tpl --yml --templater gomplate -t myteam-admin
    

    Для распределенной инсталляции VK Teams версии 23.8 и выше выполните команду на одном из первых трех серверов:

    im_deployer --helmwave --update --hw-project godmod --hw-once
    
  4. Для проверки изменений выполните команду:

    kubectl exec -n vkteams -i myteam-admin-<Pod ID> -c myteam-admin -- cat /usr/local/etc/config.yaml
    

    Актуальное значение pod ID можно получить с помощью команды:

    kubectl get pods -A | grep myteam-admin
    

Шаг 8. Настройте сервис Stentor

  1. Перейдите в конфигурационный файл /usr/local/nginx-im/confv2/conf.d/stentor.conf:

    vim /usr/local/nginx-im/confv2/conf.d/stentor.conf
    
  2. В поле allow вместо <real.mail.ip> укажите IP-адреса гипервизоров-фронтов Почты:

    location / {
        include /usr/local/nginx-im/confv2/conf.d/myteam-admin_allow_hosts.inc;
        proxy_pass http://$upstream_stentor$uri$is_args$args;
    
        allow 127.0.0.0/8;
        allow 10.32.0.0/16;
        allow <real.mail.ip>; // вместо <real.mail.ip> укажите IP-адреса гипервизоров-фронтов Почты
            deny all;
    }
    

Шаг 9. Настройте CORS

  1. Перейдите в конфигурационный файл /usr/local/nginx-im/confv2/nginx.conf

    vim /usr/local/nginx-im/confv2/nginx.conf
    
  2. Перед комментарием «# static global maps and geos» добавьте новую секцию map $http_origin $cors_enabled:

    map $http_origin $cors_enabled {
        ~webim\.<домен_Мессенджер_и_ВКС>$ 1;
        ~calendarx\.<домен_Почты>$ 1;
        ~calendarmsg\.<домен_Почты>$ 1;
        ~calendartouch\.<домен_Почты>$ 1;
        ~e\.<домен_Почты>$ 1;
        ~cloud\.<домен_Почты>$ 1;
        ~dl\.<домен_Мессенджер_и_ВКС>$ 1;
        default 0;
    }
    # static global maps and geos
    
  3. В секции variables geos from hiera допишите:

    # variables geos from hiera
        geo $realip_remote_addr $allow_biz_grafana {
            127.0.0.1 1;
            10.32.0.0/16 1;
            <real.mail.ip>/32 1; //  вместо <real.mail.ip> указать IP-адреса гипервизоров-фронтов Почты VK WorkSpace
            default 0;
        }
    

    Пример заполнения файла:

  4. Чтобы изменения вступили в силу, выполните команду:

    nginx.sh reload
    

Шаг 10. Настройте отображение сервисов в клиентском приложении VK Teams

  1. В конфигурационном файле /usr/local/nginx-im/html/myteam/myteam-config.json добавьте в секцию templates-urls:

    "templates-urls": {
        "mail": "https://e.<домен Почты VK WorkSpace>.ru/api/v1/user/webauth/vkteams",
        "cloud": "https://cloud.<домен Почты VK WorkSpace>.ru",
        "calendar": "https://calendarx.<домен Почты VK WorkSpace>.ru",
        "mobile_calendar_main_url": "https://calendartouch.<домен Почты VK WorkSpace>.ru",
        "mobile_calendar_create_event_url": "https://calendartouch.<домен Почты VK WorkSpace>.ru/create"
    },
    
  2. Добавьте в секцию mini-apps:

    "mini-apps": {
        "calendar-enabled": true
    },
    

  3. Посмотрите значения для клиентских приложений:

    3.1. Перейдите в Установщик VK WorkSpace по адресу http://<адрес сервера Почты VK WorkSpace>:8888.

    3.2. Найдите IP-адрес сервера Почты VK WorkSpace: первая строчка с тегами "standalone", "ansible".

    3.3. Подключитесь по SSH к серверу Почты VK WorkSpace по адресу или IP:

    • SSH <адрес сервера Почты VK WorkSpace>
    • или SSH <IP сервера Почты VK WorkSpace>

    3.4. Подключитесь к БД-контейнеру и получите все нужные данные:

    docker exec -it swapg1 psql -d oauth -U postgres -c "select id, name, secret, url from client where name in ('VK Teams Native Calendar Plugin Android','VK Teams Native Calendar Plugin iOS','VK Teams Native Mail Plugin Android','VK Teams Native Mail Plugin iOS')"
    

    3.5. Найдите среди полей id, secret и url. Пример вывода команды:

                   id                |                  name                   |    url                                secret              
    ----------------------------------+-----------------------------------------+-------------------------+--------------------------------
     <id из 32 символов>              | VK Teams Native Mail Plugin Android     | https://localhost/      |<secret из 32 символов>      
     <id из 32 символов>              | VK Teams Native Calendar Plugin iOS     | mr-calendar-widget://   |<secret из 32 символов>
     <id из 32 символов>              | VK Teams Native Calendar Plugin Android | mr-calendar-widget://   |<secret из 32 символов>      
     <id из 32 символов>              | VK Teams Native Mail Plugin iOS         | https://localhost/      |<secret из 32 символов>
    

    Как заполнять значения:

    Почта iOS:

    • <клиентский ID миниаппа Почта iOS> - id для name = "VK Teams Native Mail Plugin iOS"
    • <клиентский Secret миниаппа Почта iOS> - secret для name = "VK Teams Native Mail Plugin iOS"
    • <клиентский Redirect URL миниаппа Почта iOS> - url для name = "VK Teams Native Mail Plugin iOS"

    Календарь iOS:

    • <клиентский ID миниаппа Календарь iOS> - id для name = "VK Teams Native Calendar Plugin iOS"
    • <клиентский Secret миниаппа Календарь iOS> - secret для name = "VK Teams Native Calendar Plugin iOS"
    • <клиентский Redirect URL миниаппа Календарь iOS> - url для name = "VK Teams Native Calendar Plugin iOS"

    Почта Android:

    • <клиентский ID миниаппа Почта Android> - id для name = "VK Teams Native Mail Plugin Android"
    • <клиентский Secret миниаппа Почта Android> - secret для name = "VK Teams Native Mail Plugin Android"
    • <клиентский Redirect URL миниаппа Почта Android> - url для name = "VK Teams Native Mail Plugin Android"

    Календарь Android: - <клиентский ID миниаппа Календарь Android> - id для name = "VK Teams Native Calendar Plugin Android"

  4. Добавьте в секцию services" – “config:

    "services": {
        "config": {
          "calendar-desktop": {
            "url": "https://calendarmsg.<домен Почты VK WorkSpace>.ru?nolanding=1",
            "is-public": false,
            "needs_auth": true,
            "needs_offline_bundle": true,        
            "template-domains": ["calendarx.<домен Почты VK WorkSpace>.ru"],
            "bundle": {
              "all-hosts": {
                "root-url": "https://calendar.<домен Почты VK WorkSpace>.ru/",
                "touch-root-url": "https://calendartouch.<домен Почты VK WorkSpace>.ru/",
                "auth-url": "https://auth.<домен Почты VK WorkSpace>.ru/cgi-bin/auth",
                "base-static-url": "https://imgs.<домен Почты VK WorkSpace>.ru/",
                "avatar-url": "https://filin.<домен Почты VK WorkSpace>.ru/pic?email=",
                "email-url": "e.<домен Почты VK WorkSpace>.ru",
                "account-url": "https://account.<домен Почты VK WorkSpace>.ru",
                "oauth-url": "https://corsapi.<домен для облачных хранилищ>.ru",
                "oauth-host": "https://o2.<домен Почты VK WorkSpace>.ru",
                "myteam-api-url": "https://webim.<домен VK Teams>.ru"
              },
              "base-static-img-url": "https://imgs.<домен Почты VK WorkSpace>.ru/static.promo/calendar/",
              "base-static-imgs2-url": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs/static/calendar/",
              "cloud-public-url": "https://cloud.<домен Почты VK WorkSpace>.ru/public",
              "cloud-thumb-url": "https://thumb.cloud.<домен Почты VK WorkSpace>.ru",
              "cloud-url": "https://openapi.cloud.<домен Почты VK WorkSpace>.ru",
              "dns-prefetch-domains": "imgs.<домен Почты VK WorkSpace>.ru",
              "fonts-path": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs/static/fonts/v1.100",
              "foundation-calls-locations": "calls[.]mail[.]ru,meet[.]megafon[.]ru,ivcs[.]hi-tech[.]org,meet[.]google[.]com,hangouts[.]google[.]com,saas[.]videomost[.]com,discord[.]gg,join[.]skype[.]com,(([a-z0-9-]+)[.])?zoom[.]us,(([a-z0-9-]+)[.])?ktalk[.]ru,call[.]agent[.]mail[.]ru,call[.]icq[.]com,call[.]myteam[.]mail[.]ru,call[.]internal[.]myteam[.]mail[.]ru,next[.]granatum[.]solutions[.]/register-course,telemost[.]yandex[.]ru,teams[.]microsoft[.]com/l/meetup-join,vk[.]com/call,meet[.]jit[.]si,vks[.]sfr[.]gov[.]ru,call[.]<домен VK Teams>",
              "portal-url": "https://portal.<домен Почты VK WorkSpace>.ru",
              "preconnect-domains": "imgs.<домен Почты VK WorkSpace>.ru",
              "sharing-calendar-with-no-auth-url": "https://shared.calendarx.<домен Почты VK WorkSpace>.ru",
              "static-img-url": "https://imgs.<домен Почты VK WorkSpace>.ru/calendarx/",
              "staticHost": "https://imgs.<домен Почты VK WorkSpace>.ru",
              "staticTestHost": "https://imgs.<домен Почты VK WorkSpace>.ru",
              "themes-paths-v4": {
                  "default": {
                      "base": "https://imgs.<домен Почты VK WorkSpace>.rupkgs/themes.outsource/1.18.0",
                      "js": "https://imgs.<домен Почты VK WorkSpace>.rupkgs/themes.outsource/1.18.0/ru_RU"
                  }
              }
            }
          },
          "cloud-desktop": {
            "url": "https://cloud.<домен Почты VK WorkSpace>.ru?wv=1&need_silent=0",
            "is-public": false,
            "needs_auth": true,
            "needs_offline_bundle": false
          },
          "mail-desktop": {
            "url": "https://e.<домен Почты VK WorkSpace>.ru/?wv=1",
            "compose_url": "https://e.<домен Почты VK WorkSpace>.ru/compose/?wv=1",
            "external": false,
            "is-public": false,
            "needs_auth": true,
            "needs_offline_bundle": true,
            "bundle": {
              "amp-proxy-host": "https://ampproxy.<домен для облачных хранилищ>.ru/",
              "ab-calendarUrl": "//calendarx.<домен Почты VK WorkSpace>.ru",
              "ab-composeUrl": "https://e.<домен Почты VK WorkSpace>.ru/compose",
              "ab-export-base-url": "https://e.<домен Почты VK WorkSpace>.ru",
              "ab-readMessageUrl": "https://e.<домен Почты VK WorkSpace>.ru/search/${folder}/${thread}/${message}/?q_from=${email}&q_to=${activeEmail}&x-email=${activeEmail}",
              "ab-searchAttachesToMyselfUrl": "https://e.<домен Почты VK WorkSpace>.ru/search/?q_from=${email}&q_to=${activeEmail}&q_attach=1&q_folder=500000&x-email=${activeEmail}",
              "ab-searchAttachesUrl": "https://e.<домен Почты VK WorkSpace>.ru/search/?q_from=${email}&q_to=${activeEmail}&q_attach=1&x-email=${activeEmail}",
              "ab-searchMessagesToMyselfUrl": "https://e.<домен Почты VK WorkSpace>.ru/search/?q_from=${email}&q_to=${activeEmail}&q_folder=500000&x-email=${activeEmail}",
              "ab-searchMessagesUrl": "https://e.<домен Почты VK WorkSpace>.ru/search/?q_from=${email}&q_to=${activeEmail}&x-email=${activeEmail}",
              "ab-viewAttachUrl": "https://e.<домен Почты VK WorkSpace>.ru/attach/${message}/${part}/?folder-id=${folder}&x-email=${activeEmail}",
              "avatar-base-url": "https://filin.<домен Почты VK WorkSpace>.ru",
              "avatar-filin-host": "https://filin.<домен Почты VK WorkSpace>.ru/pic",
              "all-hosts": {
                "adUrl": "https://ad.<домен Почты VK WorkSpace>.ru",
                "ampIframePath": "//imgs.<домен Почты VK WorkSpace>.ru/pkgs/amp.viewer/2.5.5-b2b.2/iframe.html",
                "ampRedirectUrl": "https://e.<домен Почты VK WorkSpace>.ru/inbox",
                "authUrl": "https://auth.<домен Почты VK WorkSpace>.ru",
                "avatarUrl": "https://filin.<домен Почты VK WorkSpace>.ru",
                "calendarUrl": "https://calendarx.<домен Почты VK WorkSpace>.ru/",
                "cdnPackagesUrl": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs",
                "cloudHomeUrl": "https://cloud.<домен Почты VK WorkSpace>.ru/home",
                "cloudOpenApiUrl": "https://openapi.cloud.<домен Почты VK WorkSpace>.ru/api/v1/",
                "detectHttpUrl": "https://imgs.<домен Почты VK WorkSpace>.ru/detect_http_version.js",
                "hbPackagesUrl": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs",
                "helpUrl": "https://help.<домен Почты VK WorkSpace>.ru",
                "imgRadarUrl": "https://stat.radar.<домен Почты VK WorkSpace>.ru",
                "loginUrl": "https://account.<домен Почты VK WorkSpace>.ru/login",
                "mailAttachPreviewHost": "apf.<домен Почты VK WorkSpace>.ru",
                "notificationsUrl": "https://e.<домен Почты VK WorkSpace>.ru/settings/general#notifications",
                "packagesUrl": "https://imgs.<домен Почты VK WorkSpace>.ru",
                "radarUrl": "https://xray.<домен Почты VK WorkSpace>.ru",
                "signatureUrl": "https://e.<домен Почты VK WorkSpace>.ru/settings/general#signature",
                "singleDomainName": "<домен Почты VK WorkSpace>.ru",
                "staticUrl": "https://imgs.<домен Почты VK WorkSpace>.ru/octavius",
                "vktAuthUrl": "https://e.<домен Почты VK WorkSpace>.ru/api/v1/user/webauth/vkteams",
                "widgetXCalendarUrl": "https://calendarx.<домен Почты VK WorkSpace>.ru/",
                "xCalendarUrl": "https://calendarx.<домен Почты VK WorkSpace>.ru/",
                "zipViewUrl": "//zipview.<домен Почты VK WorkSpace>.ru"
              },
              "async_notify": "e.<домен Почты VK WorkSpace>.ru/api-proxy/notifier/v2/ws|240000|5|10000|300000",
              "calendar-graphql-api-url": "https://corsapi.<домен для облачных хранилищ>.ru/calendar/graphql",
              "change-expired-password-url": "https://e.<домен Почты VK WorkSpace>.ru/settings/general?change_password=1",
              "custom-themes-previews-paths": {
                "default": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs/static/themes-previews/vk_wm/default/preview",
                "t5000": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs/static/themes-previews/vk_wm/t5000/preview",
                "t6000": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs/static/themes-previews/vk_wm/t6000/preview"
              },
              "cloud-host": "cloud.<домен Почты VK WorkSpace>.ru",
              "exp-cloud-viewer-host": "cloud.<домен Почты VK WorkSpace>.ru",
              "folder-password-captcha-url": "https://c.<домен Почты VK WorkSpace>.ru/c/0",
              "forgot-password-url": "https://e.<домен Почты VK WorkSpace>.ru/settings/folders",
              "mailAttachPreviewHost": "apf.<домен Почты VK WorkSpace>.ru",
              "messages-attaches-blobcloud-path": "//blobcloud.e.<домен Почты VK WorkSpace>.ru/upload/",
              "mobile-addressbook-url": "https://e.<домен Почты VK WorkSpace>.ru/addressbook",
              "oauth_host": "https://o2.<домен Почты VK WorkSpace>.ru",
              "settings-url": "https://e.<домен Почты VK WorkSpace>.ru/settings/?octaviusMode=1",
              "singleDomainName": "<домен Почты VK WorkSpace>.ru",
              "themes-paths-v4": {
                "default": {
                  "base": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs/themes.outsource/2.0.8",
                  "js": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs/themes.outsource/2.0.8/ru_RU"
                }
              },
              "xCalendarUrl": "https://calendarx.<домен Почты VK WorkSpace>.ru/",
              "clicker-whitelist-hosts": "<домен Почты VK WorkSpace>.ru,e.<домен Почты VK WorkSpace>.ru,account.<домен Почты VK WorkSpace>.ru,id.<домен Почты VK WorkSpace>.ru,cloud.<домен Почты VK WorkSpace>.ru,calendarx.<домен Почты VK WorkSpace>.ru,calendar.<домен Почты VK WorkSpace>.ru,calls.<домен Почты VK WorkSpace>.ru,sharing-calendars.<домен Почты VK WorkSpace>.ru,mailer.<домен Почты VK WorkSpace>.ru,sharing.<домен Почты VK WorkSpace>.ru,miniapp",
              "enable-vkteams-call": false,
              "cache_preload_throttle_ms": 300000,
              "enable-aimsid-sso": true
            }
          },
          "orgstructure": { // добавьте эту секцию, если пользуетесь функциональностью структуры организаций
            "external": false,
            "needs_auth": true,
            "new": true,
            "url": "https://webim.<url-dark-domain>/webapps/orgstructure",
            "url-dark": "https://webim.<vkt-domain>/webapps/orgstructure"
          },
          "auth":{
            "o2host": "https://o2.<домен Почты VK WorkSpace>.ru/",
            "ssohost": "https://auth.<домен Почты VK WorkSpace>.ru",
            "email_request_host": "https://e.<домен Почты VK WorkSpace>.ru",
            "aimsidhost": "https://e.<домен Почты VK WorkSpace>.ru"
          }
          "mail-ios":{
                 "main_api_host": "https://e.<домен Почты VK WorkSpace>.ru",
                 "oauth_host": "https://oauth.<домен Почты VK WorkSpace>.ru",
                 "push-me-host": "https://alt-push-me.<домен Почты VK WorkSpace>.ru", 
                 "custom_mailto_host": "https://e.<домен Почты VK WorkSpace>.ru/compose/",
                 "avatar_host": "https://filin.<домен Почты VK WorkSpace>.ru/pic",
                 "auth_client_id": "<клиентский ID миниаппа Почта iOS>",
                 "auth_secret": "<клиентский Secret миниаппа Почта iOS>",
                 "auth_redirect_uri": "<клиентский Redirect URL миниаппа Почта iOS>",
                 "ssoauth_client_id": "<клиентский ID миниаппа Почта iOS>",
                 "sso_x_mobile_app_header": "e552fda2e6c711eaadc10242ac120002",
                 "onprem_config": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs/static/omicron/mail_ios_omicron.json"
          },
          "calendar-ios":{
                "auth_client_id": "<клиентский ID миниаппа Календарь iOS>",
                "auth_secret": "<клиентский Secret миниаппа Календарь iOS>",
                "auth_redirect_uri": "<клиентский Redirect URL миниаппа Календарь iOS>",
    
                "ssoauth_client_id": "<клиентский ID миниаппа Календарь iOS>",
                "sso_x_mobile_app_header": "e552fda2e6c711eaadc10242ac120002", 
    
                "web-root-url": "https://calendar.<домен Почты VK WorkSpace>.ru/",
                "web-oauth-url": "https://corsapi.<домен для облачных хранилищ>.ru", 
                "web-touch-root-url": "https://calendartouch.<домен Почты VK WorkSpace>.ru/", 
                "web-auth-url": "https://auth.<домен Почты VK WorkSpace>.ru/cgi-bin/auth",
                "web-base-static-url": "https://imgs.<домен Почты VK WorkSpace>.ru/", 
                "web-avatar-url": "https://filin.<домен Почты VK WorkSpace>.ru/pic?email=",
                "web-myteam-avatar-url": "https://ub.<домен VK Teams>.ru/api/v65",
                "web-myteam-api-url": "https://u.<домен VK Teams>.ru/api/v65",
                "graph-ql-host-url": "https://corsapi.<домен для облачных хранилищ>.ru/calendar/graphql",
                "is-public": false,
                "cloud-public-url": "https://cloud.<домен Почты VK WorkSpace>.ru/public",
                "cloud-thumb-url": "https://thumb.cloud.<домен Почты VK WorkSpace>.ru",
                "cloud-url": "https://openapi.cloud.<домен Почты VK WorkSpace>.ru",
                "fonts-path": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs/static/fonts/v1.100",
                "sharing-calendar-with-no-auth-url": "https://shared.calendarx.<домен Почты VK WorkSpace>.ru"
          },
          "mail-android":{
                "calendar_for_client_id": "<клиентский ID миниаппа Календарь Android>",
                "main_api_host": "https://e.<домен Почты VK WorkSpace>.ru",
                "mail_to_host": "",
                "onprem_config": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs/static/omicron/mail_android_omicron.json",
                "files_host": "https://files.<домен Почты VK WorkSpace>.ru",
                "avatar_host": "https://filin.<домен Почты VK WorkSpace>.ru/pic?",
                "attach_preview_host": "https://apf.<домен Почты VK WorkSpace>.ru",
                "attachments_url_host": "https://af.<домен Почты VK WorkSpace>.ru",
                "avatar_host_filin": "https://filin.<домен Почты VK WorkSpace>.ru",
                "auth_client_id": "<клиентский ID миниаппа Почта Android>",
                "auth_secret": "<клиентский Secret миниаппа Почта Android>",
                "auth_redirect_uri": "<клиентский Redirect URL миниаппа Почта Android>",
                "ssoauth_client_id": "<клиентский ID миниаппа Почта Android>",
                "sso_x_mobile_app_header": "e552fda2e6c711eaadc10242ac120002",
                "is-public": true,
                "needs_auth": true,
                "url": "",
                "oauth_host": "https://o2.<домен Почты VK WorkSpace>.ru/",
                "sso_host": "https://auth.<домен Почты VK WorkSpace>.ru/",
                "aimsid_host": "https://e.<домен Почты VK WorkSpace>.ru/",
                "pusher_host": "push-me.<домен Почты VK WorkSpace>.ru"
          },
          "calendar-android":{
                "calendar_for_client_id": "<клиентский ID миниаппа Календарь Android>",
                "auth_client_id": "<клиентский ID миниаппа Почта Android>",
                "auth_secret": "<клиентский Secret миниаппа Почта Android>",
                "auth_redirect_uri": "<клиентский Redirect URL миниаппа Почта Android>",
                "ssoauth_client_id": "<клиентский ID миниаппа Почта Android>",
                "sso_x_mobile_app_header": "e552fda2e6c711eaadc10242ac120002",
                "oauth_host": "https://o2.<домен Почты VK WorkSpace>.ru/",
                "sso_host": "https://auth.<домен Почты VK WorkSpace>.ru/",
                "aimsid_host": "https://e.<домен Почты VK WorkSpace>.ru/",
                "pusher_host": "push-me.<домен Почты VK WorkSpace>.ru",
                "is-public": true,
                "needs_auth": true,
                "url": "",
                "calendar_url": "https://calendartouch.<домен Почты VK WorkSpace>.ru/",
                "calendar_new_event_url": "https://calendartouch.<домен Почты VK WorkSpace>.ru/create",
                "offline_intercept_request_urls": [
                   "https://calendartouch.<домен Почты VK WorkSpace>.ru/?",
                   "https://calendartouch.<домен Почты VK WorkSpace>.ru/create?",
                   "https://touch.calendar.<домен Почты VK WorkSpace>.ru/?",
                   "https://touch.calendar.<домен Почты VK WorkSpace>.ru/create?"
                ],
                "offline_critical_urls": [
                   ".*calendartouch.<домен Почты VK WorkSpace>.ru/\\?.*",
                   ".*calendartouch.<домен Почты VK WorkSpace>.ru/create\\?.*",
                   ".*touch.calendar.<домен Почты VK WorkSpace>.ru/\\?.*",
                   ".*touch.calendar.<домен Почты VK WorkSpace>.ru/create\\?.*",
                   ".*account.<домен Почты VK WorkSpace>.*"
                ],
                "bundle_update_enabled": false,
                "bundle_update_auto": false,
                "bundle_update_delay": 0,
                "bundle_update_host_url": "",
                "bundle_update_manifest_name": "asset-manifest.json",
                "bundle_update_versions":{
    
                },
                "install_test_bundle_by_deeplink_enabled": true,
                "install_test_bundle_by_deeplink_allowed_cdn_hosts": [
                   "calendarx.imgsmail.ru",
                   "static.mail.corpcloud.devmail.ru"
                ],
                "install_test_bundle_by_deeplink_auto_restart": true,
                "open_message_deeplink_enabled": true,
                "open_attach_deeplink_enabled": true,
                "inner_domains_set_key": "calendar_portal",
                "calendar_webview_inner_domains": [
                   ".*calendar\\.mail\\.ru",
                   "auth\\.mail\\.ru",
                   "account\\.mail\\.ru"
                ],
                "graph_ql_host_url": "https://corsapi.<домен для облачных хранилищ>.ru/calendar/graphql",
                "prefetch_network_content_enabled": true,
                "prefetch_network_content_timeout_hours": 168,
                "calendar_urls": [
                   "https://calendartouch.<домен Почты VK WorkSpace>.ru/",
                   "https://calendar.mail.ru/",
                   "https://m.calendar.mail.ru/",
                   "https://alpha.calendar.mail.ru/",
                   "https://touch.calendar.mail.ru/",
                   "https://x.calendar.mail.ru/",
                   "https://calendar.mini-mail.ru/",
                   "https://m.calendar.mini-mail.ru/",
                   "https://alpha.calendar.mini-mail.ru/",
                   "https://touch.calendar.mini-mail.ru/",
                   "https://x.calendar.mini-mail.ru/"
                ],
                "fullscreen_url_action_param_regexp": [
                   "^/selectVacationDate/?$",
                   "^/congratulations/?$",
                   "^/create/?$"
                ],
                "fullscreen_url_path_regexp": [
                   "^/selectVacationDate/?$",
                   "^/congratulations/?$",
                   "^/create/?$"
                ],
                "network_checking_enabled": false,
                "webview_disable_service_worker": true,
                "webview_dark_theme_enabled": true,
                "webview_compose_mail_urls": [
                   "https://e.mail.ru/compose"
                ],
                "url_schemes_for_webview": [
                   "https://telegram.me/",
                   "skype:",
                   "http://www.icq.com",
                   "http://www.icq.im",
                   "https://tamtam.chat/",
                   "https://play.google.com/",
                   "market://",
                   "https://calls.mail.ru/"
                ],
                "calendar_old_url_handler_enabled": true,
                "calendar_web_url": "https://calendar.<домен Почты VK WorkSpace>.ru/",
                "calendar_web_touch_url": "https://calendartouch.<домен Почты VK WorkSpace>.ru/",
                "calendar_web_auth_url": "https://auth.<домен Почты VK WorkSpace>.ru/cgi-bin/auth",
                "calendar_web_base_static_url": "https://img.<домен Почты VK WorkSpace>.ru",
                "calendar_web_avatar_url": "https://filin.<домен Почты VK WorkSpace>.ru/pic?email",
                "calendar_web_myteam_avatar_url": "https://ub.<домен VK Teams>.ru/api/v65",
                "calendar_web_myteam_api_url": "https://u.<домен VK Teams>.ru/api/v65",
                "calendar_web_oauth_url": "https://corsapi.<домен для облачных хранилищ>.ru",
                "cloud_public_url": "https://cloud.<домен Почты VK WorkSpace>.ru/public",
                "cloud_thumb_url": "https://thumb.cloud.<домен Почты VK WorkSpace>.ru",
                "cloud_url": "https://openapi.cloud.<домен Почты VK WorkSpace>.ru",
                "fonts_path": "https://imgs.<домен Почты VK WorkSpace>.ru/pkgs/static/fonts/v1.100",
                "sharing_calendar_with_no_auth_url": "https://shared.calendarx.<домен Почты VK WorkSpace>.ru"
          },
          "mail": {
                "external": false,
                "mail-android-app-urlscheme": "mail-onpremise-auth://",
                "mail-ios-app-urlscheme": "mailrumail-x-callback://",
                "mail-mobile-url": "https://e.<домен Почты VK WorkSpace>.ru/inbox?wv=1",
                "needs_auth": true,
                "service-worker-enabled": true,
                "is-public": false,
                "url": "https://e.<домен Почты VK WorkSpace>.ru/inbox?wv=1", // для версии Почты VK WorkSpace 1.20.2 и выше
                "url": "https://e.<домен Почты VK WorkSpace>.ru/api/v1/user/webauth/vkteams?wv=1", // для версии Почты VK WorkSpace 1.20 и ниже
                "compose_url": "https://e.<домен Почты VK WorkSpace>.ru/compose?wv=1",
                "use-native-instead": true
          },
          "calendar": {
            "use-native-instead": true,
            "external": false,
            "is-public": false,
            "needs_auth": true,
            "template-domains": [
              "calendarx.<домен Почты VK WorkSpace>.ru"
            ],
            "url": "https://calendarmsg.<домен Почты VK WorkSpace>.ru",
            "mobile-url": "https://calendartouch.<домен Почты VK WorkSpace>.ru",
            "mobile-create-event-url": "https://calendartouch.<домен Почты VK WorkSpace>.ru/create",
            "touch-web-enabled": true,
            "touch-web-url": "https://calendartouch.<домен Почты VK WorkSpace>.ru"
          },
          "cloud": {
            "use-native-instead": true,
            "external": false,
            "needs_auth": true,
            "is-public": false,
            "template-domains": [
              "cloud.<домен Почты VK WorkSpace>.ru"
            ],
            "url": "https://cloud.<домен Почты VK WorkSpace>.ru?wv=1&need_silent=0"
          }
        }
    }
    

  5. Добавьте в секцию disposition:

    "disposition": {
        "desktop": {
            "leftbar": [
                "tasks",
                "calls",
                "mail",
                "calendar",
                "cloud", 
                "orgstructure" // добавьте, если пользуетесь функциональностью структуры организаций
            ]
        },
        "mobile": {
            "services": [
                "discover",
                "cloud"
            ],
            "tabs": [
                "calls",
                "tasks",
                "mail",            
                "calendar",            
                "orgstructure" // добавьте, если пользуетесь функциональностью структуры организаций
            ]
        }
    }
    
  6. Для инсталляции на одну виртуальную машину выполните команду:

    HELMWAVE_USE_LOCAL_REPO_CACHE=true hwup -t godmod
    

    Для кластерной инсталляции:

    HELMWAVE_USE_LOCAL_REPO_CACHE=true HELMWAVE_ENV_NAME=cluster hwup -t godmod
    

Шаг 11. Пересоздайте pod админ-консоли

Перезапустите под в технологическое окно (может приводить к сбою в новых подключениях):

kubectl delete pods -n vkteams -l app=myteam-admin

Шаг 12. Настройте сервис Skywalker

Примечание

Этот шаг выполняется, если используется Диск VK WorkSpace.

  1. Получите access_token <webapi-token>:

    1. Подключитесь по SSH к серверу Почты VK WorkSpace (к машине, где запущен onpremise-depoyer_linux в случае распределенной установки).

    2. Выполните команду:

      grep -i webapi_vkt_token /home/deployer/main.yaml
      

      Примечание

      В команде используется директория /home/deployer/. Но если при установке Почты вы распаковали архив с дистрибутивом в другую директорию, укажите ее в команде.

  2. На сервере VK Teams выполните команды:

    1. В конфигурационном файле /usr/local/nginx-im/html/myteam/myteam-config.json включите флаг save-to-cloud-enabled:true.

    2. Для инсталляции на одну виртуальную машину выполните команду:

      HELMWAVE_USE_LOCAL_REPO_CACHE=true hwup -t godmod
      

      Для кластерной инсталляции:

      HELMWAVE_USE_LOCAL_REPO_CACHE=true HELMWAVE_ENV_NAME=cluster hwup -t godmod
      
    3. Перезапустите под в технологическое окно (может приводить к сбою в новых подключениях):

      kubectl delete pods -n vkteams -l app=myteam-admin
      
    4. В файле vim /usr/local/go.files.icq.com/files.icq.com.config.yaml включите флаг show_cloud_file_status: true.

    5. Перезапустите службу:

      systemctl restart gofiles_httpd
      
    6. Отредактируйте файл /usr/local/etc/k8s/helmwave/store/skywalker.yml:

      cloud:
          host: "cloud-serverside-api.<домен_Почты>"
          timeout: 60s
          upload_timeout: 1m
          domain: "cloud.<домен_Почты>"
          default_folder_to_save_file: "/Файлы мессенджера"
          force_loader_url: "http://cloclo-int.<домен_Почты>/dupload"
          access_token: "<webapi-token>"
      mail:
          host: "serverside-api.<домен_Почты>"
          timeout: 5s    
      
    7. Включите Skywlaker для вашего оружения. Перейдите в конфигурационный файл /usr/local/etc/k8s/helmwave/projects.yml и в секции disabled удалите skywalker:

      envs:
          all:
              projects:
                  disabled:
                      ...
                      skywalker: # удалите строчку
                      ...
      
    8. Примените изменения.

      Для инсталляции на одну виртуальную машину выполните команды:

      export HELMWAVE_USE_LOCAL_REPO_CACHE=1
      helmwave up --build --tpl helmwave.yml.tpl --yml --templater gomplate -t myteam-admin
      

      Для распределенной инсталляции VK Teams версии 23.8 и выше выполните команду на одном из первых трех серверов:

      im_deployer --helmwave --update --hw-project skywalker --hw-once
      

Настройки на стороне Почты VK WorkSpace

Все описанные ниже действия выполняются в веб-интерейсе установщика Почты VK WorkSpace:

http://адрес_сервера_Почты_VK_WorkSpace:8888

Шаг 1. Включите интеграцию с VK Teams

Если при первичной установке Почты VK WorkSpace не были включены компоненты интеграции с VK Teams, их необходимо включить.

  1. Нажмите на кнопку в правом верхнем углу, выберите пункт Продукты.
  2. Включите следующие компоненты:

    • Интеграция с VK Teams.
    • Календарь: бот календаря для VK Teams.
    • Бот новых почтовых сообщений для VK Teams.
  3. Нажмите на кнопку Сохранить.

  4. Перейдите на вкладку AdminPanel.
  5. Сгенерируйте новые контейнеры:

    • Если Почта VK WorkSpace установлена на одной машине, нажмите на кнопку Сгенерировать автоматически.
    • В случае распределенной установки:

      1. Нажмите Добавить Несколько контейнеров.
      2. Установите фильтр Установлено не более 0.
      3. Распределите недостающие контейнеры по гипервизорам с учетом дублируемости.
      4. Нажмите на кнопку Добавить.

Шаг 2. Укажите настройки интеграции веб-интерфейсе установщика Почты

  1. В веб-интерфейсе установщика перейдите на вкладку Настройки.
  2. Выберите ИнтеграцииИнтеграция с VK Teams.
  3. Включите флаг Использовать SSL шифрование.
  4. Заполните все поля:

    Название поля Значение
    Адрес API VK Teams для добавления/удаления пользователей stentor.<домен VK Teams>.ru
    Адрес API управления VK Teams admin.<домен VK Teams>
    Адрес API бинарных данных VK Teams ub.<домен VK Teams>
    Адрес клиентского API VK Teams u.<домен VK Teams>
    Адрес веб-версии VK Teams webim.<домен VK Teams>
    Адрес Mini App API files-n.<домен VK Teams>
    Адрес API звонков (ссылок на звонок) call.<домен VK Teams>
    Адрес сервера документации VK Teams Укажите адрес портала организации, по которому доступно клиентское приложение VK Teams и инструкции VK Teams, например:
    dl.<домен VK Teams>
    Адрес сервера VK Teams, где находится Grafana Для версии VK Teams 24.2 и ниже:
    stentor.<домен VK Teams>/myteam-grafana

    Для версий VK Teams 24.3 и 24.9:
    stentor.<домен VK Teams>/grafana

    Начиная с версии VK Teams 25.2:
    stentor.<домен VK Teams>/dashboards
    Путь URL-адреса для Grafana в домене панели администрирования myteam-grafana
    Токен VK Teams для получения структуры организаций в панели администрирования Значение key из шага 3 «Создайте токен biz-admin»
    Пользователь ClickHouse VK Teams biz
    Пароль пользователя ClickHouse VK Teams Чтобы получить пароль, выполните команду:
    cat /usr/local/etc/k8s/helmwave/projects/godmod/secrets/clickhouse-metric-cluster.yml | grep password: | cut -d':' -f2 | sed 's/ //'
    Список IP адресов/подсетей VK Teams (для ACL в SWA) <IP-адрес сервера VK Teams>

    Примечание

    На скриншоте ниже в качестве домена VK Teams используется vkt-02.on-premise.ru. Используйте ваш домен VK Teams.

Шаг 3. Импортируйте сертификаты

Внимание

Этот шаг необходимо выполнить, если вы используете свой центр сертификаци.

Подключение к компонентам VK Teams происходит по SSL, поэтому может возникать ошибка с недоверием к сертификату. Поскольку проверка SSL происходит при развертывании контейнеров calendarbot, то установить их вручную нельзя. Ошибка недоверия сертификатов происходит и для контейнеров mailbot, mailapi, calendarapi.

Чтобы избежать проблем с сертификатами выполните следующие действия:

  1. Подключитесь к виртуальным машинам-фронтам, на которых развернуты контейнеры calendarbot-api*, calendarbot-processor*, mailbot*, mailapi*, calendarapi*.

  2. Создайте директории certs для контейнеров:

    mkdir /opt/mailOnPremise/dockerVolumes/calendarbot-api1/certs 
    mkdir /opt/mailOnPremise/dockerVolumes/calendarbot-processor1/certs 
    mkdir /opt/mailOnPremise/dockerVolumes/mailbot1/certs 
    mkdir /opt/mailOnPremise/dockerVolumes/mailapi1/certs 
    mkdir /opt/mailOnPremise/dockerVolumes/calendarapi1/certs 
    
  3. Скопируйте подготовленные заранее выпускающий и корневой сертификаты (только в формате .crt):

    cp <your_cert.crt> /opt/mailOnPremise/dockerVolumes/calendarbot-api<номер_контейнера>/certs/
    cp <your_cert.crt> /opt/mailOnPremise/dockerVolumes/calendarbot-processor<номер_контейнера>/certs/
    cp <your_cert.crt> /opt/mailOnPremise/dockerVolumes/mailbot<номер_контейнера>/certs/
    cp <your_cert.crt> /opt/mailOnPremise/dockerVolumes/mailapi<номер_контейнера>/certs/
    cp <your_cert.crt> /opt/mailOnPremise/dockerVolumes/calendarapi<номер_контейнера>/certs/
    
  4. Создайте файл custom_roles.yaml:

    nano /home/deployer/custom_roles.yaml
    
  5. Добавьте в файл:

    Внимание

    Перечень команд нужно передавать с помощью командного интерпретатора bash -с, иначе контейнер упадет.

    calendarbot-api:
      volumes:
        - src: etc
          dst: /usr/local/etc
        - src: certs
          dst: /etc/pki/ca-trust/source/anchors
      command: bash -c "update-ca-trust extract && /usr/local/bin/calendarbot_api --config /usr/local/etc/calendar-bot-api.yaml"
    
    calendarbot-processor:
      volumes:
        - src: etc
          dst: /usr/local/etc
        - src: certs
          dst: /etc/pki/ca-trust/source/anchors
      command: bash -c "update-ca-trust extract && /usr/local/bin/calendarbot_processor --config /usr/local/etc/calendar-bot-processor.yaml"
    
    mailbot:
      volumes:
        - src: conf
          dst: /usr/local/etc/
        - src: certs
          dst: /etc/pki/ca-trust/source/anchors
      entrypoint: bash -c 'update-ca-trust extract; exec /usr/local/bin/mailbot -config /usr/local/etc/mailbot.yaml -log /dev/stdout'
    
    mailapi:
      volumes:
        - src: conf
          dst: /usr/local/etc
        - src: tmp
          dst: /tmp
        - src: log
          dst: /var/log
        - src: aestat
          dst: /var/log/aestat
        - src: static
          dst: /usr/local/www
        - src: entrypoint
          dst: /entrypoint.d
        - src: certs
          dst: /etc/pki/ca-trust/source/anchors
      command: bash -c "update-ca-trust extract && /entrypoint.d/mailapi.sh" 
    
    calendarapi:
      volumes:
        - src: etc
          dst: /usr/local/etc
        - src: entrypoint
          dst: /entrypoint.d
        - src: certs
          dst: /etc/pki/ca-trust/source/anchors
    
  6. В контейнере calendarapi, в файл /home/deployer/configs/calendar/calendarapi.sh добавьте команду для обновления сертификата:

    update-ca-trust extract || true
    

    Итоговый вид файла:

    #!/bin/bash
    
    export WAITING_DB_MYSQL=""
    export WAITING_DB_PGSQL="calendarpg"
    
    source /entrypoint.d/waiting_dbs.sh
    
    update-ca-trust extract || true
    
    exec $@
    
  7. Перезапустите установщик:

    sudo systemctl restart deployer.service
    
  8. Остановите и удалите контейнеры calendarapi-envoy*:

    docker stop calendarapi-envoy1
    docker rm calendarapi-envoy1
    
  9. Выполните шаг up_container в веб-интерфейсе установщика, для контейнеров: calendarbot-api*, calendarbot-processor*, mailbot*, mailapi*, calendarapi*.

  10. Запустите автоматическую установку.

Шаг 4. Заполните данные ботов в веб-интерфейсе установщика Почты

  1. В веб-интерфейсе установщика перейдите на вкладку Настройки.
  2. Выберите Интеграции Боты для VK Teams.
  3. Включите флаг Использовать SSL-шифрование.
  4. Заполните поля:

    Название поля Значение
    Адрес bot-api VK Teams api.<домен VK Teams>
    ID бота календаря VK Teams ID бота, созданного на шаге 1 «Создайте бот для календаря»
    Токен бота календаря VK Teams token бота, созданного на шаге 1 «Создайте бот для календаря»
    Токен бота новых почтовых сообщений VK Teams token бота, созданного на шаге 2 «Создайте почтовый бот»

    Примечание

    На скриншоте ниже используется адрес bot-api VK Teams с тестового стенда. Используйте ваш адрес bot-api VK Teams.

Шаг 5. Завершите настройку

  1. В веб-интерфейсе установщика перейдите на вкладку AdminPanel.
  2. Запустите автоматическую установку, нажав на кнопку Play .