Salta al contenuto
KAMOUniverse

Changelog

Cosa c'è di nuovo.

Ogni miglioramento alla piattaforma, come si spedisce.

  1. · EmailService

    Canali telefonici e vocali per tipo, mirror vocale e SI_ASSISTANT_REPLY

    Programma Assistente vocale (2026-10-27) P3-5, P4-1, P4-2, P4-4. - GET/PUT /api/notifiche/canali e PUT **************** per-tipo scelte TELEFONO/VOCE (BELL sempre acceso), ore di silenzio vocale (default 21:00-08:00 zona membro), limite giornaliero di voce (default 10). - raise(): il push del telefono onora la scelta PHONE; NotificationVoiceSender invia una scheda di passaggio dopo il commit a IoTService /api/iot/internal/voice/notify (ore di silenzio vocale, Kamo Non disturbare, un evento del calendario in esecuzione e RPM_ALERT e SI_AUTH_REQUEST mai). I titoli parlati sono sicuri per la voce. - **************** e /read per 'chiedi Kamo Universe cosa c'è di nuovo'. - SI_ASSISTANT_REPLY appartiene a nessuna applicazione; elencati dopo SI_AUTH_REQUEST.

  2. · SecurityService

    Termina un SI dal suo stato, lo stato conta, nessuna cancellazione su /account

    - Lo stato Terminato di un SI esegue il ciclo di vita di ritiro del SI dopo il resto del salvataggio (corse interrotte, linea telefonica, posto e licenza liberati, credenziali e Sessioni revocate, attività consegnate, cronologia conservata). Bisogni MANAGE_AI_WORKFORCE come fa Retire, più il proprio MANAGE_MEMBER_SECURITY dello stato; un SI non Termina se stesso; la scelta della workstation va avanti. Altri stati sono Un SI terminato è detto chiaramente che non può essere restituito. - GET **************** **************** customers/status-counts: una query raggruppata e limitata all'organizzazione ciascuna. - POST members-subscribers/status (Terminate/Activate: solo members.is_active, mai l'utente; MANAGE_MEMBERS) e clienti/stato (Disattiva/Attiva: Solo accounts.is_active; EDIT_ACCOUNTS o DELETE_ACCOUNTS). - members-subscribers?include=all lists terminated members per /account. - DELETE customers/{uid} è solo per gli operatori della piattaforma (open god window).

  3. · kamo-shared-library

    Scelte di canale per tipo, ore e limite di silenzio vocale, SI_ASSISTANT_REPLY, tipi di attività vocale

    Programma Assistente vocale (2026-10-27) P3-5, P3-6, P4-1. Dichiara ciò che è stato applicato manualmente: member_notification_channels (membro, tipo, TELEFONO|VOCE, abilitato), **************** **************** **************** e IotActivityKind VOICE_ASSISTANT_TURN, VOICE_ALERT_SENT aggiunti per ultimi.

  4. · kamo-internal

    Record DNS del dominio alias, alias predefinito di un collega, indirizzo di invio reale

    Impostazioni -> Email -> Domini -> Alias domini: ogni dominio mostra se è Pronto o in attesa di DNS e una finestra di dialogo dei record DNS elenca i record MX, SPF e DKIM Registri di cui ha bisogno (da EmailService), ciascuno controllato in tempo reale, con pulsanti di copia. La composizione come un collega ora si apre sul loro alias predefinito, la stessa regola Segue l'alias predefinito del membro (colleagueDefaultAlias). La scheda membro "Va fuori come" legge il server sendsAs invece di indovinare dalla prima copia di alias-dominio, che era sbagliato quando nessun dominio alias è il di default.

  5. · kamo-shared-library

    Dichiarare le colonne e le tabelle di collegamento dell'assistente vocale (collegamenti personali, ultimo errore, PIN, profili vocali)

    Le colonne su iot_alexa_links (last_error_code/at, pending_grant_choice, owner_kind, owner_member_id, site_id, notifications_enabled) e le tabelle iot_voice_org_settings, iot_voice_persons, iot_voice_pins, applicate manualmente Questo file è stato rimosso da iot-service **************** in modo che KamoInitializer possa ricrearli.

  6. · MCPGatewayService

    Meetings_join_external, **************** meetings_cancel_external (TPEXTMEET)

    Un SI partecipa a una riunione esterna (Zoom, Teams, Meet, Webex, GoTo, qualsiasi provider) dai dettagli forniti da un compagno di team, JOIN_MEETING (il guardiano dell'identità lo tiene sui canali non provati), diritti di accesso al meeting, VIEW_MEETINGS + ACCESS_VOIP (controllato nuovamente in kamoai-service con l'unione del richiedente), solo su un server verificato Richiesta (citata, la propria esecuzione, una conferma, o la linea di incontro di un compagno di squadra registrato); mai su richiesta del SI stesso I codici di accesso e le chiavi non vengono mai restituiti al modello. meetings_join punti al di fuori dei collegamenti qui. Guardie: non rivelare (il pubblico della chiamata è esterno), non contento, frasi di approvazione, goldens rigenerati.

  7. · kamo-internal

    I report di Mortgage Lending raggiungibili da ogni schermata MLOS, aperti già filtrati

    - I collegamenti dei rapporti possono ora precompilare i parametri: **************** (data preset o intervalli di inizio..fine, elenchi di virgole per le selezioni multiple) Un collegamento non amplia mai ciò che un membro vede. - ReportQuickLinks: menu Report di una schermata di lavoro. Chiede al server quali report Il membro può eseguire (una volta per pagina) e offre solo quelli, quindi non rende nulla per un membro che non può aprire nessuno. - Posizionato sulla barra degli strumenti Pipeline, pagina HMDA LAR, Consiglio, Documenti, Capitale e rischio, Schermate Underwriting, Pricing e Governance; sulla pagina del prestito si apre ogni report filtrato a quel prestito (audit di stato, tempistiche TRID, condizioni, documenti, serrature, eventi di blocco, ordini dei fornitori, decisioni di SI); le impostazioni di mercato collegano Cronologia completa della configurazione (il pannello di prontezza mostra solo gli ultimi sei). - La striscia "Fair Lending — coming soon" della Governance è andata: Fair Lending Outcomes è Un vero rapporto ora. - Il tipo di scaffale di prestito ipotecario e le icone. Si abbina con kamo-shared-library 17a7a233 e SecurityService 6ce48d17.

  8. · kamo-internal

    Gli amministratori possono modificare il ruolo di amministratore, con il relativo diritto di blocco

    Il ruolo di amministratore (accesso completo) è stato visualizzato come protetto e non è stato possibile aprirlo invia lockedRights (il chiamante detiene quel ruolo), il ruolo si apre con i suoi diritti modificabili e quelli La concessione/revocazione del ramo ora supera la forzata e la volontaria concessione/revocazione del ramo I modelli di sicurezza del ruolo rimangono in sola lettura.The role's security models remain read-only.

  9. · KlusterServices

    Postfix impara i domini alias dal database di posta

    I domini alias di un'organizzazione (Impostazioni -> Email -> Domini) erano necessari virtual_alias_domains e una mappa scritta a mano modificata qui. EmailService ora mantiene Una tabella alias_domains nel server di posta (KamoMailAliasDomains), e postfix la legge: mysql-virtual-alias-domains.cf accetta il dominio, e **************** consegna local@alias solo a local@target Quando si tratta di un account reale o alias, quindi i nomi sconosciuti sono rifiutati a RCPT. Additivo: i domini statici e la mappa della piattaforma kamouniverse.com rimangono in primo piano La tabella esiste già dal vivo (creata a mano e da EmailService al momento della creazione) Una mappa che nomina una tabella mancante non riuscirebbe ad ogni ricerca, quindi è anche in mysql-init-configmap.yaml per un nuovo database.

  10. · SecurityService

    I membri che detengono il ruolo di amministratore possono modificare i suoi diritti

    PUT /api/security/roles/{id} instrada i diritti del ruolo di amministratore attraverso **************** PRIMA di qualsiasi altra scrittura così un salvataggio rifiutato scrive Solo un chiamante che detiene quel ruolo (o ha una finestra di god aperta) può; CONFIGURE_SYSTEM solo Un salvataggio che spegne CONFIGURE_SYSTEM è un 400 per una semplice ragione: il sistema non è configurato correttamente. Il ruolo riporta carry lockedRights per tale chiamante. I modelli di sicurezza sul ruolo rimangono bloccati.

  11. · kamo-shared-library

    Gli amministratori possono modificare i diritti del ruolo di amministratore, senza mai disattivare CONFIGURE_SYSTEM

    Il ruolo di amministratore (accesso completo) è memorizzato isAllowEditSecurity=false, in modo che nessuno possa modificarlo **************** è l'unica porta d'ingresso: accetta solo i diritti di chi è in possesso di essi org's role_admin_id e rifiuta qualsiasi salvataggio (dopo aver normalizzato il livello) che lasci un diritto in Questo set è costituito da CONFIGURE_SYSTEM più i suoi antenati: Il diritto che apre Impostazioni > Essenziale e ogni ruolo di scrittura, in modo che i suoi titolari possono sempre tornare. SecurityRoleDTO.lockedRights indica all'editor quali switch sono bloccati.

  12. · EmailService

    I domini alias ricevono e firmano autonomamente; i valori predefiniti sono colleghi e auto

    Il server di posta ora impara i domini alias di un'organizzazione da EmailService invece di KamoMailAliasDomains mantiene una tabella alias_domains in un file di configurazione il database KamoMail MySQL (creato all'avvio; postfix lo legge - vedi klusterservices mail/), instradando local@alias a local@target dove questo è un vero Aggiungere/rimuovere la sincronizzazione, e un avvio riconcilia le righe di percorsi che - Non l'ho fatto. Ogni dominio alias che non è un host di piattaforma ottiene una chiave DKIM lì, e EmailSmtpService.sendAsMember firma la posta di un utente da esso con il Gli host della piattaforma conservano le chiavi di rspamd, quindi la posta di kamouniverse.com è sicura GET **************** elenca i dati MX, SPF e DKIM Registra i bisogni del dominio, ognuno controllato dal vivo. Inoltre: - AliasView.sendsAs: l'indirizzo di un alias predefinito che viene effettivamente inviato come (la sua copia sul dominio alias DEFAULT dell'organizzazione, altrimenti su se stesso) - la scheda delle impostazioni indovinata. - /sendable contrassegna la cassetta postale primaria di un collega (isPrimary), Gli utenti possono aprirli sul loro alias predefinito. - Un membro può impostare il proprio mittente predefinito senza MANAGE_EMAIL_ACCOUNTS.

  13. · SecurityService

    Responsabile del prestito e selezionatori di investitori per i rapporti di prestito ipotecario, provati sulla Hibernate della flotta

    - mortgageLoanOfficers: membri assegnati come agenti di prestito su almeno uno dei (più ristretto di ogni membro, quindi il selezionatore elenca i nomi che Prestiti di corrispondenza). - mortgageInvestors: i nomi degli investitori sulle istantanee dei prezzi dell'organizzazione. **************** esegue tutti i diciotto report (kamo-shared-library 17a7a233) su QUESTO servizio Hibernate 6.2 senza database: ogni istruzione ciascuna Il report viene compilato contro la mappatura reale, con i valori predefiniti e con ogni Il parametro set, e la query di prestito dell'organizzazione risponde a un prestito sintetico in modo che il La libreria è basata sulla versione 6.5, e Java CI non esegue alcun tipo di compilazione Questo è l'unico posto in cui un'incompatibilità con 6.2 si mostrerebbe prima che un membro Ho aperto il rapporto.

  14. · kamo-shared-library

    Una raccolta di diciotto report di audit, conformità e operazioni

    Report Studio non aveva rapporti ipotecari; il MLOS aveva un vero rapporto di conformità (il HMDA LAR page) e una serie di schermate di lavoro che non potevano filtrare, esportare o pianificare. Questo aggiunge una cartella di prestiti ipotecari e diciotto rapporti, tutti di portata organizzativa, Tutti gated su View Mortgage Pipeline, tutti con drill-through, viste salvate, Pianificazione ed esportazione CSV/Excel/PDF: - Regolamentazione: HMDA LAR Review, HMDA Edit Controls, Fair Lending Outcomes (screening per gruppo di richiedenti, bandiera dei quattro quinti), Foglio di lavoro Mortgage Call Report, TRID Tempistica di divulgazione (giorni lavorativi generali o specifici, regola della casella di posta), avversa Tempestività dell'azione (Reg B 30 giorni) - Pipeline e produzione: invecchiamento della pipeline, produzione e tempo di ciclo, rilascio e Pull-Through - Lock Desk: Tasso di scadenza di blocco, estensioni di blocco, Relocks & Breaks - Sottoscrizione e operazioni: condizioni di invecchiamento e deroghe, requisiti dei documenti, Turnaround dell'ordine del fornitore - Audit: Audit del cambiamento di stato del prestito, SI Decision & Override Audit, Licensing Conformità, revisione delle modifiche di configurazione Framework: ReportFolder.MORTGAGE e ReportRowFilter — filtro di un membro applicato alle righe finite, con gli stessi significati degli operatori del percorso SQL, per i report le cui colonne sono calcolate (giorni in stato, risultati di scadenza). MortgageReportSupport mantiene ogni prestito letto una proiezione scalare delimitata dal (LoanFile -> AppMortgage -> organization), poiché la maggior parte delle tabelle ipotecarie I carichi di colonne e entità non portano alcuna colonna di organizzazione e attivano una query per ogni figlio one-to-one. Il testo di aiuto di ogni rapporto dice ciò che non può vedere: nessuna tariffa dettagliata (nessuna tolleranza) check), nessun record di intenzione di procedere, avvisi inviati al di fuori del sistema, LAR non compilato

  15. · kamo-shared-library

    Entità AiExternalMeeting per le associazioni SI di riunioni di terze parti (TPEXTMEET)

    Dichiara ai_external_meeting (kamoai-service **************** Questo codice è stato applicato) così KamoInitializer può ricrearlo.

  16. · AIService

    Sessioni GPT-Live attraverso il relè (biglietti LIVE_AUDIO), sondate con una sessione live

    TPGPTLIVE (proprietario 2026-10-27, pilota). Il WebSocket primario di GPT-Live prende solo la chiave del progetto, quindi un ticket LIVE_AUDIO Instrada l'ordine REALTIME_AUDIO dell'org, mantiene i suoi modelli live e ritrasmette wss://…/v1/live/sessions con la chiave aggiunta Un segreto client Realtime non viene mai creato per un modello live; il segreto client Realtime viene creato per un modello live La sonda REALTIME_AUDIO di un modello live apre una sessione GPT-Live (session.start -> session.started -> close) Prende <base>/live/sessions, il percorso del plugin LiveKit. Hint del nome gpt-live-* = REALTIME_AUDIO; modello noto gpt-live-1.

  17. · SecurityService

    Seed i dieci diritti del calcolatore di mutuo da CALC_SIMPLE

    Chiunque possa aprire la calcolatrice oggi trova Calcolatrice -> Mutuo sul boot che aggiunge CALC_MORTGAGE_* (shared-lib 1ae01ae8); ciascuno viene quindi concesso o ritirato autonomamente.

  18. · kamo-internal

    Alias domini in Impostazioni e nella scheda cassetta postale del membro

    Impostazioni -> Email -> Domini ottiene una scheda Alias domini: aggiungere un dominio verificato Selezionare un dominio, rimuoverne uno, scegliere quello predefinito o nessuno. La scheda E-mail e cassetta postale del membro ora mostra gli indirizzi della cassetta postale principale su ciascun dominio alias (Dylan@kamocrm.com è anche Dylan@kamouniverse.com), e Il modulo add-alias ottiene un selezionatore di dominio in modo che un alias possa andare direttamente su un Nome di dominio. Il proxy non limita più gli alias al singolo dominio predefinito dell'organizzazione; EmailService rifiuta già un dominio che l'organizzazione non possiede.

  19. · EmailService

    Gestire i domini alias dell'organizzazione e consentire gli alias su di essi

    org_alias_domains esisteva solo da SQL scritto a mano. Nuovo /api/email/alias-domains li elenca (qualsiasi membro dell'organizzazione) e aggiunge, rimuove Un dominio può essere aggiunto solo quando è stato creato un account di posta elettronica L'organizzazione ha dimostrato che lo tiene, e mai una delle sue caselle di posta già vivono su. KamoMail createAlias ora accetta un alias su un dominio alias (sales@kamouniverse.com): il dominio non ha una riga virtual_domains, quindi l'alias è archiviato sotto il dominio della cassetta postale di destinazione; postfix cerca gli alias Il dominio è già elencato in virtual_alias_domains. Corregge anche AliasResponseMemberIsTextTest, che il commit precedente ha rotto Aggiunta di aliasDomainAddresses ad AliasView.

  20. · kamo-internal

    Dieci calcolatori di mutuo sotto Calcolatrice → Mutuo

    Pagamento mensile, Acquisto accessibile, Importo del prestito dal pagamento, Pagamento iniziale, Costi di chiusura Estimatore, Cash to Close, DTI, LTV (con CLTV e HCLTV), pagamento extra / Early Payoff e un Piano di ammortamento, ciascuno con una modalità di calcolo nella propria finestra degli strumenti, costruito da un kit condiviso (mortgageUi.tsx): risultati di conteggio, ciambelle colorate, barre, indicatori e curve di equilibrio, denaro Campi percentuali e percentuali con cursori, input mantenuti con la finestra, movimento ridotto rispettato. Ognuno è controllato dal proprio diritto CALC_MORTGAGE_* (shared-lib 1ae01ae8, ids 650-659). I gruppi di navigazione Un membro che ne detiene solo uno ottiene la calcolatrice al suo posto. La matematica Vive in lib/mortgage/calculatorMath.ts sopra payment.ts/affordability.ts, con i test. Il Il tour del calcolatore guadagna un passo Ipoteca; la copia è nel dizionario (aa98d5f2).

  21. · kamo-shared-library

    Dieci diritti di calcolatore di mutuo sotto Calcolatrice (650-659)

    CALC_MORTGAGE_PAYMENT, _AFFORDABILITY, _LOAN_FROM_PAYMENT, _CAWN_PAYMENT, _CLOSING_COSTS, _CASH_TO_CLOSE, _DTI, _LTV, _EXTRA_PAYMENT e _AMORTIZATION: uno per ogni calcolatore di mutuo, ServiceType.CALCULATOR accanto alle nove modalità esistenti, ciascuna con una radice indipendente. RoleRightHierarchyTest: valori 403 -> 413, standalone 79 -> 89, radici 124 -> 134.

  22. · KlusterServices

    L'identità di ogni occupante della riunione è la propria sessione verificata (mod_kamo_presence_identity)

    TPMEETAUTH (ordine del proprietario 2026-10-26): l'orecchio del SI legge chi è ogni endpoint Il valore di stock presence_identity rimuove l'identità di un cliente <identity> solo per le sessioni token, quindi un guest.meet.Meet anonimo o un La gamba di Jigasi potrebbe essere forgiata. Questo modulo MUC spoglia ogni cliente Scrive solo il contesto JWT della sessione (il sidecar lo firma ***; gli ospiti portano guest-<hex>). Unit-tested nel Prosody pod (identità forgiata rimossa, identità token scritta). Applicato 2026-10-27 04:32Z senza conferenza dal vivo (Statistiche di jicofo: 0 conferenze, 0 Jicofo e Jigasi ricollegati, gli ospiti ricevono i gettoni.

  23. · MCPGatewayService

    In una riunione, l'oratore della linea decide l'autorità (il supervisore connesso ordina, il compagno di squadra chiede, l'ospite è chiunque)

    TPMEETAUTH (ordine del proprietario 2026-10-26). kamoai-voice nomina la linea di incontro a Risponde alle chiamate (X-Kamo-Meeting-Turn, mai il modello); MeetingTurns chiede kamoai-service che l'ha detto, dal flusso di quell'endpoint e verificato Identità: - SUPERVISOR (connesso, o un ospite che hanno confermato): il loro ordine, il No Unione di insubordinazione (orderRef meet:<turn> o auth:<id>), nessun popup; - TEAM_MEMBER: autenticato, l'identity guard lascia che l'SI agisca con i suoi Solo diritti PROPRI; - NONE / non letto / non corrispondente al flusso dell'altoparlante: livello di chiunque. Gli ordini vengono mantenuti per riga, mai sotto la chiave di esecuzione, quindi l'ordine di un oratore La richiesta di conferma dell'identità in una riunione è per L'altoparlante della linea (about=meet-turn:<turn>). Test: (6), IdentityPackTest (+1); full suite 2013 green.

  24. · SecurityService

    Una linea di incontro che un supervisore registrato ha detto è un ordine che il piano degli strumenti può prestare (meet:<turn id>)

    TPMEETAUTH (ordine del proprietario 2026-10-26): in Kamo Meet un supervisore registrato La loro richiesta è il loro ordine diretto (Nessun sindacato di insubordinazione) verifica la linea attraverso l'attribuzione degli altoparlanti di kamoai-service (ogni Il microfono del partecipante) e lo cita come meet:<turn id>.

  25. · kamo-internal

    Mostra gli indirizzi di un alias sui domini alias dell'organizzazione

    Sotto ciascun alias nella scheda E-mail e cassetta postale del membro, elenca lo stesso alias nella I domini alias di org, e sotto il chip del mittente predefinito, l'indirizzo che Va fuori come.

  26. · EmailService

    Un alias funziona su ogni dominio alias, come la cassetta postale primaria

    I domini alias dell'organizzazione (org_alias_domains) hanno già rispecchiato il dominio primario del membro Inserisci erik@kamocrm.com nella casella di posta del compositore (erik@kamouniverse.com è disponibile anche come erik@kamouniverse.com) ma mai i loro alias, quindi eric.white@kamocrm.com non poteva inviare come eric.white@kamouniverse.com - anche se la mappa alias della piattaforma di postfix è già disponibile Consegna quell'indirizzo all'alias. Ogni alias ora ottiene le stesse righe mirror in /sendable, che canSendAs legge, quindi Una copia di un alias predefinito sull'alias predefinito dell'organizzazione Il dominio prende il valore predefinito, come fa il primario Restituisce aliasDomainAddresses in modo che Settings possa mostrarli.

  27. · MCPGatewayService

    Protezione anti-imitazione — una conversazione non verificata ottiene solo ciò che chiunque può chiedere fino a quando il membro non conferma in Kamo

    Proprietario 2026-10-26 (TPCALLTOOLS B): qualcuno che solo afferma di essere un membro, Un supervisore o qualcuno in autorità non deve far fare nulla al SI danneggiante o che si basi su tale affermazione, anche nei limiti dei diritti dell'IS; Enforced server-side. IdentityGuard (nuovo fagiolo, un costruttore; cablato dal setter): per la scrittura di un SI in una corsa su un canale che non dimostra nessuno (chiamata, riunione, testo, non provato E-mail, chat web/social, il loro follow-up; kamoai-service /auth-requests/identity), senza conferma permanente, ordine dei compagni di squadra, verified onRequestOf o approvazione umana, solo le scritture a livello di chiunque passano (messaggi interni, nuovi record, attività, note, prenotazioni, contabilità propria) e risponde alla controparte della conversazione senza allegati. Tutto il resto risponde alla denominazione IDENTITY_UNVERIFIED (audit DENIED) identity_request_confirmation. Una ricerca non riuscita contiene scritture protette. identity_request_confirmation risponde all'ID della richiesta (una chiamata live attende Una risposta APPROVED segna la conferma dell'esecuzione, quindi OrderDelegation solleva il suo Mantenere 'nessun ordine' in una volta (la conferma è quindi l'ordine di esecuzione, auth:<id>, Nessuna insubordinazione dei diritti sindacali).

  28. · kamo-internal

    Scegliere un alias come mittente predefinito di un membro

    La scheda Email e cassetta postale del membro ottiene una colonna Mittente predefinito sugli alias tabella: impostare un alias come predefinito o restituirlo alla cassetta postale primaria. Il compositore apre il suo campo Da su quell'alias ovunque lo farebbe altrimenti Aprire sulla cassetta postale principale del membro: un nuovo messaggio, e nuovo, risposta e Una cassetta postale condivisa, secondaria o di un collega è una cassetta postale L'alias mantiene l'identità di invio del primario, ma non la sua identità di invio E modello di firma, come un alias scelto a mano ha già fatto.

  29. · EmailService

    Un membro può inviare da un alias per impostazione predefinita

    PUT **************** sceglie quale alias si trova in per la cassetta postale principale del membro (null la cancella). Un alias per membro al massimo porta is_default; la colonna esisteva già e non è mai stata impostata. Gli indirizzi /sendable e /from ora riportano isDefault sulle righe degli alias, che è quello che Il compositore apre il suo campo Da.

  30. · MCPGatewayService

    Calendar_create_event invita i compagni di squadra tramite l'id del membro, quindi 'metterlo sul mio calendario' raggiunge la persona che ha chiesto

    Nessuno può scrivere il calendario di un altro membro (EmailService: calendari propri, il calendario dell'organizzazione con il diritto di pubblicazione), inviteMemberIds li invia come il pubblico dell'evento, come la finestra di dialogo del calendario e come i membri del gruppo I chip delle persone fanno: una riga di ospiti legata al membro, l'evento sul proprio calendario, l'invito inviato Valutato su MEETING e nominato nel piano di divulgazione; la descrizione guida l'SI ad esso.

Il tuo universo ti sta aspettando.

Aggiungi i prodotti quando sei pronto: nessuna migrazione, nessun nuovo login, nessuna richiesta di pagamento.

Gratis per sempre — nessuna carta di credito richiesta