Gfacility

Microsoft 365

Integração com o Office 365

Ligue o Gfacility ao Office 365 para utilizadores, salas e calendários: registo de aplicação, permissões, acesso total aos calendários ou Exchange RBAC.

Atualizado em 1/10/2026

Integrações · Autenticação · 1.2

A integração entre o Gfacility e o Office 365 assenta numa abordagem 2-legged, com um registo de aplicação no Microsoft Entra ID (anteriormente Azure Active Directory). O Gfacility inicia sessão com a identidade dessa aplicação, sem pop-up nem consentimento por utilizador. É mais estável e mais seguro.

Como funciona?

A integração tem quatro componentes. Ativa cada um em separado no Gfacility, em Integrations & Login → Office 365. Todos funcionam através de um único registo de aplicação da sua organização.

Sincronização de utilizadores · todas as noites

Coloca os seus colaboradores no Gfacility.

Sincronização de departamentos · com a de utilizadores

Associa cada colaborador ao respetivo departamento.

Sincronização de localizações · todas as noites

Coloca as salas de reuniões no Gfacility, com edifício e piso.

Sincronização de calendários · imediata

Mantém as reservas iguais no Gfacility e no Outlook.

Sincronização de utilizadores

Todas as noites, o Gfacility vai buscar os seus colaboradores à Microsoft.

  • Novo colaborador? É criado.
  • Dados alterados? O nome, o endereço de e-mail e o número de telefone são atualizados.
  • Saiu da empresa? Quem já não consta na Microsoft passa a inativo no Gfacility.

Que campos são copiados?

Campo na MicrosoftCampo no Gfacility
Nome de início de sessão (userPrincipalName)Endereço de e-mail
Nome próprio (givenName)Nome próprio
Apelido (surname)Apelido
Telemóvel (mobilePhone)Número de telefone
Departamento (department)Organização principal, apenas com a sincronização de departamentos ativa
LicençaAtivo ou inativo

Nota: o endereço de e-mail no Gfacility é o nome de início de sessão Microsoft, não o campo E-mail. Normalmente são iguais.

Não são copiados: o cargo, o local de trabalho, o telefone profissional e a fotografia de perfil. Um novo colaborador recebe a organização predefinida e a localização predefinida do seu workspace; pode alterá-las depois no Gfacility.

Convém saber:

  • Só são incluídos os colaboradores com uma licença do Microsoft 365. As salas e as caixas de correio partilhadas não.
  • A sincronização de utilizadores não trata do início de sessão. Apenas garante que o Gfacility conhece os seus colaboradores. Para o início de sessão, escolha Iniciar sessão com Microsoft ou SSO.

Sincronização de departamentos

A sincronização de departamentos é uma opção adicional da sincronização de utilizadores. Ativa-a em Integrations & Login → Office 365, logo abaixo da sincronização de utilizadores. O interruptor só aparece quando a sincronização de utilizadores está ativa. Não é necessária nenhuma permissão adicional: User.Read.All é suficiente.

Em cada sincronização de utilizadores, o Gfacility lê o campo Departamento de cada utilizador no Microsoft Entra ID e associa o utilizador à organização com esse nome, como organização principal.

SituaçãoO que o Gfacility faz
Existe uma organização com esse nomeO utilizador é associado a essa organização. O Gfacility procura-a primeiro pelo nome e depois pelo código, sem distinguir maiúsculas de minúsculas.
Ainda não existe nenhuma organizaçãoO Gfacility cria uma nova organização no nível superior, com o nome do departamento como nome e como código, e o tipo de organização Department (ou o tipo predefinido, se esse não existir).
O departamento no Entra está vazioO utilizador mantém a organização atual. Um novo utilizador recebe a organização predefinida.
O departamento de um utilizador mudaNa sincronização seguinte, é associado à nova organização.

Sincronização de localizações (Places)

Todas as noites, o Gfacility vai buscar as salas de reuniões à Microsoft. Para cada sala, são atualizados o nome, a capacidade, o edifício e o piso. Um edifício ou piso que ainda não exista é criado pelo Gfacility.

