Add-in
41 TopicsSolution for a document workflow with versioning, status, owner and resubmission date
Hello Community We are currently looking for a solution to capture our internal knowledge in a kind of knowledge base. We already evaluted several tool for things like that, but all seem too sophisticated for our basic needs. So I start this discussion here at the top node, please feel free to move it, if there is a place where it fits better. We are looking for a system, that can handle the standard office 365 document file types word, excel, powerpoint, Visio and pdf. We would like to implement following functions, which we believe should not be difficult to implement, but currently we lack the knowledge of how to do. Automatic, unique number generator for each new knowledge document several document templates to ensure uniform and easy to navigate/read document structure interlink documents if they reference each other in content status like "in work", "revised", "released", incl. versioning workflow Assign a user how is in charge in careing for the content of the document in terms of actuality, correctness, etc. date reminder for periodically review the document after releasing (e.g. yearly) allow search in document title and content I think, a lot of the functions is already implemented in the standard functionality of sharepoint. But maybe there are easy add-on tools with which we can implement those functions "as a prototype" without having much knowledge about deep-dive .net coding. Looking forward to any interesting hints and answers20Views0likes0CommentsMy first Add-In
Hello everyone, I’m working on developing my first Add-In for Outlook 365. In theory, it’s quite simple—it’s a drop-down menu with two options. Each option opens a new email and loads a different template, depending on the selection. So far, the menu is functioning smoothly. Selecting option A displays the corresponding template, and the same goes for option B. However, I’m facing a problem: I can’t get the user’s signature to load automatically as expected, even though the signature is properly configured and set as the default for new emails. I’ve attached part of mymanifest.xml and command.ts files for you to review. If you could provide some guidance on how to resolve this issue, I’d greatly appreciate it. Thank you so much for your support! manifest.xml <Requirements> <Sets> <Set Name="Mailbox" MinVersion="1.5"/> </Sets> </Requirements> <FormSettings> <Form xsi:type="ItemRead"> <DesktopSettings> <SourceLocation DefaultValue="https://localhost:3000/taskpane.html"/> <RequestedHeight>250</RequestedHeight> </DesktopSettings> </Form> </FormSettings> <Permissions>ReadWriteItem</Permissions> <Rule xsi:type="RuleCollection" Mode="Or"> <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read"/> <Rule xsi:type="ItemIs" ItemType="Message" FormType="Edit"/> </Rule> <DisableEntityHighlighting>false</DisableEntityHighlighting> <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0"> <Requirements> <bt:Sets DefaultMinVersion="1.5"> <bt:Set Name="Mailbox"/> </bt:Sets> </Requirements> <Hosts> <Host xsi:type="MailHost"> <DesktopFormFactor> <FunctionFile resid="Commands.Url"/> <ExtensionPoint xsi:type="MessageReadCommandSurface"> <OfficeTab id="TabDefault"> <Group id="msgReadGroup"> <Label resid="GroupLabel"/> <!-- Menú desplegable para las opciones --> <Control xsi:type="Menu" id="DropdownMenu"> <Label resid="DropdownMenu.Label"/> <Supertip> <Title resid="DropdownMenu.Label"/> <Description resid="DropdownMenu.Tooltip"/> </Supertip> <Icon> <bt:Image size="16" resid="MenuIcon.16x16"/> <bt:Image size="32" resid="MenuIcon.32x32"/> <bt:Image size="80" resid="MenuIcon.80x80"/> </Icon> <Items> <Item id="InternalAction"> <Label resid="InternalAction.Label"/> <Supertip> <Title resid="InternalAction.Label"/> <Description resid="InternalAction.Tooltip"/> </Supertip> <!-- Imagen para la opción Internal --> <Icon> <bt:Image size="16" resid="InternalIcon.16x16"/> <bt:Image size="32" resid="InternalIcon.32x32"/> <bt:Image size="80" resid="InternalIcon.80x80"/> </Icon> <Action xsi:type="ExecuteFunction"> <FunctionName>handleInternalAction</FunctionName> </Action> </Item> <Item id="ExternalAction"> <Label resid="ExternalAction.Label"/> <Supertip> <Title resid="ExternalAction.Label"/> <Description resid="ExternalAction.Tooltip"/> </Supertip> <!-- Imagen para la opción External --> <Icon> <bt:Image size="16" resid="ExternalIcon.16x16"/> <bt:Image size="32" resid="ExternalIcon.32x32"/> <bt:Image size="80" resid="ExternalIcon.80x80"/> </Icon> <Action xsi:type="ExecuteFunction"> <FunctionName>handleExternalAction</FunctionName> </Action> </Item> </Items> </Control> </Group> </OfficeTab> </ExtensionPoint> </DesktopFormFactor> </Host> </Hosts> <Resources> <bt:Images> <!-- Iconos del menú --> <bt:Image id="MenuIcon.16x16" DefaultValue="https://localhost:3000/assets/menu-icon-16.png"/> <bt:Image id="MenuIcon.32x32" DefaultValue="https://localhost:3000/assets/menu-icon-32.png"/> <bt:Image id="MenuIcon.80x80" DefaultValue="https://localhost:3000/assets/menu-icon-80.png"/> <!-- Iconos para la opción Internal --> <bt:Image id="InternalIcon.16x16" DefaultValue="https://localhost:3000/assets/int-16.png"/> <bt:Image id="InternalIcon.32x32" DefaultValue="https://localhost:3000/assets/int-32.png"/> <bt:Image id="InternalIcon.80x80" DefaultValue="https://localhost:3000/assets/int-80.png"/> <!-- Iconos para la opción External --> <bt:Image id="ExternalIcon.16x16" DefaultValue="https://localhost:3000/assets/ext-16.png"/> <bt:Image id="ExternalIcon.32x32" DefaultValue="https://localhost:3000/assets/ext-32.png"/> <bt:Image id="ExternalIcon.80x80" DefaultValue="https://localhost:3000/assets/ext-80.png"/> </bt:Images> <bt:Urls> <bt:Url id="Commands.Url" DefaultValue="https://localhost:3000/commands.html"/> <bt:Url id="Taskpane.Url" DefaultValue="https://localhost:3000/taskpane.html"/> <bt:Url id="CommandsJs.Url" DefaultValue="https://localhost:3000/commands/commands.js"/> </bt:Urls> <bt:ShortStrings> <!-- Nombre del grupo --> <bt:String id="GroupLabel" DefaultValue="New Client/Matter"/> <!-- Etiqueta para el menú desplegable --> <bt:String id="DropdownMenu.Label" DefaultValue="Choose Action"/> <!-- Etiqueta para la opción Internal --> <bt:String id="InternalAction.Label" DefaultValue="Internal"/> <!-- Etiqueta para la opción External --> <bt:String id="ExternalAction.Label" DefaultValue="External"/> </bt:ShortStrings> <bt:LongStrings> <!-- Tooltip para el menú --> <bt:String id="DropdownMenu.Tooltip" DefaultValue="Select an action to perform."/> <!-- Tooltip para la opción Internal --> <bt:String id="InternalAction.Tooltip" DefaultValue="Opens an internal email template."/> <!-- Tooltip para la opción External --> <bt:String id="ExternalAction.Tooltip" DefaultValue="Opens an external email template."/> </bt:LongStrings> </Resources> </VersionOverrides> </OfficeApp> command.ts /* global Office */ Office.onReady(function (info) { if (info.host === Office.HostType.Outlook) { Office.actions.associate("handleInternalAction", handleInternalAction); Office.actions.associate("handleExternalAction", handleExternalAction); } }); /** * Handles the "Internal" action. * param event The Office Add-in event. */ function handleInternalAction(event) { console.log("Handling internal action..."); openEmailTemplate("internal"); event.completed(); } /** * Handles the "External" action. * param event The Office Add-in event. */ function handleExternalAction(event) { console.log("Handling external action..."); openEmailTemplate("external"); event.completed(); } /** * Opens an email template with the user's signature. * param templateType The type of template ("internal" or "external"). */ function openEmailTemplate(templateType) { var templateBody = templateType === "internal" ? "This is the internal email template." : "This is the external email template."; var subject = templateType === "internal" ? "Internal Client/Matter" : "External Client/Matter"; console.log("Opening email template..."); // Open a new email draft Office.context.mailbox.displayNewMessageForm({ subject: subject, htmlBody: templateBody, }); // Insert the user's signature after the draft is created Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, function (result) { console.log("Attempting to get user's signature..."); if (result.status === Office.AsyncResultStatus.Succeeded) { var userSignature = result.value || ""; console.log("User's signature retrieved: ", userSignature); // Combine the template body with the user's signature var combinedBody = templateBody + "<br/><br/>" + userSignature; console.log("Updating email body with template and signature..."); // Update the email body with the template and the user's signature Office.context.mailbox.item.body.setAsync(combinedBody, { coercionType: Office.CoercionType.Html, asyncContext: { value: "setBody" }, // Optional: track async operation }); } else { console.error("Failed to get user's signature:", result.error); } }); } //# sourceMappingURL=commands.js.map29Views0likes0CommentsWhich APIs are the best for my outlook software
Hey community, I want to build a software that would automatically process incoming emails (using an LLM) from an outlook inbox and perform tasks, like forwarding the email to another inbox, or enriching the email body text with data from a CRM. The software should be easy to integrate into new organisations, so I was looking at building an outlook extensions.But i could not find any triggers that would work on any incoming email. I've looked at the Microsoft documentation for autolaunch add-ins: https://learn.microsoft.com/en-us/office/dev/add-ins/outlook/autolaunch But I have seen that I could create a email subscription with the microsoft REST API https://learn.microsoft.com/en-us/graph/api/subscription-post-subscriptions?view=graph-rest-1.0&tabs=http#request I also discovered this blog post that revolved around a similar problem https://techcommunity.microsoft.com/discussions/microsoft-365/trigger-api-from-received-email/3906340 The suggested solution includes using microsoft power automate, but I would like my solution to work without any additional subscriptions. So my question is, what are the best API's to develop my software. It should be easy to install it on every machine of employees of a client company (like installing the outlook add-on) and analyse the content of the email automatically to then perform some actions, like adding text to the body of an email. Thanks for any advice in advance :)45Views0likes2CommentsOffics 365 Word for Web Export to PowerPoint
Until recently, Microsoft Office 365 Word offered an "Export to PowerPoint" feature that worked flawlessly. This functionality was exclusive to the Office 365 suite and required the input Word document to be formatted in Outline layout. The utility utilized PowerPoint Designer to add themes and graphics to the presentation automatically. However, this feature seems to have disappeared in recent weeks. Now, the only available export options are exporting to PDF, XPS, or occasionally Kindle. What happened to the "Export to PowerPoint" feature? Could it be an option that needs to be enabled or an add-on that requires installation?64Views0likes2CommentsIssue in PowerPoint / Power BI plugin - Embed Power Bi report can't show preloaded objects
Hello everyone, i have integrated various Power BI graphics that show live data into a PowerPoint report using the URL. The graphics with the live data were automatically reloaded, after the respective slide was clicked on. If the slides were not clicked and the entire report was exported as a PDF instead, the graphics that were loaded the last time were displayed. You can also see it in the preview on slide 3: the objects shown there were loaded the last time. For some reason, for the last two weeks, when the graphics have been reloaded and the PowerPoint report has been saved and reopened, the preview no longer shows the last loaded graphics, but blue hexagons. The blue hexagons only disappear when I click on the slide and the graphics have been automatically reloaded. If I don't do this step, i.e. click through each individual slide but click on PDF export straight away, the PDF export shows the blue hexagons again. The problem is, however, that due to time constraints, I can't always click on each individual slide, but only on a few slides, and the rest of the slides including the graphics they contain should remain unchanged. How can I ensure that the last loaded graphics are restored and that the blue hexagons do not appear? Thanks for any help!376Views0likes3CommentsSystem.InvalidCastException: The COM object of the type “Outlook.ApplicationClass” cannot be convert
Hello everyone, We have an Outlook addon that communicates with our application. Our application used to be 32 bit. However, we changed it to 64 bit. We use the Microsoft.Office.Interop.Outlook DLL to create emails, appointments and so on. Recently we have been having problems with creating objects and unfortunately we do not know what exactly the problem is. We always get an exception like this: System.InvalidCastException: Das COM-Objekt des Typs "Outlook.ApplicationClass" kann nicht in den Schnittstellentyp "Outlook._Application" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID "{00063001-0000-0000-C000-000000000046}" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Element nicht gefunden. (Ausnahme von HRESULT: 0x8002802B (TYPE_E_ELEMENTNOTFOUND)). bei System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease) bei Outlook.ApplicationClass.GetNamespace(String Type) or System.InvalidCastException: Das COM-Objekt des Typs "Microsoft.Office.Interop.Outlook.ApplicationClass" kann nicht in den Schnittstellentyp "Microsoft.Office.Interop.Outlook._Application" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID "{00063001-0000-0000-C000-000000000046}" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Fehler beim Laden der Typbibliothek/DLL. (Ausnahme von HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)). bei System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease) bei Microsoft.Office.Interop.Outlook.ApplicationClass.get_Session() The only solutions we found online were to repair Office, which we and our customers did. Unfortunately, it only works for a few days or weeks and then the problem reappears. We tried to reproduce the problem with a powershell script and we could. This is the script: $Outlook = New-Object -ComObject Outlook.Application $Mail = $Outlook.CreateItem(0) # 0 steht für MailItem $Mail.Subject = "Test E-Mail von PowerShell" $Mail.Body = "Dies ist eine Test-E-Mail, die mit PowerShell erstellt wurde." $Mail.Display() Write-Host "Das E-Mail-Fenster wurde angezeigt." [System.Runtime.Interopservices.Marshal]::ReleaseComObject($Mail) | Out-Null [System.Runtime.Interopservices.Marshal]::ReleaseComObject($Outlook) | Out-Null What is the problem? Could the problem be related to Windows group policies? If so, which ones? We have a lot of customers that have this problem so we need help asp. Thanks and best regards988Views0likes1CommentPull a report of Integrated Apps in Office365/Microsoft365
Hi, I know that i can navigate into admin center and have a look at the Integrated apps that are available in my tenant. However i want to know that is there a powershell way to generate a report of these integrated appsSolved972Views0likes3CommentsOutlook - Integrated Apps (Admin-Managed) - Intermittently Appearing/Disappearing on PCs
In our office we have several integrated add-ins that our Microsoft 365 Global Admin assigns 'everyone in our organization' to Outlook. Examples: Zoom, Microsoft Viva, Since Mid July around when we received the (v2205) updates to Microsoft Office we began experiencing issues with these plugins not loading. Even when checking their settings within Outlook it shows me as having no apps assigned under admin-managed despite being able to log into the Outlook Web Mail service and see the very same plugins there. Outlook (V2205 - Enterprise Monthly Update Channel) Outlook for the Web I'm trying to identify if this is something that was introduced as part of the office update or some other security setting that is beginning to block these from loading. I should advise that the issue is intermittent for our users. Typically users will have to either close/relaunch Outlook when it goes missing. I've tried some local troubleshooting with certain machines. Erasing their Outlook profile along with their OST files and the plugins did load until the next day when they disappeared again. Needing some advise on what could be causing the add-ins to intermittently go away and come back.3.1KViews0likes4CommentsCertificate issue from https://uci.cdn.office.net
Hi, One of the users of a Excel Js Add-in that I've recently had published to AppSource (Copy as List) has reported getting an Anti-Virus popup every time he starts Excel. From Avast anti-virus. The message is: Connection to this website is not secure. Avast has blocked access to https://uci.cdn.office.net/because one of the issuers of the server certificate has expired. Certificate: cdn.uci.officeapps.live.com Issuer: Microsoft Azure ECC TLS Issuing CA 01 Indeed, if I try to browse to that URL in Chrome, I get an error: "This server could not prove that it isuci.cdn.office.net; its security certificate expired in the last day. This may be caused by a misconfiguration or an attacker intercepting your connection. Your computer's clock is currently set to Friday 28 June 2024. Does that look right? If not, you should correct your system's clock and then refresh this page." Does anyone know what this is? Is it related to my add-in? How do I fix it? What advice do I give to my user? Thanks4.8KViews0likes11CommentsReinstalling Admin managed Outlook Add-Ins
One of our users is having issues with an Admin Managed Outlook Add-In, we deploy it to our whole organisation through the admin center. I do not see an option to reinstall it from the computer having issues, or a way from the admin center that doesn't affect the whole organisation.372Views0likes0Comments