Any idea to archive emails in Conversations in Asana? - asana

I would like to centralize every email from (or to) customers of a project in the Conversations view of a project in Asana. The goal is to keep an archive of all exchanges with a customer in one place for every team member.
I tried to use the project#mail.asana.com as CC in every emails that i send but customers don't have accounts on Asana (and i don't want them to access it) and so they can't save their replies in Conversations. I tried also to create an email group (in Google Apps) and add the Asana email at it but it didn't work.
Any idea to use the Conversations view as an archive ? Or maybe is there an external tool which integrate with Asana that can do this ?
Thanks a lot in advance !

Hmm, that's interesting! I suppose that if you don't have too many emails this makes some sense (otherwise it might make your Asana Inbox pretty noisy - everyone would see in their inbox every conversation)
I think what I would do is to set up a Gmail filter to automatically forward the email to your team. You can do this in Gmail like this: https://support.google.com/mail/answer/6579?hl=en. If you set up a good filter (i.e. sent to a group address) it seems like it would be pretty painless.
One thing to note is that the conversation in Asana will appear to come from whoever is associated with the email that's sending the conversation to Asana, so if you have a single POC with the outside world, it may make sense to only forward from their account. Alternatively, you could set up a special Asana user just for this purpose, and your teammates can follow a convention that "mailbot" (or whatever user it is) is just used to forward mail, and you should look at the content to get who the author was.

Related

Handle emails in a Rails 7 Multitenant Web App

I'm developing a multi tenant (with apartment gem) dashboard application with Rails 7. I've bought my own domain for the application but I have no email service yet.
How does my app work?
A customer sign up for it
He can decide to use a custom subdomain like customer1.example.com to reach his dashboard
He also can chose to use his own domain like customer1.com. I've handled this part with cloudflare for SaaS feature
He will use his own dashboard to let other people join, create accounts, interact with that dashboard
What am I looking for?
I'm looking for the best solution to implement these features:
Sending and receiving email for my application: something like info#mydomain.com, support#mydomain.com etc... (and this is the "easy" part. I think I simply need an email host
Here's come the (for my little experience) hard part:
How can I create a system of mail for actions like signup confirmation etc? I think those could just be some sort of "from" email and don't really need to exists.
How can I let the customer send/receive mail sent for example to customer1#mydomain.com or info-customer1#mydomain.com?
In case I just said something really stupid, what should be the correct way to handle emailing in an application like this?
Thanks to everyone, tell me if you need more information!
customer1#mydomain.com and info-customer1#mydomain.com are mailboxes.
You should create the setting for each company and use it to send/receive the email. For dynamically, you can create options to select belike "send as a mailbox"
If you want to find a product to manage sent/received emails from many mailboxes, you can try this instead of implementing

Sending newsletters with SendGrid and Rails - What is the best approach?

I have a rails app with sendgrid API setup and I can send transactional emails just fine. Now I want to be able to send newsletters but I'm a bit confused about the flow and how to keep track of which users want to unsubscribe from the newsletter.
The way I was considering doing this is when a use signsup to automatically send a request to the SendGrid API and add them to the contacts list, and if they want to unsubscribe from the newsletter or transactional emails from my app's settings page I can save this info in my app's DB but also send a request to sendgrid's unsubscribe list to change the value there too. Now I can create a newsletter in sendgrid and send it out from there without having to do anything within my app. One caveat to this approach would be if the users clicks the unsubscribe button via the newsletter and the value gets changed in sendgrid but the change won't be reflected in my app - To work around this would it be better to create a cron job that periodically checks sendgrid for any changes and then save them to my DB, or should the unsubscribe page be part of my app, and when they select unsubscribe I save it to my DB and then push the changes to sendgrid? If i do this approach, would I require users to sign in if they want to make these changes?
An alternative approach would be to forego creating any contact lists in sendgrid and just create the email in sendgrid and sent it out using a rake tasks to trigger the sending?
Apologies if this is a very basic question, but this is my first time trying to setup newsletters etc and can't seem to find anything online about the best strategy to take in order to do this - I hope this question makes sense.
Twilio SendGrid developer evangelist here.
This question is a little too opinion based for Stack Overflow, many of the options you describe will work but they rely on whether it's the right decision for your application. But, I will try to give some guidance.
First, however you approach this, I would recommend you set up subuser accounts within SendGrid so that your transactional and newsletter emails come from different subusers. This way unsubscribes from newsletters won't affect transactional emails.
I would use the SendGrid contacts list to send out newsletters. This gives you a lot of power over your contacts without you having to build things yourself. You can segment your lists, create unsubscribe groups (where a user can unsubscribe from a subset of your emails instead of all of them) and send emails from within SendGrid without bothering your Rails app. You can still set up to trigger a newsletter from your app using the API if you want to.
As for maintaining the user's subscription status, I would go with exporting the contact lists and keeping your database up to date that way. The important thing when sending to your contact list is that SendGrid has the source of truth for subscription status and your application can be a bit behind if it needs to be. The SendGrid docs for exporting contacts also say:
Twilio SendGrid recommends exporting your contacts regularly as a backup to avoid issues or lost data.
So this would fulfil that suggestion too.
As for the unsubscribe links, the easiest way is to use the SendGrid unsubscribe form, have SendGrid handle all the unsubscribes, and your exports can keep your database up to date. That also allows you to handle the addition of unsubscribe groups without any more code on your side.
With more work you could create your own unsubscribe form so that your database stays more up to date with the subscription status. Your choice over whether a user should be logged in or not depends on how much friction you want to give the user before they unsubscribe and how much issue you think you might get from users forwarding your emails and having their friends unsubscribe them. That is up to you to decide on though.
Hope this helps a bit!

