none
Outlook Addin for iOS not working RRS feed

  • Question

  • I'm trying to implement the new Addin on Outlook for iOS Devices.

    I already changed the manifest file to include the Mobile part and it is showing under my Settings>Add-ins for Enable and Disable.

    However, when I Enable it and then open an email, my <g class="gr_ gr_208 gr-alert gr_spell gr_run_anim ContextualSpelling ins-del multiReplace" data-gr-id="208" id="208">addin</g> doesn't show in the list of Addins. 

    I can't understand why. Here is my manifest, if someone it could help me would be so good! 

    thank you. Thiago

    <style type="text/css">p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #0433ff; background-color: #000000} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #008f00; background-color: #000000} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; background-color: #000000} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #b4261a; background-color: #000000} p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; background-color: #000000; min-height: 11.0px} span.s1 {color: #b4261a} span.s2 {color: #ff2600} span.s3 {color: #000000} span.s4 {color: #0433ff} </style>

    <?xml version="1.0" encoding="utf-8"?>

    <!--Published:70EDFC97-B41D-43C5-B751-7C00AD999804-->

    <!--Created:cb85b80c-f585-40ff-8bfc-12ff4d0e34a9-->

    <OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" 

               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

               xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"

               xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0"

               xsi:type="MailApp">

      <Id>f99999999999999999999999</Id>

      <Version>1.0.1.0</Version>

      <ProviderName>Moxtra Inc.</ProviderName>

      <DefaultLocale>en-US</DefaultLocale>

      <DisplayName DefaultValue="Moxtra Inc" />

      <Description DefaultValue="Collaborate and communicate with your team members directly from within Outlook. You can chat with your team members, create To-Dos and can start a realtime video meeting with them from within Outlook." />

      <IconUrl DefaultValue="https://www.moxtra1.com/outlook/Images/MoxtraLogo.PNG" />

      <HighResolutionIconUrl DefaultValue="https://www.moxtra1.com/outlook/Images/MoxtraLogo128x128.PNG" />

      <SupportUrl DefaultValue="http://support.moxtra.com/" />

      <AppDomains>

        <AppDomain>https://www.moxtra.com</AppDomain>

        <AppDomain>https://www.moxtra1.com</AppDomain>

        <AppDomain>https://api.moxtra.com</AppDomain>

      </AppDomains>

      <Hosts>

        <Host Name="Mailbox" />

      </Hosts>

      <Requirements>

        <Sets>

          <Set Name="MailBox" MinVersion="1.1" />

        </Sets>

      </Requirements>

      <FormSettings>

        <Form xsi:type="ItemRead">

          <DesktopSettings>

            <SourceLocation DefaultValue="https://www.moxtra1.com/outlook/AppRead/Home/Home.html" />

            <RequestedHeight>450</RequestedHeight>

          </DesktopSettings>

          <TabletSettings>

            <SourceLocation DefaultValue="https://www.moxtra1.com/outlook/AppRead/Home/Home.html" />

            <RequestedHeight>216</RequestedHeight>

          </TabletSettings>

          <PhoneSettings>

            <SourceLocation DefaultValue="https://www.moxtra1.com/outlook/AppRead/Home/Home.html" />

          </PhoneSettings>

        </Form>

      </FormSettings>

      <Permissions>ReadItem</Permissions>

      <Rule xsi:type="RuleCollection" Mode="Or">

        <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read" />

      </Rule>

      <DisableEntityHighlighting>false</DisableEntityHighlighting>

      <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">

        <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">

          <Hosts>

            <Host xsi:type="MailHost">

              <MobileFormFactor>

                <FunctionFile resid="residUILessFunctionFileUrl" />

                <ExtensionPoint xsi:type="MobileMessageReadCommandSurface">

                  <Control xsi:type="MobileButton" id="TaskPane1Btn">

                    <Label resid="myCustomTabName" />

                    <Icon xsi:type="bt:MobileIconList">

                      <bt:Image size="25" scale="1" resid="icon1_32x32" />

                      <bt:Image size="25" scale="2" resid="icon1_32x32" />

                      <bt:Image size="25" scale="3" resid="icon1_32x32" />

                      <bt:Image size="32" scale="1" resid="icon1_32x32" />

                      <bt:Image size="32" scale="2" resid="icon1_32x32" />

                      <bt:Image size="32" scale="3" resid="icon1_32x32" />

                      <bt:Image size="48" scale="1" resid="icon1_80x80" />

                      <bt:Image size="48" scale="2" resid="icon1_80x80" />

                      <bt:Image size="48" scale="3" resid="icon1_80x80" />

                    </Icon>

                    <Action xsi:type="ShowTaskpane">

                      <TaskpaneId>MyPane</TaskpaneId>

                      <SourceLocation resid="residTaskpaneUrl" />

                    </Action>

                  </Control>

                </ExtensionPoint>

              </MobileFormFactor>

            </Host>

          </Hosts>

          <Resources>

            <bt:Images>

              <bt:Image id="icon1_16x16" DefaultValue="https://moxtra1.com/outlook/images/moxtra16.png" />

              <bt:Image id="icon1_32x32" DefaultValue="https://moxtra1.com/outlook/images/moxtra32.png" />

              <bt:Image id="icon1_80x80" DefaultValue="https://moxtra1.com/outlook/images/moxtra80.png" />

            </bt:Images>

            <bt:Urls>

              <bt:Url id="residTaskpaneUrl" DefaultValue="https://www.moxtra1.com/outlook/AppRead/Home/Home.html" />

            </bt:Urls>

            <bt:ShortStrings>

              <bt:String id="readmoxtraButtonLabelMobile" DefaultValue="Moxtra  Add-in 1" />

              <bt:String id="residAppName" DefaultValue="Moxtra Add-in 2" />

              <bt:String id="myCustomTabName" DefaultValue="myCustomTabName" />

              <bt:String id="readmoxtraSuperTipTitleMobile" DefaultValue="Moxtra Chat" />

              <bt:String id="apptComposeSuperTipTitleMobile" DefaultValue="asadsad" />

            </bt:ShortStrings>

            <bt:LongStrings>

              <bt:String id="readmoxtraButtonTooltipMobile" DefaultValue="Start using Moxtra for collaboration." />

              <bt:String id="readmoxtraSuperTipDescriptionMobile" DefaultValue="Start using Moxtra for collaboration." />

              <bt:String id="apptComposeSuperTipDescriptionMobile" DefaultValue="Start using Moxtra for collaboration." />

            </bt:LongStrings>

          </Resources>

        </VersionOverrides>

      </VersionOverrides>

    </OfficeApp>


    <style type="text/css">p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #0433ff; background-color: #000000} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #008f00; background-color: #000000} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; background-color: #000000} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #b4261a; background-color: #000000} p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; background-color: #000000; min-height: 11.0px} span.s1 {color: #b4261a} span.s2 {color: #ff2600} span.s3 {color: #000000} span.s4 {color: #0433ff} </style>
    Wednesday, February 15, 2017 2:28 AM

