Is it possible to create a search extension? - search

I want to create a search addon for Gmail (G Suite Marketplace).
I need to search mails by custom headers. Is it possible to add new features to search engine?

No, from https://developers.google.com/gsuite/add-ons/gmail:
G Suite add-ons can define the following kinds of extensions within
Gmail:
Homepages and other non-contextual cards.
Contextual interfaces that appear when users open Gmail messages.
Contextual interfaces that appear when a user composes a message or reply.
Automatically create new message drafts in response to user interactions.
You may want to check instead the Gmail APIs to build a custom web app with search capabilities instead of a Gmail addon.

Related

Dialogflow human takeover

I am creating a bot for a bank using Dialogflow. I wanted to keep am option to talk with a Customer representative. If a customer wanted to talk with a customer representative, the bot Should stop and the customer representative starts the chat with a customer. How it is possible In Dialogflow.
That option is only available by creating your own custom implementation.
Check out this example here
It can also depend on the channel you are using For example, if you are using Facebook Messenger you can achieve that using the Handover Protocol in your custom implementation
This is currently not possible because dialogflow does not provide any web interface to achieve this, but in dialogflow usually the "input.unknown" action used to deliver a conversation to a human. Default fallback intent is triggered and the associated action is added to the response, and you also need to write a logic to what bot should do after that.
But if you're looking to avoid this hassle, I 'd suggest you use a chat widget tool like Kommunicate, which provides a dashboard UI as well as a chat widget. In fact, they also have a pre-built rich message template to create menu options to deliver a conversation to a human agent. Please check this link for more info
PS: I work for kommunicate
Another option is if you have the phone gateway integration enabled, Click 'Add Response' under the DIALOGFLOW PHONE GATEWAY tab and just select Transfer Call.

Is there a way to access flights information in GMail API?

When you buy a flight and receive a confirmation email, GMail recognizes it's a flight and adds departure/return tabs at the top of the message.
Using GMail API, I would like to use that information to get all flights from my inbox. Is this possible?
Content that is outside the message body of an email is not accessible from the GMail API. So you won't be able to access the info in any auto-generated tabs.
However, GMail may have auto-labeled the messages as "Travel". If that's the case then you can leverage the GMail API to filter messages using the "Travel" label.
You'll then have to parse the email message for the desired information.
Writing a custom parser can be difficult. However, if the message is annotated so that it conforms to specifications outlined by Google and Schema.org, parsing flight information will be considerably easier. One can assume that flight confirmation messages that trigger the auto-generation of those tabs have flight/reservation specific mark-up embedded within them (but you should probably verify that the email contains said mark-up all the same).
The following links discuss how vendors should embed these special mark-up into their messages:
https://developers.google.com/gmail/markup/getting-started
https://developers.google.com/gmail/markup/reference/flight-reservation#basic_flight_confirmation
You should be able to use those docs to build a custom parser that can detect and parse the required mark-up schema or better yet leverage an open-source library to do so.

Enable user to send text to specific Gmail contacts

In our website, we need to achieve a seemingly simple task: Enable the user to send a specific text to all or some of his/her Gmail contacts (including contact selection).
We don't actually need the contact data itself. We prefer some kind of "Gmail Plugin" (if there is one) that asks the user to login and does all the work. Alas, we couldn't find any.
We did find several different Google APIs related to this task. Some of them seem to give us contacts data. Others seem to handle sending email:
There is "Contacts API" under
https://developers.google.com/google-apps/contacts/v3/...
There is "Contacts Service" under
https://developers.google.com/apps-script/reference/contacts/...
There is "Gmail Service" under
https://developers.google.com/apps-script/reference/gmail/...
There is "Gmail Platform Integration" under
https://developers.google.com/gmail/...
Each of the above looks different and there seems to be much overlapping between them.
So what is the recommended method to achieve our original task? Is there a plugin that does it all? If not - should we use separate APIs for getting the contacts data and sending the emails, or are there Google APIs that combine both sub-tasks? In case those are separate tasks - is it possible to email via Gmail, or are there other recommended services for the email sending part?
To directly answer your question: you must use the first API you pointed, Contacts API under https://developers.google.com/google-apps/contacts/v3/.
Basically, you want to use the Google Contacts API with OAuth2 authentication in your website: user will be prompted by Google to allow your website to read user contacts.
First, read a bit about OAuth2 authentication flows here: http://alexbilbie.com/2013/02/a-guide-to-oauth-2-grants/
Second step: register your app on Google Console and get your key/pass for the Contacts API (you'll need contacts.readonly permission): https://console.developers.google.com
Then, as you'll use the OAuth2 for Web Servers, check this Google documentation: https://developers.google.com/accounts/docs/OAuth2WebServer
Alternatively, you can use third part libraries to easily import contacts to your website. There are free libraries, like PHP OpenInviter.org, Ruby OmniAuth gem, and paid alternatives, like CloudSponge.com (multi-language).
Disclaimer: I work for CloudSponge.com.
You could achieve this as you say with Google APIs and a Chrome Extension for example.
The user can add a Chrome Extension from the Chrome Webstore. The Extension will provide the user with a user interface to allow them to compose their message and send to the selected contacts.
The users contacts can be retrieved with the Google Contacts API.
The message can be sent to the selected contacts with the Gmail API.
There is a lot of documentation and examples for all of the above which together will give you what you want.
Depending on how much use this is going to get, you could use a contextual gadget which is browser agnostic - but visible in all emails in Gmail.
This is wrong the idea is to post the text to buffer a and submit pointer to array on buffet a and copy it to class b pointer a 0 than release the array and buffer so new allocation can be done

Ways to integrate app in GMail

Is there any way to integrate an app into GMail (with like a custom button next to the send button which will perform a request to a specific url) without an Firefox / Chrome addon? So an application really integrated in GMail?
I was wondering as I would like to do the following;
Allow a user to click to move a message to a specific (hardcoded) folder
Put the message back at the top of their inbox after a API query (from my app). So the Inbox priority filtering should be managable.
You'll want to take a look at Gmail Gadgets.
Gadgets are custom HTML and JavaScript components that run within an
iframe and can be embedded within various web pages. Gmail includes
support for embedding gadgets within the web interface, creating
content-rich data displays and extending Gmail with additional
functionality.

Can I build an addin for Gmail?

Is there a way I can create an addin for my Gmail account? Is GreaseMonkey the only real way?
I use Gmail for customer service, and I'd like to create a tool that looks up the customer and preps a response to them based upon who it is in my database... instead of looking by hand for the client and typing it out.
You can add gadgets (same as iGoogle and wave) and add them to the side bar in GMail, but you will not have access to the e-mails themselves. You could create small lookup forms and such, though.
I don't see how else you could do it. You won't be able to run your own app on Google's backend, so that leaves the client (with javascript and something like GreaseMonkey) and your server (perhaps communicating with the client via AJAX).

Resources