Website contact form to Asana Api

I am interested to allow my website to send a webform data to an asana project, its for collecting responses from potential clients.
I am unsure the best way to do this, since by using the form, I do not want that the user is required to login, or signup, or anything such as that, the form submission should be anonymous, it should just take whatever is posted and create a task in asana with the text given.
From the documentation, it appears that its always required to login, or connect with asana and this obviously isn't going to work since people are not going to do that in order to send me feedback from the website.
So, is there a way to do this, in the way mentioned above?
You're right in that you need to have an Asana account to make API calls as a particular user. However since you want the submissions to be anonymous anyway, there's a pretty simple way: you can create a bot account and use that to submit the form. For instance, create an Asana user called "forms_bot#yourdomain.com"; make sure it can see the project in which you want to collect the form submissions. Get its credentials from inside Asana, and use these on your server to make the API calls to Asana to submit the information. In this way you will see the tasks created by "forms_bot#yourdomain.com".
We use this idiom very frequently at Asana for these sorts of flows, and as an added plus it makes it very clear where the information came from in the first place (as opposed to seeming as if there were an actual user in your domain that's creating the tasks). Hopefully this makes sense and will allow you to get the workflow you want set up!

RoR: Providing users with unique email addresses

As an RoR newbie, I'm hoping to get insight into what direction I need to take on how to achieve the following (or if its even possible.)
My app will serve as a middle-man between a user and a 3rd party application. Users of the 3rd party application are provided a unique email address that they can send email(text) to, which is then saved into the 3rd party app.
Instead of users sending text to the 3rd party app, I want intercept this text, and strip out the metadata (date, from, subject, etc.), then save each of the pieces of data accordingly into the 3rd party app. With that being said, I envisioned providing users with unique email addresses from my application, that I would match up to their 3rd party address.
Question 1: How would I auto-provision my unique email addresses in
RoR? Question 1.1: Are there providers/APIs that allow for this?
The dirty way is for me to use a hosting provider that allows for unlimited email addresses and manually create a lot of them.
I was looking at using a service such as Mailgun or Cloudmailin to help facilitate the capture/parsing of the incoming email contents.
I don't believe a "catch-all" email address would serve me, as users can share my provided email address to anyone, (e.g. via a mailto link on their website), so most people emailing in may not be users in my application.
All advice/assistance is greatly appreciated. Thanks for your time.
Mailgun is your best bet for something like this - you can use a route to match the pattern of your email addresses, POST it to your RoR app, and then handle all of the processing and parsing internally. This will easily let you scale to however many addresses you want (and you can design your addresses so different patterns go different places).
Also, Mailgun/Rackspace "Fanatical Support" is really nice to have when something goes wrong.
Having used MailGun for the last 18 months or so, the one caveat I will give you is that while it is very reliable and easy to use, you will occasionally experience delivery delays depending on how busy they are. These can be a bit confusing or frustrating, but I've never had them "lose" a piece of mail on me.

Can an email be printed as soon as it enters the Inbox?

We are working on an online food ordering application. When the user orders something from any restaurant, an email is sent to the restaurant's email address mentioning the order details. However, our client wants that an order print out should be generated automatically as soon as a new order is received.
Is it feasible using ROR? If not, any alternate solution to the problem?
When my group wrote something like this we went a little lower tech, and had the system generate a fax and send it to a fax machine at the restaurant. Of course, that's mainly because this was a system working across many restaurants, with disparate IT infrastructures, and the one thing they had in common was each had a fax machine.
I would figure this could be done in 1 of two ways:
1- Outlook event-- Outlook has the ability to set up 'rules', one of which I think allows printing.
2- Create a script that runs every few minutes, checks the email (either through IMAP, or POP, depending on the account), and prints all of them out.
See this: http://ruby.about.com/od/tasks/a/pop3.htm for info on how to check POP3 mail with ruby on rails.
For printing, the links mentioned here seem useful: http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/504a616bf3e28057/ff6cb91462dfe961?pli=1
Ensure that you have 'from' or 'subject' filters setup, otherwise there will be a lot of spam printing.
You can use software to print your order automatically when email is received, it supports also print attachment like pdf, word, etc...
It is used by a lot of restaurant to print online order:
http://www.automatic-email-manager.com/

Resources