Que campos são copiados?

Campo na MicrosoftCampo no Gfacility
Nome a apresentar (DisplayName)Nome
Endereço de e-mail da salaEndereço de e-mail (a ligação ao calendário da sala)
Capacidade (Capacity)Capacidade
Edifício (Building)Edifício (localização superior)
Número do piso (Floor)Piso (nome e código)
ID da salaCódigo

Não são copiados: o nome do piso (FloorLabel), a morada e a cidade, o equipamento (ecrã, áudio, vídeo), a acessibilidade para cadeiras de rodas e as etiquetas.

Atenção: em cada sincronização, o Gfacility volta também a marcar a sala como reservável e preenche a descrição com um texto fixo. Se alterar qualquer um destes no Gfacility, a sincronização seguinte repõe-no. Para que uma sala não seja tocada, desative a sincronização externa dessa sala no Gfacility.

Como configurar isto na Microsoft é explicado em Gestão de salas no Microsoft.

Sincronização de calendários

A sincronização de calendários funciona nos dois sentidos:

  • Do Gfacility para o Outlook. Crie uma reserva no Gfacility e ela aparece também no calendário do Outlook do organizador, com a sala incluída. Altere-a ou cancele-a e o mesmo acontece no Outlook.
  • Do Outlook para o Gfacility. Mova, altere ou cancele essa reunião no Outlook e o Gfacility atualiza de imediato a reserva.
  • Calendários das salas. O Gfacility lê também os calendários das salas de reuniões. Assim, o quadro de planeamento e os ecrãs das salas mostram também as reuniões reservadas apenas no Outlook.

O que é sincronizado?

DadosSentido
TítuloNos dois sentidos
Hora de início e de fim, dia inteiroNos dois sentidos
DescriçãoNos dois sentidos (o texto do Teams é removido)
Participantes (colegas e visitantes)Nos dois sentidos
SalasNos dois sentidos. No Outlook aparecem como participante e em Localização
Reunião do Teams e respetiva ligaçãoNos dois sentidos
CancelamentoNos dois sentidos
OrganizadorDo Outlook para o Gfacility
Catering e serviçosFicam no Gfacility. Se a hora ou a sala mudar no Outlook, são assinalados para revisão

Dos calendários das salas, o Gfacility lê por reunião: título, hora de início e de fim, organizador, número de participantes e se a sala aceitou. Uma reunião marcada como privada no Outlook aparece no Gfacility como “Privado”.

Convém saber:

  • Uma reunião reservada apenas no Outlook não se torna uma reserva no Gfacility. A sala aparece, no entanto, como ocupada.
  • Todas as noites, o Gfacility verifica se houve alterações não captadas e recupera-as.

Como se configura?

São quatro passos:

  1. Crie um registo de aplicação na Microsoft.
  2. Atribua as permissões.
  3. Escolha como o Gfacility pode aceder aos calendários.
  4. Introduza os dados no Gfacility.

Depois, ative no Gfacility os componentes que quer usar.

1. Criar um registo de aplicação no Azure Portal

Crie um registo de aplicação dedicado ao Gfacility, separado de outras aplicações. Assim, o controlo e a segurança ficam nas suas mãos.

PassoO que fazer
1Inicie sessão no Azure Portal → Registos de aplicações.
2Clique em + Novo registo e introduza um nome.
3Escolha o tipo de conta adequado (por exemplo Contas apenas neste diretório organizacional).
4O URI de redirecionamento pode ficar em branco.
5Clique em Registar. Anote o ID da aplicação (cliente) e o ID do diretório (inquilino).
6Aceda a Certificados e segredos.
7Clique em + Novo segredo do cliente e indique uma descrição e uma data de expiração.
8Clique em Adicionar.

2. Atribuir permissões de API

No registo de aplicação, aceda a Permissões de API → + Adicionar uma permissão → Microsoft Graph. Adicione por caso de utilização:

Integração de utilizadores

Para que o Gfacility conheça os seus colaboradores. Para o início de sessão propriamente dito, consulte Iniciar sessão com Microsoft ou SSO.

  • Aplicação: User.Read.All
  • Delegada: User.Read

