Hi, there!

I researched how we can make Facebook and Questetra work together in order to improve the efficiency of our company.
The following is a summary of what I studied.

TOC
1. The background why I did the research
2. Setting up cooperation between Facebook and Questetra
2-1. Settings in Zapier
2-2. Settings for invoking Zapier from Questetra
3. Comparison of methods of collaboration
4. Closing

 

1. The background why I did the research

自We have a business operation of regularly posting articles to our company’s Facebook page as part of our marketing efforts.

Previously, people who had permission to post articles on Facebook pages were writing the content of articles, so it was not a bothersome task even with manual posting. But despite that, it was decided to change to separate the person who creates the draft of the article and the person who checks it, so the person who does not have the posting authority would create the draft of the article.

Therefore, I wanted to make the operations streamline and automate the series of tasks as much as possible.

 

2. Setting up cooperation between Facebook and Questetra

As linkage methods, I could consider the following two methods.

  • a), To invoke Facebook API directly from Questetra
  • b), To post to Facebook from Questetra via integration tool

Although I tried both methods, I deployed the b) method for actual operation. I will explain the reason later.

I decided to adopt Zapier for the integration tool. Thus, the idea of implementation would be like the figure below.

 

2-1. Settings in Zapier

The goal I intend here is that Zapier to receive an HTTP request and post an article on a Facebook page. Regarding the settings in Zapier, various information will come out if you search about how to, so in this section, I will narrow it down to the gist.

  • TRIGGER
    • “Catch Hook” in “Select Webhooks by Zapier Trigger” (Copy the URL for the later setting)
  • ACTION
    • “Create Page Post” in “Select Facebook Page Action”
    • Choose the target Facebook Page account
    • Select the target your Facebook page listed in “Page”. Since Message and Link URL need to be associated with the following JSON format, it will be associated after sending a JSON code created manually written for testing. (I felt these procedures were a little cumbersome…)
{
  "message" : "(Input post body here)",
  "link" : "(Input Link URL here)"
}

 

2-2. Settings for invoking Zapier from Questetra

Although posting to Facebook Page will be done after through Approval flow, I will omit that part and explain only the scheme of sending data to Zapier since the theme of this article is collaboration. What we are going to do is to send an HTTP request in the prescribed format to Zapier’s Webhook from Questetra.

 

First, prepare JSON data to be sent with “Service Task (Data Assignment)”.
* Related Manual: M227: Auto Executing Data Binding, Arithmetic Operations

Set the following formula. (The parts of “q_string0” and “q_string1” depend on the field name of the Data Items.)

{
  "message":"#{#q_string0}",
  "link":"#{#q_string1}"
 }

 

And use “Message sending intermediate event (HTTP)” to send an HTTP request to Zapier Webhook.
* Related Manual: M225: Auto Sending of HTTP Request with Business data Inserted

  • Network Settings
    • “Access URL”: https://hooks.zapier.com/hooks/catch/*****/*****/ (Copied at setting in Zapier)
    • “HTTP Method”: POST (Specify Request Body)
    • “Data item to save error details”: Although it is not mandatory, it is better to specify so that you can check the error details. It is even better to configure processing upon an error after this event, that refers to this Data Item to determine the presence or absence of an error.
  • “Request Body”: When sending JSON, specify the String type Data Item that stores JSON to be sent to “Data item to send as request body”, and specify “application/json” at “Content-Type of request body”
  • “Response Settings”: Although it is not mandatory, if you check “Save Response” and specify a String type Data Item, you can confirm the result.

 

In addition, if you would like scheduled posting, you can bring about it by inserting the following to control the timing of sending HTTP request.
 ・Place “Timer Intermediate Event” before the “Throwing Message Intermediate Event”
 ・Add a Datetime type Data Item to specify the publishing date time
 ・In the “Timer Intermediate Event”, specify the above Data Item in “Datetime specified by a data item”
* Related Manual: M223: Sleeping in the Middle

Those icons in a sequence look like the following figure.

 

3. Comparison of methods of collaboration

I mentioned earlier that there are two methods to realize linkage. Now, I would like to consider the advantages and disadvantages of both of them.

  • a), To invoke Facebook API directly from Questetra
  • b), To post to Facebook from Questetra via integration tool

 

First, look at a).

□Advantages of a)
・No need to manage any tool

■ Disadvantages of a)
・You need a Facebook app registration to invoke Facebook API, and you have to make it “live” (enabled).
・Retrieving of an Access token for invoking Facebook API is complicated. Moreover, you need to prepare a script for invoking Facebook API.

* Although it is natural that you need to register the application on Facebook that is the connection destination when connecting using OAuth, It is hard to do so many procedures to make it “Live” such as the URL of the privacy policy and review are required. (Incidentally, I was stuck in a situation where I could not understand what was wrong because if it is not “Live”, I was able to post via API despite other users could not view the post.)
* Concerning Access token, there is a circumstance that it is necessary to obtain an indefinite “page access token” after obtaining a “user access token”. (Even though Questetra has a mechanism to easily obtain an OAuth access token, it cannot be used because of this complicated situation.)
* Regarding the script (that work in Questetra), we can prepare something packaged as Addon-XML, so we can still manage this issue.

 

Next, look at b).

□ Advantages of b)
・The setting of Facebook integration is much easier since all you need is setting the integration tool.

■ Disadvantages of b)
・More tool s to manage
・I cannot make a scheduled posting with the specified date and time in the integration with Facebook page provided by Zapier.

* With Zapier alone you cannot make a scheduled posting (even though Facebook API has that function, Zapier does not support it), but Questetra can wait until the specified date and time, so you can make up.

 

Thus, since a) takes a lot of work, I chose b) method.
To be honest, it seemed good if there was something that is packaged as “Facebook Linkage Part” in the form of Addon-XML, but I gave it up because it would be very cumbersome to configure to use.

 

4. Closing

Although I wrote variously, incorporating an automatic posting system on Facebook in the middle of the business flow can be achieved easily. I hope you can utilize it well.

If you have any question, please feel free to contact us via the Contact form.