Simplest way to send a notification to Evernote web application? - webhooks

I'm not even sure if this is possible/options to look into.
I wrote an email-based sync where a user has a note in Evernote and when the user sends an email from Evernote to a website endpoint, I want the end point to notify the user that their request was received on Evernote.
I don't know if this is even possible. I just want to say "email received" sort of thing.
Closest thing I could think of is having an evernote with the contents updated (sync log). It's kind of like a webhook for Slack but looking for Evernote.
To clarify: The user is currently on Evernote (website) looking at their note, they send the email (from here to share the current note) I want a popup/notification of some sort to say "Email received" I don't know if there is a system for this or not. I don't think so.
Edit: In the meantime I just setup a slack webhook notification

There's no way to programmatically cause a notification to occur/appear within an Evernote client application. You could implement something that's external to Evernote using your own notification mechanism like push notification on mobile, SignalR, etc. but that would be dependent on the user's environment.

Related

How to send a notification at a random time?

I would like to find out how, using Node.js, Express, Typeorm I can send notifications at random times to users to add a post etc.
I would like to create something of the BeReal sort. Notifications should be sent according to the user's selected time zone at random times.
If you want to send automated notifications, I'd recommend using
node-cron. However, for your case, I'd propose to add a timeZone
indicative information in the database to link the user with the
timeZone(you can find it in HTTP Requests, update it after each
login).
For the actual sending of the notifications, I think you should use
some third party service like Google Firebase for mobile
notifications, and web-push for web applications.

Is there any way to check if the emails sent by my app are open?

Hello I have developed an application that works with React.js and Node.js.
I use AWS and SES (Simple Email Service) to send some emails.
My question is whether there is any way I can keep track of emails sent and opened by my users to prevent them from qualifying me as spam or that my SES account health will decrease too much.
I have seen that there are some browser extensions with which it marks the emails sent with a double tick if the user have read it, but I do not have a record such as in gmail.
Has anyone encountered any similar problems?
Is it possible via AWS or via Node to achieve this?
Greetings and thanks in advance.
I agree with #Ravi's answer above - SES does provide notifications - however in my experience the open notification is a lot less reliable than the delivered and bounce notifications.
Tracking opens is difficult as browsers, popup blockers/security software and email clients themselves can disable/break features like read-receipts and tracking pixels in the name or privacy. The most reliable way of tracking opens is to have a clickable link in the email body (and a compelling reason for your user to click on it) and include a unique id in the URL that you can capture server-side.
With the help of some simple configurations with SES and SNS. By creating a topic and doing the subscription like where you want to get the notifications. Through this, you can track the status of your emails whether they are opened or not. SNS will send you email notifications.

Is there a way to achieve the same behavior of sending notifications as email notifications using GitHub API?

I'm building a Telegram bot for myself that should send to me notifications when I get any. I'm trying to achieve the same behavior as GitHub's email notifications. The problem is that I'm not sure if it's even possible. I'm working with GitHub API for few days straight trying to solve this issue but I still have no idea how to do it. It's like GitHub API doesn't provide enough information about the notification.
For example, it provides field "reason", which describes why I got this notification but how to understand what this notification is about? Like, if I was assigned to the issue or pull request (right now it seems like notifications are the same whether I got assigned to the issue or got a new message in the assigned issue), or got a new message in a watching issue/pull request or anything else.

Send a push notification to opted-in users at the time which they select

After taking the user's permission to send push notifications and saving the userID in firestore, how can I use it to send notifications to them at a time of their choice daily ?
For example :
If the user selects 8:00 AM , I want to be able to send them the push notification everyday at 8 am.
I can't write the code to send the notification in the action itself.
What will I have to setup to accomplish this?
Once the user has granted you permission to send push notifications, you can use the Actions API to send the push notification.
The setup would be as follows.
Storing user preferences
1) Dialogflow agent asks the user when they want to be notified
2) User says they want to be notified at 8:00 am
3) Dialogflow detects the answer and makes a fulfillment request to your webhook (The webhook can be the inline editor in dialogflow (Functions) or another server)
4) In the handler of the intent, you have to store the UserId and the time they selected in your database (in this case, firestore)
5) Dialogflow agent gives the final answer to the user and the interaction ends
Sending the push notification
1) Identify if you have to send a notification to a user; this is the tricky part.
It is not possible to give you a definitive solution on this, because it heavily depends on the requirements of your system and the technologies that you are using/want to use.
Basically, you can use cron jobs, background infinite processes, pub/sub, cloud scheduler, or any other tool that allows you to constantly read information from your database to determine which users need to be notified. I recommend you to check this answer where is discussed an approach to tackle this problem using Firestore.
Notice that you don't necessarily need another server running, you can use the Functions used for the fulfillment.
For example. You can set up Cloud Scheduler to run each hour, and make a request to your Functions. In the request, you read from Firestore and extract the entities that need to be notified that hour.
2) Once you have the users that you want to notificate, you need to use the Actions API to send the push notification. Once again, this request can come from your fulfillment server, or another server used in the system.

How to use trigger event in facebook messenger bot

I'm developing Facebook messenger bot. Based on the official sample
here made by Node.js, Express, ES7.
I want to use Firebase database, trigger event.
If someone updates the database, send notice to certain people. I add source code "Child Changed" to "messages.js" in messenger-api-helpers, but it doesn't work.
I can check working "Child Changed" in HTML, but in messenger, I cannot.
Where should I write the trigger events code?
You should definitely use Facebook Messenger Broadcast API for this kind of functionality. This will broadcast a notice/broadcast to users.
Caveats:
You have to apply for this permission. (pages_messaging and pages_messaging_subscriptions.Takes about 1-2 days, but
can test on Admin/Test users of the app)
Each broadcast has to be a separate broadcast. (e.g. you can't send image and a text together, each has to be its own individual broadcast).
Have some kind of un-subscription option as well. FB user might think you are spamming even if you clearly say in the messages that your bot will send updates.
Use custom labels to create targetted sends. So you can either subdivide who you will send updates to about specific issues or just label people if they unsubscribe to your broadcast or not.
Basic workflow:
Get permission to broadcast.
On event in your Database. Start process.
Create message_creative_id via POST to endpoint
Use message_creative_id to POST a broadcast_messages
On a successful send you will get back broadcast_id

Resources