Places / Localizações

Sincronização automática das salas de reuniões a partir do Outlook.

  • Aplicação: Place.Read.All

Calendários (eventos do Outlook)

Para reservas, agendamento, análises e ecrãs das salas. Para isto escolhe uma de duas formas no passo 3, por isso não adicione ainda nada aqui.

Calendários partilhados

Acesso a caixas de correio partilhadas.

  • Delegada: Calendars.Read.Shared
  • Delegada: Calendars.ReadWrite.Shared

Por fim, clique em Conceder consentimento de administrador para [inquilino]. Caso contrário, as permissões ficam pendentes.

3. Escolher como o Gfacility pode aceder aos calendários

O Gfacility tem de ler e escrever eventos nos calendários das salas e dos utilizadores. Escolha uma destas duas formas:

Opção A · Todos os calendários

A mais simples. O Gfacility obtém acesso a todos os calendários do seu inquilino.

  • Aplicação: Calendars.ReadWrite

Adicione-a no Entra ID, a par das permissões do passo 2, e conceda o consentimento de administrador. Calendars.Read não é necessária: a ReadWrite já inclui a leitura.

Opção B · Restrito via Exchange RBAC

O Gfacility só obtém acesso às caixas de correio que escolher, por exemplo as salas e os colaboradores que fazem reservas.

Não adicione nenhuma permissão de calendário no Entra ID. O acesso é configurado no Exchange Online, conforme os passos abaixo.

Opção B passo a passo (Exchange Online PowerShell)

1. Ligue-se e crie o principal de serviço. Use o ID da aplicação e o ID do objeto da aplicação empresarial, não do registo de aplicação:

Connect-ExchangeOnline

New-ServicePrincipal `
  -AppId "<Application ID>" `
  -ObjectId "<Enterprise App Object ID>" `
  -DisplayName "Gfacility Application RBAC"

2. Crie um âmbito. Com base num domínio ou num grupo com correio ativado (os grupos de segurança normais não funcionam):

# Opção 1: por domínio (os novos utilizadores ficam automaticamente dentro do âmbito)
New-ManagementScope `
  -Name "Gfacility-DomainScope" `
  -RecipientRestrictionFilter "PrimarySmtpAddress -like '*@contoso.com'"

# Opção 2: por grupo com correio ativado (controlo total)
$Group = Get-DistributionGroup "Gfacility Scope"
New-ManagementScope `
  -Name "Gfacility-GroupScope" `
  -RecipientRestrictionFilter "MemberOfGroup -eq '$($Group.DistinguishedName)'"

3. Atribua a função. Use Application Calendars.ReadWrite, porque o Gfacility escreve reservas nos calendários. Só com Application Calendars.Read, as reservas nunca chegam ao Outlook.

New-ManagementRoleAssignment `
  -Name "Gfacility-Calendars-Scoped" `
  -Role "Application Calendars.ReadWrite" `
  -App "<Application ID>" `
  -CustomResourceScope "Gfacility-DomainScope"

Get-ManagementRoleAssignment -App "<Application ID>" | Format-List Name,Role,CustomResourceScope

4. Teste com uma sala e um utilizador:

Test-ServicePrincipalAuthorization -Identity "<Application ID>" -Resource "meetingroom1@contoso.com"
Test-ServicePrincipalAuthorization -Identity "<Application ID>" -Resource "employee@contoso.com"

Ambos têm de mostrar InScope True, com Calendars.ReadWrite.

Consulte também o guia da Microsoft sobre o Application RBAC no Exchange Online.

4. Introduzir os dados no Gfacility

O administrador do Gfacility introduz estes dados em Integrations & Login → Office 365 → Service account (app registration) e clica em Test connection. Em alternativa, partilhe-os connosco:

  • ID da aplicação (cliente)
  • ID do diretório (inquilino)
  • Valor do segredo do cliente

Partilhe estes dados sensíveis por um meio seguro (uma ligação de um gestor de palavras-passe), nunca soltos num e-mail.