Answers

  • Hi,

    According to Add support for add-in commands for Outlook Mobile,

    The OfficeTab element is not used.

    • The ExtensionPoint element must have only one child element. If the add-in only adds one button, the child element should be a Control element. If the add-in adds more than one button, the child element should be a Group element that contains multiple Control elements.
    • There is no Menu type equivalent for the Control element.
    • The Supertip element is not used.
    • The required icon sizes are different. Mobile add-ins minimally must support 25x25, 32x32 and 48x48 pixel icons.

    You could see a sample manifest from https://github.com/jasonjoh/command-demo/blob/master/command-demo-manifest.xml

    The add-in doesn't load because there are errors, so please visit Validate and troubleshoot issues with your manifest to troubleshoot your manifest.

    Please test the following manifest, the add-in could be loaded successfully.

    <?xml version="1.0" encoding="UTF-8"?>
    <!--Created:ce44715c-8c4e-446b-879c-ea9ebe0f09c8-->
    <OfficeApp 
              xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
              xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" 
              xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0" 
              xsi:type="MailApp">
    
      <!-- Begin Basic Settings: Add-in metadata, used for all versions of Office unless override provided. -->
    
      <!-- IMPORTANT! Id must be unique for your add-in, if you reuse this manifest ensure that you change this id to a new GUID. -->
      <Id>3c97780d-bf6c-40c7-88d0-c1d2a7cdc97b</Id>
    
      <!--Version. Updates from the store only get triggered if there is a version change. -->
      <Version>1.0.0.1</Version>
      <ProviderName>[Provider name]</ProviderName>
      <DefaultLocale>en-US</DefaultLocale>
      <!-- The display name of your add-in. Used on the store and various places of the Office UI such as the add-ins dialog. -->
      <DisplayName DefaultValue="OutlookWebAddIn1" />
      <Description DefaultValue="OutlookWebAddIn1"/>
    
    
      <!-- Domains that will be allowed when navigating. For example, if you use ShowTaskpane and then have an href link, navigation will only be allowed if the domain is on this list. -->
      <AppDomains>
        <AppDomain>AppDomain1</AppDomain>
        <AppDomain>AppDomain2</AppDomain>
        <AppDomain>AppDomain3</AppDomain>
      </AppDomains>
      <!--End Basic Settings. -->
      
      <Hosts>
        <Host Name="Mailbox" />
      </Hosts>
      <Requirements>
        <Sets>
          <Set Name="Mailbox" MinVersion="1.1" />
        </Sets>
      </Requirements>
      <FormSettings>
        <Form xsi:type="ItemRead">
          <DesktopSettings>
            <SourceLocation DefaultValue="https://testoutlookwebaddin.azurewebsites.net/MessageRead.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>
      <DisableEntityHighlighting>false</DisableEntityHighlighting>
    
      <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
        <Requirements>
          <bt:Sets DefaultMinVersion="1.3">
            <bt:Set Name="Mailbox" />
          </bt:Sets>
        </Requirements>
        <Hosts>
          <Host xsi:type="MailHost">
    
            <DesktopFormFactor>
              <!-- Location of the Functions that UI-less buttons can trigger (ExecuteFunction Actions). -->
              <FunctionFile resid="functionFile" />
    
              <!-- Message Read -->
              <ExtensionPoint xsi:type="MessageReadCommandSurface">
                <!-- Use the default tab of the ExtensionPoint or create your own with <CustomTab id="myTab"> -->
                <OfficeTab id="TabDefault">
                  <!-- Up to 6 Groups added per Tab -->
                  <Group id="msgReadGroup">
                    <Label resid="groupLabel" />
                    <!-- Launch the add-in : task pane button -->
                    <Control xsi:type="Button" id="msgReadOpenPaneButton">
                      <Label resid="paneReadButtonLabel" />
                      <Supertip>
                        <Title resid="paneReadSuperTipTitle" />
                        <Description resid="paneReadSuperTipDescription" />
                      </Supertip>
                      <Icon>
                        <bt:Image size="16" resid="icon16" />
                        <bt:Image size="32" resid="icon32" />
                        <bt:Image size="80" resid="icon80" />
                      </Icon>
                      <Action xsi:type="ShowTaskpane">
                        <SourceLocation resid="messageReadTaskPaneUrl" />
                      </Action>
                    </Control>
                    <!-- Go to http://aka.ms/ButtonCommands to learn how to add more Controls: ExecuteFunction and Menu -->
                  </Group>
                </OfficeTab>
              </ExtensionPoint>
              <!-- Go to http://aka.ms/ExtensionPointsCommands to learn how to add more Extension Points: MessageRead, AppointmentOrganizer, AppointmentAttendee -->
            </DesktopFormFactor>
          </Host>
        </Hosts>
    
        <Resources>
          <bt:Images>
            <bt:Image id="icon16" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon16.png"/>
            <bt:Image id="icon32" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon32.png"/>
            <bt:Image id="icon80" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon80.png"/>
          </bt:Images>
          <bt:Urls>
            <bt:Url id="functionFile" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Functions/FunctionFile.html"/>
            <bt:Url id="messageReadTaskPaneUrl" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/MessageRead.html"/>
          </bt:Urls>
          <bt:ShortStrings>
            <bt:String id="groupLabel" DefaultValue="My Add-in Group"/>
            <bt:String id="customTabLabel"  DefaultValue="My Add-in Tab"/>
            <bt:String id="paneReadButtonLabel" DefaultValue="Display all properties"/>
            <bt:String id="paneReadSuperTipTitle" DefaultValue="Get all properties"/>
            <bt:String id="paneReadSuperTipTitleOnline" DefaultValue="Get all properties On Line"/>
            <bt:String id="funcmsgOpenLinkTipTitle" DefaultValue="TT"/>
          </bt:ShortStrings>
          <bt:LongStrings>
            <bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane displaying all available properties. This is an example of a button that opens a task pane."/>
          </bt:LongStrings>
        </Resources>
        <!-- VersionOverrides for the v1.1 schema -->
        <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
          <Description resid="residDescription" />
          <Requirements>
            <!-- add information on requirements -->
            <bt:Sets DefaultMinVersion="1.3">
              <bt:Set Name="Mailbox" />
            </bt:Sets>
          </Requirements>
          <Hosts>
            <Host xsi:type="MailHost">
              <!-- add information on form factors -->
              <DesktopFormFactor>
                <!-- Message read form -->
                <ExtensionPoint xsi:type="MessageReadCommandSurface">
                  <OfficeTab id="TabDefault">
                    <Group id="msgReadDemoGroup">
                      <Label resid="groupLabel" />
                      <!-- Task pane button -->
                      <Control xsi:type="Button" id="msgReadOpenPaneButton">
                        <Label resid="paneReadButtonLabelDesk" />
                        <Supertip>
                          <Title resid="paneReadSuperTipTitleTest" />
                          <Description resid="paneReadSuperTipDescription" />
                        </Supertip>
                        <Icon>
                          <bt:Image size="16" resid="icon16" />
                          <bt:Image size="32" resid="icon32" />
                          <bt:Image size="80" resid="icon80" />
                        </Icon>
                        <Action xsi:type="ShowTaskpane">
                          <SourceLocation resid="readTaskPaneUrl" />
                          <SupportsPinning>true</SupportsPinning>
                        </Action>
                      </Control>
                    </Group>
                  </OfficeTab>
                </ExtensionPoint>
              </DesktopFormFactor>
              <!--IOS-->
              <MobileFormFactor>
                <ExtensionPoint xsi:type="MobileMessageReadCommandSurface">
                  <Group id="mobileMsgRead">
                    <Label resid="groupLabel" />
                    <Control xsi:type="MobileButton" id="mblTaskPane">
                      <Label resid="paneReadButtonLabelIOS" />
                      <Icon xsi:type="bt:MobileIconList">
                        <bt:Image size="25" scale="1" resid="green-icon-32" />
                        <bt:Image size="25" scale="2" resid="green-icon-32" />
                        <bt:Image size="25" scale="3" resid="green-icon-32" />
    
                        <bt:Image size="32" scale="1" resid="green-icon-32" />
                        <bt:Image size="32" scale="2" resid="green-icon-32" />
                        <bt:Image size="32" scale="3" resid="green-icon-32" />
    
                        <bt:Image size="48" scale="1" resid="green-icon-32" />
                        <bt:Image size="48" scale="2" resid="green-icon-32" />
                        <bt:Image size="48" scale="3" resid="green-icon-32" />
                      </Icon>
                      <Action xsi:type="ShowTaskpane">
                        <SourceLocation resid="readTaskPaneUrlIOS" />
                      </Action>
                    </Control>
                  </Group>
                </ExtensionPoint>
              </MobileFormFactor>
            </Host>
          </Hosts>
          <Resources>
            <!-- add information on resources -->
            <bt:Images>
              <bt:Image id="icon16" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon16.png"/>
              <bt:Image id="icon32" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon32.png"/>
              <bt:Image id="icon80" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon80.png"/>
              <bt:Image id="green-icon-32" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon80.png"/>
            </bt:Images>
            <bt:Urls>
              <bt:Url id="functionFile" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/FunctionFile/Functions.html"/>
              <bt:Url id="readTaskPaneUrl" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/MessageRead.html"/>
              <bt:Url id="readTaskPaneUrlIOS" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/MessageRead.html"/>
    
            </bt:Urls>
            <bt:ShortStrings>
              <bt:String id="groupLabel" DefaultValue="Add-in Group 1.1"/>
              <bt:String id="residDescription" DefaultValue="Description 1.1"/>
              <bt:String id="paneReadButtonLabelDesk" DefaultValue="Display Desk properties"/>
              <bt:String id="paneReadButtonLabelIOS" DefaultValue="Display IOS properties"/>
              <bt:String id="paneReadSuperTipTitleTest" DefaultValue="paneReadSuperTipTitleTest"/>
            </bt:ShortStrings>
            <bt:LongStrings>
              <bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane displaying all available properties of the message or appointment. This is an example of a button that opens a task pane."/>
            </bt:LongStrings>
          </Resources>
        </VersionOverrides>
      </VersionOverrides>
    </OfficeApp>
    

    Regards,

    Celeste


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    Thursday, February 16, 2017 6:07 AM
    Moderator

