How can I add a configuration page for my slack app? - slack-api

How can I add a configuration page for my slack app?
example: asana has an add configuration button which leads to a page which we can use to then connect the slack user account with asana account

Several Slack apps (e.g. Twitter, Google Calendar) provide a configuration page after installation into Slack. However this feature seams to be available only to commercial partners of Slack, but not as a standard feature for every app developers.
Developers need to implement it by themselves with an external app / script that is linked the Slack app and store the configurations in their own database.
See also this answer for a full explanation on how this works.
Looking on the official Slack Plattform Roadmap for Developers this feature might be implemented in the future under "Install apps from within Slack".
Update:
You can now use Dialogs to create something similar to configuration pages. It allows you to open a custom modal window with up to 5 inputs (text or drop-downs). Its still not the same as having a full configuration page like the internal Slack apps have, but its a huge step forward and might be sufficient for many cases.

Related

Gmail API OAUTH2 verify Desktop application

At work we have developed an individual customer specific software application that is in use for a long time. We have a new requirement in this same program to implement an option for sending emails directly from the program.
The user is able to add his own email account with the credentials and login through our program. For Microsoft and Gmail accounts OAUTH is implemented and something here is not very clear.
For Gmail-API we have made an OAUTH Client and Consent screen on Google Cloud Console which we need to publish and verify and here is where the problems start. I am not very clear with the whole process of verifying the app.
In the steps for verifying is stated that we should verify a domain for the app, but this software is not hosted anywhere on internet and is not publicly available, it is available to a number of specific users (2000-3000).
Also Google requires a YouTube video of the software to be available publicly, which we are not able to upload because of customer requirements. Also here is required a Data Protection Policy page for the application which we as a developers don't have because we are only developing the software.
Other thing that is not clear to me, how is this type of software rated by Google, internal or public?
Have anyone experience with this or something similar?
Verifying an app for one of the Gmail scopes is a very complicated process. This process depends upon which scope of authorization you are requesting of the users.
In your case you are trying to send an email so you are using the users.messages.send method from the Gmail api. This uses a restricted scope. Which means you will need to go though the full process.
First of it doesn't matter if your application is hosted or not. It also doesn't matter that you give this app to a limited number of users. What matters is the scopes you are using.
You will need to ensure that your domain has been registered via google search console. So this app will need a domain
Once that is done you will be able to host your website, and the privacy policy on that domain.
You will need to create a YouTube video showing your application running, and how authorization is used.
You will also need to submit to a third party security checkup of your application which is not free and will need to be done once a year.
All of this is needed because of your consent screen it doesn't matter if its hosted any where, It also doesn't matter if this is only available to specific number of users.
If all of the users are part of a single google workspace account, that has created your client id and client secrete then you can set the app to internal and you wont need to be verified. This only works for google workspace domain accounts.

How do I implement Google sign-in on iOS app?

I've been tasked with adding a "Sign In with Google" button to an iOS app. For background, I'm a contract developer doing work for a customer, and I do not own the app in question.
I did a quick search for how to do this, but the only answer I could find involved "set up a project in the Google API console" followed by "add a GIDSignInButton to your layout".
I do not have access to the app owner's Google Developer account (or know if they even have one), and I certainly do not want to "set up a project" in my own Google account that is associated with a customer's app.
Furthermore, the iOS project I'm working with does not currently have any third-party library integrations (no Swift packages, no CocoaPods, no workspace file) and I strongly prefer to keep it this way.
Is it possible to do Google authentication using a standard OAuth process (i.e. open a web page, and handle the redirect after authentication completes)? I have done other OAuth integrations this way so I know how it works.
Thanks,
Frank
Yes, you can sign-in using OAuth without using an SDK. Here are the instructions.
You will be required to setup a project and configure it's OAuth settings. This manages how your app will appear to users and implements OAuth security controls. No way around this, so you'll want to work with your Google Cloud administrator to gain access to an existing project or create a new one.

Team Apps using Graph API

I am looking at automating Group creation using Graph API in Teams. I can successfully do that by using following API
const result = await client.api('/groups').post(group);
What I am looking for is creating a Tab in that Group and then adding an Organisational app (Internal App) into that tab.
Here is the link for creating tabs in teams but could not see anything on adding app into that tab
https://learn.microsoft.com/en-us/graph/api/teamstab-add?view=graph-rest-1.0
Is it possible ? and if so, where can i see APIs and relevant documents.
Basically, to add a Tab, you need to have the content of that tab configured and waiting. There are two ways to do this:
point to a website directly - this would be equivalent of using the "Website" option in the UI to add a tab, and then inserting the address of the website. This is kind of what the Graph endpoint sample you linked to is doing, but you need to use the payload specified here. See the answer over here for more info: Channel Tabs in Teams through Graph-API
Use an existing registered App in Teams that has a "Tab" functionality. The same link I gave above has options for doing this, like Planner, or Word, or whatever. You would be able to do the same thing for your own custom app, but then the app needs to be built, and installed into the tenant app catalog (i.e. the internal company "store"), or the Teams "App Store". Read more about that here

Register Application With Zapier

I am developing an application from where users can create zaps and later those zaps can be searched in Zapier if I will connect my application from Zapier.
Now question is how to get the Integration Key that can be used when connecting to Zapier by clicking "Connect an Account"
after this how I can search for the zaps that I created in my application?
do I need to use any api to create those zaps in zapier?
David here, from the Zapier Platform team.
If you add a private app to Zapier, you'll be able to use it for your zaps immediately. If you want others to use it, you'll want to go through the process describe here, where you invite users, submit for activation, etc.
We have a few guides to get you going:
UI Quickstart
CLI Quickstart

How to approve SharePoint workflow task from mobile?

I have an intranet site for change control management system. Approval workflow is associated with the list. On new request creation or editing any item, approval workflow task is created and mail notifications are sending to the concerned person. Now approving manager login to the portal and approve the task.
Now they are asking to enable mobile access of those pending task and approve the same from mobile. How do I achieve this?
They DO NOT want to expose this site to internet or extranet.
Every list in Sharepoint 2007 has a Mobile View. It is optimized to be viewed on small cell phones and such.
You can edit any view and see the mobile URL in the bottom - see an example of mobile views here: SharePoint on your Phone!.
Regarding your question: You can share the mobile URL to the task list of your workflow and managers (or whomever) can edit list items and therefore approve or reject your items. However you said "DO NOT expose the site to the intranet or extranet".
That is not possible. If you have your managers connect to your intranet via VPN or something similar you don't have to expose the list to the intranet.
Or have I misunderstood your wanted usage of "mobile"? How would you want external managers, using an external cell phone with external internet (UMTS, WAP, WiFi) accessing your internal site?

Resources