Amazon Lex send the fulfilled slots via email - amazon-lex

I have created an Amazon Lex bot. The user has to fulfill some slots. Now I want to send the response (all fulfilled slots) via email to a specific address. Is this possible with Amazon Lex bot or do I have to create a Lambda function?
Thank you for your hints

You need to use Lambda function or some other webhook where you will collect all the slots then trigger an email through your code or using some service like AWS SES.

Related

Get an email on inbound message with Twilio

I am currently using a Twilio phone number with ShortySMS for some SMS marketing. When a customer responds (sends me an inbound message), I want to get an email. How can I accomplish this?
Twilios Code Exchange has a Quick Deploy option for this scenario. The Quick Deploy uses SendGrid as the mail sender so you'll need to have a SendGrid account in addition to your Twilio account.
The Quick Deploy utilizes a Twilio Function to run the code needed to take the incoming SMS message from Twilio, craft an email message and send it using the SendGrid API. The code for that function is located in a public Github repository if you want to take a look at what its doing.
If you use the Quick Deploy, once the function is created you can then customize its code if you want to change the default templates behavior.
Hope that helps.

How to send Logs to Lambda Function in iOS App?

Hello I have a iOS App and want to send my Logs to a Lambda Function.
I have the ARN Name of the Lambda Function. Where do I have to put this ARN that the Logs getting send to the Lambda?
Many Thanks
Marc
You can use the invoke API in Lambda Invoker to specify the function name. You find the API details here:
https://github.com/aws-amplify/aws-sdk-ios/blob/master/AWSLambda/AWSLambdaInvoker.h#L225
I would imagine you should make your Lambda an API that your app can PUT/POST the logs to.
AWS just released a feature to allow Lambdas to be directly hooked against an ALB (No need for APIGW).
https://aws.amazon.com/blogs/networking-and-content-delivery/lambda-functions-as-targets-for-application-load-balancers/
There is no need for your App to know about AWS at all. It just needs a restful API to send data to.
Another alternative is to use Amazon Pinpoint SDK in your app and post custom events
https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate-events.html

Geting the photo sent from Facebook Messenger Charbot to Amazon Lex

Is there a way to receive or get the image sent from Facebook Messenger Chatbot to Amazon Lex?
Currently when I send an image to my chatbot in Facebook Messenger it doesn't reply or have the "seen" status.
Unfortunately, no.
AWS Lex is a conversation bot that only responds to voice and text.
You should setup an API Gateway which will connect to your FB bot.
This API Gateway will forward the request to Lambda function, which will do pre-processing, image processing etc, then forward the request to Lex using PostText (if required) or directly reply to your FB bot. Lex, then, can call one more Lambda function as it normally does.
Your architecture will then look like below image:
Instead of Twillio you can use Facebook, and in the Lambda function you can decide which requests to forward to Lex and where you need to apply image processing or anything.
See this link for detailed information.
Hope it helps.

How to save twilio ip message to a database?

I'm discovering twilio ip messaging and i want to make a simple basic chat application. It's not so difficult but i want every sent messages to be stored in a database.
I was seeking some solutions into the twilio user interface but no such things to help me to solve this issue.
I am using amazon dynamodb. How could i process it so that each time I relogin to the chat i could see messages from the last session ?
Twilio evangelist here.
I think you are looking for the onMessageSend webhook:
https://www.twilio.com/docs/api/ip-messaging/webhooks
You can configure for IP Messaging Service instance with a URL for this webhook either in the account portal or via the rest API. Twilio will request that URL whenever a client sends a message to the channel. The webhook will include the sender id, channel id and message which you can save to your database.
Hope that helps.

Amazon SNS Mobile Push - how to bulk subscribe endpoints to a topic?

I am trying to move my existing iOS push notification infrastructure over to amazon SNS mobile push.
I exported all my tokens from my local db into an SNS application (using CSV). Now I want to send push notification to all my 10,000 users. I think the only way is to create a topic and subscribe all the users to that topic then publish message to that topic.
Is there any easy way to subscribe all the 10,000 users who I have imported into the system to a topic?
Thanks for any help!
It sounds like you have created the Amazon SNS Platform Application and imported your tokens as Amazon SNS Platform Endpoints.
What kind of notification are you sending?
If you send a custom message to each user, use Direct
Addressing. With this approach, you
Publish to each EndpointARN.
If you send the same message to all users, use topics. You need to subscribe your endpoints to a topic. When you are ready to send, Publish to the TopicARN. Amazon SNS will handle delivery to all endpoints subscribed to that topic. Amazon SNS currently does not provide a bulk subscribe API, so you will have to invoke Subscribe once per EndpointARN.
Full disclosure: I work for AWS on Amazon SNS.
Unfortunately there is no way so far... see Bulk push endpoints subscription to a topic on AWS Discussion Forum.
Hi there langelvicente,
Thanks for this feature request. I've passed this back through to the SNS Service Team for review.
Best regards,
Phil P
This is now possible with subscribing mobile endpoints to topics. The default subscriber limit was increased.
Q: Are there limits to the number of topics or number of subscribers
per topic?
By default, SNS offers 10 million subscriptions per topic, and 3,000
topics per account. To request a higher limit, please contact us at
at http://aws.amazon.com/support
http://aws.amazon.com/sns/faqs/?nc2=h_ls
If you have an application full of endpoints which you want to bulk subscribe to a SNS topic you can do so from the AWS SNS dashboard by:
Going to that application in SNS
Waiting until the 'total items' count at the bottom has completed its count (ie all items are listed)
Checking the select all check mark above the list of endpoints (screenshot attached)
Tap on platform action > subscribe endpoints to topic
Enter your topic ARN and click create subscription
The process will begin and it will stall your web browser but let it be as it takes time and if you want to see the subscriptions to the topic increasing you can use the AWS CLI with :
aws sns get-topic-attributes --topic-arn "[YOUR TOPIC ARN]"
note the "SubscriptionsConfirmed" value
Yes, but caveat: they each must accept your effort to enroll them into push messaging. That means that for each token in your database, each individual must consent to receiving future messages from you (via SMS and email, that is).
Each address (tel #, email) becomes an endpoint, and you can use SNS to create a topic, then subscribe each endpoint. After a confirmation email is sent to each endpoint (person on your list), they must confirm, in order to begin receiving your stream of messages via text or email.
Unfortunately, this confirmation/consent event is dicey, and must be handled correctly. Your ARN's title must be succinct (7 letter via SMS, no subject line allowed). Hence, you must contact them via SMS using a name they will recognize (the SMS message will arrive via short code, 304-something), and can be refused and/or blocked.
Not trivial! Best to investigate using push messages via mobile app. This will avoid the coveted SMS space, but you might consider putting out a blast to email and/or SMS, in order to get them using your mobile app. Apparently, given the immediacy of SMS, folks will be reading your first confirmation within 20 seconds. This could be a good thing, if they confirm, then accept your future messages.
Am doing this right now, and am preparing to be recognized by name using my initial blast -- apps that create anonymous SMS will be banned through iTunes!

Resources