All replies

  • Hi,

    According to Add support for add-in commands for Outlook Mobile,

    The OfficeTab element is not used.

    • The ExtensionPoint element must have only one child element. If the add-in only adds one button, the child element should be a Control element. If the add-in adds more than one button, the child element should be a Group element that contains multiple Control elements.
    • There is no Menu type equivalent for the Control element.
    • The Supertip element is not used.
    • The required icon sizes are different. Mobile add-ins minimally must support 25x25, 32x32 and 48x48 pixel icons.

    You could see a sample manifest from https://github.com/jasonjoh/command-demo/blob/master/command-demo-manifest.xml

    The add-in doesn't load because there are errors, so please visit Validate and troubleshoot issues with your manifest to troubleshoot your manifest.

    Please test the following manifest, the add-in could be loaded successfully.

    <?xml version="1.0" encoding="UTF-8"?>
    <!--Created:ce44715c-8c4e-446b-879c-ea9ebe0f09c8-->
    <OfficeApp 
              xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
              xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" 
              xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0" 
              xsi:type="MailApp">
    
      <!-- Begin Basic Settings: Add-in metadata, used for all versions of Office unless override provided. -->
    
      <!-- IMPORTANT! Id must be unique for your add-in, if you reuse this manifest ensure that you change this id to a new GUID. -->
      <Id>3c97780d-bf6c-40c7-88d0-c1d2a7cdc97b</Id>
    
      <!--Version. Updates from the store only get triggered if there is a version change. -->
      <Version>1.0.0.1</Version>
      <ProviderName>[Provider name]</ProviderName>
      <DefaultLocale>en-US</DefaultLocale>
      <!-- The display name of your add-in. Used on the store and various places of the Office UI such as the add-ins dialog. -->
      <DisplayName DefaultValue="OutlookWebAddIn1" />
      <Description DefaultValue="OutlookWebAddIn1"/>
    
    
      <!-- Domains that will be allowed when navigating. For example, if you use ShowTaskpane and then have an href link, navigation will only be allowed if the domain is on this list. -->
      <AppDomains>
        <AppDomain>AppDomain1</AppDomain>
        <AppDomain>AppDomain2</AppDomain>
        <AppDomain>AppDomain3</AppDomain>
      </AppDomains>
      <!--End Basic Settings. -->
      
      <Hosts>
        <Host Name="Mailbox" />
      </Hosts>
      <Requirements>
        <Sets>
          <Set Name="Mailbox" MinVersion="1.1" />
        </Sets>
      </Requirements>
      <FormSettings>
        <Form xsi:type="ItemRead">
          <DesktopSettings>
            <SourceLocation DefaultValue="https://testoutlookwebaddin.azurewebsites.net/MessageRead.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>
      <DisableEntityHighlighting>false</DisableEntityHighlighting>
    
      <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
        <Requirements>
          <bt:Sets DefaultMinVersion="1.3">
            <bt:Set Name="Mailbox" />
          </bt:Sets>
        </Requirements>
        <Hosts>
          <Host xsi:type="MailHost">
    
            <DesktopFormFactor>
              <!-- Location of the Functions that UI-less buttons can trigger (ExecuteFunction Actions). -->
              <FunctionFile resid="functionFile" />
    
              <!-- Message Read -->
              <ExtensionPoint xsi:type="MessageReadCommandSurface">
                <!-- Use the default tab of the ExtensionPoint or create your own with <CustomTab id="myTab"> -->
                <OfficeTab id="TabDefault">
                  <!-- Up to 6 Groups added per Tab -->
                  <Group id="msgReadGroup">
                    <Label resid="groupLabel" />
                    <!-- Launch the add-in : task pane button -->
                    <Control xsi:type="Button" id="msgReadOpenPaneButton">
                      <Label resid="paneReadButtonLabel" />
                      <Supertip>
                        <Title resid="paneReadSuperTipTitle" />
                        <Description resid="paneReadSuperTipDescription" />
                      </Supertip>
                      <Icon>
                        <bt:Image size="16" resid="icon16" />
                        <bt:Image size="32" resid="icon32" />
                        <bt:Image size="80" resid="icon80" />
                      </Icon>
                      <Action xsi:type="ShowTaskpane">
                        <SourceLocation resid="messageReadTaskPaneUrl" />
                      </Action>
                    </Control>
                    <!-- Go to http://aka.ms/ButtonCommands to learn how to add more Controls: ExecuteFunction and Menu -->
                  </Group>
                </OfficeTab>
              </ExtensionPoint>
              <!-- Go to http://aka.ms/ExtensionPointsCommands to learn how to add more Extension Points: MessageRead, AppointmentOrganizer, AppointmentAttendee -->
            </DesktopFormFactor>
          </Host>
        </Hosts>
    
        <Resources>
          <bt:Images>
            <bt:Image id="icon16" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon16.png"/>
            <bt:Image id="icon32" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon32.png"/>
            <bt:Image id="icon80" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon80.png"/>
          </bt:Images>
          <bt:Urls>
            <bt:Url id="functionFile" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Functions/FunctionFile.html"/>
            <bt:Url id="messageReadTaskPaneUrl" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/MessageRead.html"/>
          </bt:Urls>
          <bt:ShortStrings>
            <bt:String id="groupLabel" DefaultValue="My Add-in Group"/>
            <bt:String id="customTabLabel"  DefaultValue="My Add-in Tab"/>
            <bt:String id="paneReadButtonLabel" DefaultValue="Display all properties"/>
            <bt:String id="paneReadSuperTipTitle" DefaultValue="Get all properties"/>
            <bt:String id="paneReadSuperTipTitleOnline" DefaultValue="Get all properties On Line"/>
            <bt:String id="funcmsgOpenLinkTipTitle" DefaultValue="TT"/>
          </bt:ShortStrings>
          <bt:LongStrings>
            <bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane displaying all available properties. This is an example of a button that opens a task pane."/>
          </bt:LongStrings>
        </Resources>
        <!-- VersionOverrides for the v1.1 schema -->
        <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
          <Description resid="residDescription" />
          <Requirements>
            <!-- add information on requirements -->
            <bt:Sets DefaultMinVersion="1.3">
              <bt:Set Name="Mailbox" />
            </bt:Sets>
          </Requirements>
          <Hosts>
            <Host xsi:type="MailHost">
              <!-- add information on form factors -->
              <DesktopFormFactor>
                <!-- Message read form -->
                <ExtensionPoint xsi:type="MessageReadCommandSurface">
                  <OfficeTab id="TabDefault">
                    <Group id="msgReadDemoGroup">
                      <Label resid="groupLabel" />
                      <!-- Task pane button -->
                      <Control xsi:type="Button" id="msgReadOpenPaneButton">
                        <Label resid="paneReadButtonLabelDesk" />
                        <Supertip>
                          <Title resid="paneReadSuperTipTitleTest" />
                          <Description resid="paneReadSuperTipDescription" />
                        </Supertip>
                        <Icon>
                          <bt:Image size="16" resid="icon16" />
                          <bt:Image size="32" resid="icon32" />
                          <bt:Image size="80" resid="icon80" />
                        </Icon>
                        <Action xsi:type="ShowTaskpane">
                          <SourceLocation resid="readTaskPaneUrl" />
                          <SupportsPinning>true</SupportsPinning>
                        </Action>
                      </Control>
                    </Group>
                  </OfficeTab>
                </ExtensionPoint>
              </DesktopFormFactor>
              <!--IOS-->
              <MobileFormFactor>
                <ExtensionPoint xsi:type="MobileMessageReadCommandSurface">
                  <Group id="mobileMsgRead">
                    <Label resid="groupLabel" />
                    <Control xsi:type="MobileButton" id="mblTaskPane">
                      <Label resid="paneReadButtonLabelIOS" />
                      <Icon xsi:type="bt:MobileIconList">
                        <bt:Image size="25" scale="1" resid="green-icon-32" />
                        <bt:Image size="25" scale="2" resid="green-icon-32" />
                        <bt:Image size="25" scale="3" resid="green-icon-32" />
    
                        <bt:Image size="32" scale="1" resid="green-icon-32" />
                        <bt:Image size="32" scale="2" resid="green-icon-32" />
                        <bt:Image size="32" scale="3" resid="green-icon-32" />
    
                        <bt:Image size="48" scale="1" resid="green-icon-32" />
                        <bt:Image size="48" scale="2" resid="green-icon-32" />
                        <bt:Image size="48" scale="3" resid="green-icon-32" />
                      </Icon>
                      <Action xsi:type="ShowTaskpane">
                        <SourceLocation resid="readTaskPaneUrlIOS" />
                      </Action>
                    </Control>
                  </Group>
                </ExtensionPoint>
              </MobileFormFactor>
            </Host>
          </Hosts>
          <Resources>
            <!-- add information on resources -->
            <bt:Images>
              <bt:Image id="icon16" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon16.png"/>
              <bt:Image id="icon32" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon32.png"/>
              <bt:Image id="icon80" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon80.png"/>
              <bt:Image id="green-icon-32" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/Images/icon80.png"/>
            </bt:Images>
            <bt:Urls>
              <bt:Url id="functionFile" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/FunctionFile/Functions.html"/>
              <bt:Url id="readTaskPaneUrl" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/MessageRead.html"/>
              <bt:Url id="readTaskPaneUrlIOS" DefaultValue="https://testoutlookwebaddin.azurewebsites.net/MessageRead.html"/>
    
            </bt:Urls>
            <bt:ShortStrings>
              <bt:String id="groupLabel" DefaultValue="Add-in Group 1.1"/>
              <bt:String id="residDescription" DefaultValue="Description 1.1"/>
              <bt:String id="paneReadButtonLabelDesk" DefaultValue="Display Desk properties"/>
              <bt:String id="paneReadButtonLabelIOS" DefaultValue="Display IOS properties"/>
              <bt:String id="paneReadSuperTipTitleTest" DefaultValue="paneReadSuperTipTitleTest"/>
            </bt:ShortStrings>
            <bt:LongStrings>
              <bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane displaying all available properties of the message or appointment. This is an example of a button that opens a task pane."/>
            </bt:LongStrings>
          </Resources>
        </VersionOverrides>
      </VersionOverrides>
    </OfficeApp>
    

    Regards,

    Celeste


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    Thursday, February 16, 2017 6:07 AM
    Moderator
  • Thank you Celeste. it really worked!

    thank you very much.

    Friday, February 17, 2017 1:46 AM
  • Hi Celeste,

    Your post was really helpful! I really appreciate your help.

    Now, I'm trying to integrate my app with the iOS outlook mail in order to read the Body of the message and also get the recipients of the email. 

    I noticed that your example shows a page with 2 buttons "getBody" and "setBody". Would you be able to post your code so I can you as an example to get the email body and recipients?

    Thank you very much.

    Thiago dos Reis

    Friday, February 24, 2017 7:14 PM
  • We have API reference and samples at dev.outlook.com for all available APIs. If it's not intuitive or any API sample is missing, let us know we'll be happy to improve it!

    Here is direct link: https://dev.outlook.com/reference/add-ins/

    Friday, February 24, 2017 9:35 PM
  • Thank you, Celeste.

    I was able to implement everything, except for the confirmation message that Outlook shows after you finish the work on the Add-in. Like Trello show: "Trello card created." in the Outlook Email (between the header and the mail body). 

    Do you know what has to be done in order to set that message? I looked in the APIs documentation but didn't find anything. This is the last thing I need to finish my project. 

    For those people who are facing the same problems I'm posting the Office API calls I'm using in my project, so you can have an working example:

    /// <reference path="App.js" />
    (function () {
        "use strict";
        
        var restId = '';
        var itemUrl = ''; 
        var accessToken = ''; 
    
        // The Office initialize function must be run each time a new page is loaded.
        Office.initialize = function (reason) {
            //$("#myConsole").text("Init office");
            $(document).ready(function () {
                //showPreloader();
    
                //get the Message Rest ID
                if (Office.context.mailbox.diagnostics.hostName !== 'OutlookIOS') {
                    // Loaded in non-mobile context, so ID needs to be converted
                    restId = Office.context.mailbox.convertToRestId(
                      Office.context.mailbox.item.itemId,
                      Office.MailboxEnums.RestVersion.Beta
                    );
                } else {
                    restId = Office.context.mailbox.item.itemId;
                }
    
                // Build the URL to the item
                itemUrl = Office.context.mailbox.restUrl + '/api/v2.0/me/messages/' + restId;
    
                Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, function (result) {
                    //hidePreloader();
                    if (result.status === "succeeded") {
                        accessToken = result.value;
    
                        loadFunctions();
             
                    } else {
                        accessToken = 'error';
                    }
                });
    
            });
        };
    
        function loadFunctions() {
            // Use the access token
            $("#getItem").click(function () {
                getCurrentItem();
            });
    
            $("#forward").click(function () {
                forwardEmail();
            });
    
            $("#getSubject").click(function () {
                getSubject();
            });
    
            $("#recipients").click(function () {
                getRecipients();
            });
        }
    
        function getCurrentItem() {
            $.ajax({
                url: itemUrl,
                dataType: 'json',
                headers: { 'Authorization': 'Bearer ' + accessToken }
            }).done(function (item) {
    
                //// Message is passed in `item`
                //var subject = item.Subject;
                //var body = item.Body.Content;
    
                ////TO Recipients 
                //var recipients = "";
                //item.ToRecipients.forEach(function (i) {
                //    if (i.EmailAddress.Address != undefined && i.EmailAddress.Address != null) {
                //        recipients += i.EmailAddress.Address + "<br>";
                //    }
                //});
    
                ////CC Recipients
                //var ccRecipients = "";
                //item.CcRecipients.forEach(function (i) {
                //    ccRecipients += i.EmailAddress.Address + "<br>";
                //});
    
                ////attachments
                //var att = "<br>HasAttachments: " + item.HasAttachments;
                //if (item.HasAttachments) {
                //    getAttachment(itemId, accessToken);
                //}
    
                //$("#ShowMessage").text("subject:" + subject + "<br> Body:" + body + "<br> Recipients:" + recipients + "ccRecipients:" + ccRecipients + att);
                $("#ShowMessage").text("JSON:" + JSON.stringify(item));
                }).fail(function(error){
                    $("#ShowMessage").text("Error:" + JSON.stringify(error));
                });
        }
        
        function getAttachment(itemId, accessToken) {
            // Construct the REST URL to the current item
            var getMessageUrl = Office.context.mailbox.restUrl + '/api/v2.0/me/messages/' + itemId + '/attachments?$select=Name';
    
            $("#attachments").text("getMessageUrl:" + getMessageUrl);
    
            $.ajax({
                url: getMessageUrl,
                dataType: 'json',
                headers: { 'Authorization': 'Bearer ' + accessToken }
            }).done(function (item) {
                
                var att = "";
                item.value.forEach(function (i) {
                    att += i.Name + "<br>";
                });
    
                $("#attachments").text("attachments:" + att);
            }).fail(function (error) {
                $("#attachments").text("Error:" + JSON.stringify(error));
            });
        }
        
        app.forwardEmail = forwardEmail;
        function forwardEmail(comment, emailAddress, callback) {
            var myData = {
                Comment: comment,
                ToRecipients: [
                  {
                      EmailAddress: {
                          Address: emailAddress
                      }
                  }
                ]
            };
            var payload = JSON.stringify(myData, null, 2);
           
            $.ajax({
                type: 'POST',
                url: itemUrl + '/forward',
                dataType: 'json',
                data: payload,
                headers: {
                    'Authorization': 'Bearer ' + accessToken,
                    'Content-Type': 'application/json'
                },
            }).fail(function (error) {
                if (error.status == "202") {
                    callback("Content added to Moxtra Binder!");
                } else {
                    callback("Error: Content not added to Moxtra Binder! Detail:" + error.status + error.statusText);
                }
            });
        }
    
        app.getSubject = getSubject;
        function getSubject() {
            $.ajax({
                url: itemUrl,
                dataType: 'json',
                headers: { 'Authorization': 'Bearer ' + accessToken }
            }).done(function (item) {
                var subject = item.Subject;
                $("#new_binder").val(subject);
            }).fail(function (error) {
                $("#myConsole").text("Error getting the Subject:" + JSON.stringify(error));
            });
        }
    
        app.getRecipients = getRecipients;
        function getRecipients(callback) {
            var emails = [];
    
            $.ajax({
                url: itemUrl,
                dataType: 'json',
                headers: { 'Authorization': 'Bearer ' + accessToken }
            }).done(function (item) {
    
                //TO Recipients
                item.ToRecipients.forEach(function (i) {
                    if (i.EmailAddress.Address != undefined && i.EmailAddress.Address != null) {
                        emails.push(i.EmailAddress.Address);
                    }
                });
    
                //CC Recipients
                var ccRecipients = "";
                item.CcRecipients.forEach(function (i) {
                    emails.push(i.EmailAddress.Address);
                });
                callback(emails);
            }).fail(function (error) {
                callback(error);
            });
        }
    })();
    

    Thanks!

    Thiago dos Reis

    <style type="text/css">p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #008f00; background-color: #000000} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #0433ff; background-color: #000000} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #b4261a; background-color: #000000} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; background-color: #000000; min-height: 11.0px} p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; background-color: #000000} span.s1 {color: #000000} span.s2 {color: #0433ff} span.s3 {color: #b4261a} span.s4 {color: #008f00} </style><style type="text/css">p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #008f00; background-color: #000000} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #0433ff; background-color: #000000} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #b4261a; background-color: #000000} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; background-color: #000000; min-height: 11.0px} p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; background-color: #000000} span.s1 {color: #000000} span.s2 {color: #0433ff} span.s3 {color: #b4261a} span.s4 {color: #008f00} </style>
    Friday, March 3, 2017 7:57 PM
  • Hello,

    I suggest you post a new thread for the new issue, so we could focus on the specific issue.

    Thanks for your understanding.

    Regards,

    Celeste


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Monday, March 6, 2017 2:11 AM
    Moderator