mturk on external website - amazon

I just had a quick question on making a survey on an external link as a HIT on Amazon Mechanical Turk. If a user completes the survey on the external webpage and submit the survey code on the MTurk interface, how do I, as the requester, guarantee that the user won't do the survey again? As in the user should only do the survey once. So is there a way to only allow the user to click on the survey link only once? Thank you!

Each worker is restricted to completing a HIT only once. Of course, if you setup your survey software to not log each worker's WorkerId, it is possible they might click the link multiple times before completing the HIT.
I recommend logging the WorkerId in your survey sytem. You can take a look at some instructions I've put together here for how to achieve this using JavaScript.

I usually ask each worker to submit their workerID on my hit interface. I use their ID along with some other information to generate their code. So, I can cross-check their amazon mturk responses with responses logged on my server.

Related

Using URL Links to Modify Asana Tasks

We are using a read only Asana "Project" to manage our design work. Our design work is organized as Asana Tasks. Each Task represents a different design project. The reason for making it read only is to limit Asana users from accidentally making changes to the project details and to restrict Asana users from creating their own tasks that fall outside of the Task standard structure that we have decided on.
To create these tasks in Asana we are using a combination of Cognito forms and Zapier to create the tasks automatically. Our customer fills out the Cognito form and Zapier automatically populates Asana with the design Task that needs to be completed for that specific customer.
The issue with this setup is that to move the tasks around in Asana to provide the team with "updates", either an Asana user with write privileges needs to do it, or the Asana user needs to fill out a form to make the change, since they only have read privileges. We would prefer to keep it super simple and I have figured out a way to do it using Zapier webhooks.
Because we are using Zapier, I can format URL links in any sort of way I want. I can create a URL link that includes the Asana Task ID and the Asana section that the task needs to be moved to. Using webhooks, a user can click a "Change Section" URL. Clicking this URL will trigger a Zapier Zap action which then will change the Asana Task Section. Just by clicking the link a User can make updates to that task.
My question is fairly basic. Is there a way to stop the URL from opening a page but for the data in the URL to be still passed to Zapier? When a user clicks the link it opens a web page and I don't want that to happen. Or if it happens, could the web page immediately close after opening?
The short answers is "no, it's not possible to click on a zapier link and have the page not open or auto-close" out of the box.
The long answer is a little more involved. I'm assuming your url looks something like https://hooks.zapier.com/hooks/catch/1234/abcd?name=john&cool=true, allowing you to pass "name" and "cool" into Zapier.
To pass that into Zapier, you need to get the contents of that URL, either by loading it in a web browser or calling it with another tool (such as fetch or curl).
If you've got some engineering resources, you could host a very simple HTML page somewhere that could accept data and run some Javascript. It would do something like:
read Zapier webhook url from the querystring (probably worth encoding)
On pageload, run await fetch(thatUrl)
Instruct the user to close the page (which is better UX than the JSON or black response you get from Zapier). I thought JS could close any page, but it turns out window.close() only works if the script opened the page (docs).
So that's an ok workaround.

what events can trigger webhook in MS Teams?

Hi StackOverflow community:
Hope everyone is as well as possible during this current pandemic. We're developing an AI-based system which needs to collect inputs from various sources, including MS Teams. For example, we need to be able to trigger an API call when someone clicks on a 'channel' or a 'chat', when they click on a link which takes them outside of MS Teams (for example, they click on a weblink which takes them to a website), when they post in a chat/channel and so on.
Given that this program will be used by many non-technical users, we don't want the user to have to initiate the API call - it has to be done automatically.
I was hoping please that some people would be able to let me know which actions can/can not trigger API calls and outgoing webhooks? And the best way of automatically triggering the API calls when these events occur?
Any help would be greatly appreciated!
Josh

What action should I use for a complex review?

I am thinking about adding actions to a transactional email that asks a customer to fill in a review and currently links to a web-app where a complex questionnaire with several questions and text fields is available.
The amount of data that is collected is far more than would be achievable with the in app review action. However the registration guidelines state that the most high-fidelity action available should be used, but it doesn't really allow for granular enough data input for my use-case.
Should I use a Go-to action? Or is there a way to use the in-app review action to collect part of the data and then redirect to a partially filled questionnaire to offer the option to answer the other questions?
I think you should use the Go-To action. These are for more complex interactions, when you need to provide a direct link to the page where the action can be performed. They are rendered in an email as a button in the subject line that redirects the user to the page specified in the action definition.
https://developers.google.com/gmail/markup/reference/go-to-action

Send alerts when post is read

I'm wondering whether SharePoint can send alerts to the administrators when blog posts get read. We want to track how many people (if any at all) are reading technical blog posts.
I have found a way to set alerts for when items change, but not when they get viewed.
No, this would not be possible with a "simple" solution - as in out-of-the-box. There is no "viewed item" event in any way.
You would either have to tap the SharePoint Analytics database and check when a specific user has viewed a specific page and upon that event send a mail. You most likely would have to code a timer job for that which checks in regular intervals for this.
Another (simpler) method would be to just have a small WebPart embedded on the blog post page which tracks who has viewed the page and sends alerts.
You should rethink what you are doing in any case. There is no good measure of when somebody really has read a blog post. Did somebody read the blog post if he just entered the URL? Maybe the click was an error and the user leaves the page right away. Maybe you only activate the "read" flag after a certain amount of time - how would you determine the time spent in the stateless web? With a JavaScript timer being started when the user arrives at the page, stopped when he leaves the page? How would you send the "stop" signal if the user just closes the browser?
You can track if a user visited a page - that does not mean he read the article / blog post. The only sure way to do that is to include a button on the page which says "I have read the blog post". Again, this button can be faked, i.e. just clicked without reading, but you have the users' word that he read the blog post. This would be the third solution and in my eyes best solution to track who has read a blog post: Implement a button which allows the user to mark a post as read. This could even be implemented nicely with a tracking-list, that list in turn could be subscribed to by an admin who would get automatic summaries of who has read an article, who hasn't.

Amazon turk - where does the data go?

Aloha - i would like to create an Amazon Turk task to collect information on hotel companies in Hawaii.
One quesion (that i was unable to get ansewred through the MTurk FAQ/website)
I have a form on my host that will allow the turkers to complete the task - can i re-direct or include this link in the task description. I tried creating a sample task - and it requires me to use/modify their existing DHTML template - and does not allow to re-direct to my data entry form hosted on my website. I was planning on providing detailed instructions on how to enter data into my site form on the MTurk task description.
Any help would be appreciated. Mahalo!
If you need workers to fill out a form on your site you have two options:
Create your hits with an external question (requires use of the mturk API): http://docs.amazonwebservices.com/AWSMechTurk/2008-02-14/AWSMechanicalTurkRequester/ApiReference_ExternalQuestionArticle.html
Provide a link to workers to your form in the task description. When the worker has filled out your form, provide a verification code that they can enter into a field in your Mturk template. This way you can ensure the worker has completed your external form by checking that they entered a proper code.

Resources