If you have read any of my previous articles you know that I love me some Podio API. However it is not something that your average Podio user can take advantage of. Not even your advanced Podio users for that matter. The reason being is that it can only be leveraged by using other programming languages such as PHP and Ruby-on-Rails.
That is what I thought until I stumbled across a tool, created by the same person who developed GlobiFlow, called ProcFu!
What is ProcFu?
Yes, it definitely sounds like a type of Kong-Fu. But what it actually is is a set of scripts that allow you to use the Podio API directly without writing any code. Though you can run these scripts using code as well.
Here is what it would take to use the Podio API by yourself, you would need to handle a few things in code...
- Authorization - telling Podio who you are and getting approved by Podio to access the API. This must be done in code before running a Podio Api Procedure. This was not a fun process to learn!
- Execute the Podio API procedure by calling it and supplying the correct parameters.
- Catching the returned information.
- Reading the returned information
- Deciding what to do next.
It's a bit more complicated then that, but in the simplest terms that is how a developer would deal with the Podio API.
What ProcFu does is that it handles the Authorization (1), execution (2), catching (3) and reading (4 - depending on the ProcFu script). All that is left up to you is the deciding what to do next with the information.
What can ProcFu Do?
For the most part ProcFu mimics what the Podio API Offers. Many of the scripts are direct representations of a corresponding Podio API process. There are also some that access the Google APIs that are very useful.
Here is the list (taken directly from the ProcFu website). It is being added to all the time as well.
Basic
• hello_world.pf - The most basic example of a script. Given a name, it will simply greet the person with Hello.
Apps
• podio_app_get_raw.pf - Get the full payload of a Podio App as a JSON object
• podio_app_get_categories.pf - Get all category values in a Podio App category Field
• podio_app_get_cat_id.pf - Get the ID of a category value in a Podio App category Field
• podio_app_ensure_category.pf - Make sure that a category value exists in a Podio App category Field
• podio_app_create.pf - Create a new Podio App as per https://developers.podio.com/doc/applications/add-new-app-22351
• podio_app_update.pf - Update a Podio App as per https://developers.podio.com/doc/applications/update-app-v2-144091799
• podio_category_sync_by_items.pf - Make sure that all category values of an item's App field exist in another item's App field (different apps)
• install_app.pf - Install App or App Pack from App Market into a Workspace
• archive_app.pf - Archive a Podio app
• app_get_view_total.pf - Get number of items in a Podio App's View
Comments
• podio_create_comment.pf - Create a comment on a Podio item
• create_comment_silent.pf - Create a comment on an item silently
• podio_item_copy_comments.pf - Copy all comments from one Podio Item to another
• comment_files_to_item.pf - Copy all files from a Podio Comment to the Item
• item_most_recent_comment.pf - Get the text of the most recent comment on a Podio Item
General Data
• get_var.pf - Get a variable value previously saved with set_var.pf
• set_var.pf - Set a variable to later fetch again with get_var.pf
• get_shared_var.pf - Get a shared global variable value previously saved with set_shared_var.pf
• set_shared_var.pf - Set a global variable to share with others using get_shared_var.pf
GlobiFlow
• trigger_flow_on_item.pf - Trigger a manual GF Flow on a specific Podio Item
• trigger_flow_on_items_multi.pf - Trigger a manual GF Flow on multiple Podio Items at once
Items
• podio_item_create.pf - Create a new Item in a Podio App
• podio_item_field_get.pf - Get the value of one field of a Podio Item
• podio_item_fields_get.pf - Get the fields of a Podio Item as a JSON object
• podio_item_fields_update.pf - Update the fields of a Podio Item given a JSON object
• podio_item_get_raw.pf - Get the full payload of a Podio Item as a JSON object
• podio_item_get_ids.pf - Get the Workspace ID and App ID of a given Podio Item
• podio_item_get_creator.pf - Get the creator of a Podio Item
• podio_item_get_revisor.pf - Get the last creator of the most recent Podio Item revision
• item_clone.pf - Clone (make a copy of) a Podio Item
• item_share.pf - Share a Podio Item with an external user
• item_unshare.pf - UnShare a Podio Item with an external user
• podio_item_delete.pf - Delete a Podio item
• get_item_user_profile.pf - Get the Podio profile data of an Item's contact
• get_item_recent_diff.pf - Get the changes in the most recent revision of a Podio Item
Tasks
• podio_item_tasks_get.pf - Get all Tasks on a Podio item
• podio_task_delete.pf - Delete a Podio task
Widgets / Reports
• report_get_single.pf - Get the value of a single-value report tile
• report_get_detail.pf - Get the values of a table-style report tile
• home_widget_create.pf - Create a new Widget / Tile on your Home stream
• space_widget_create.pf - Create a new text Widget / Tile on any Space, including Employee Network spaces
• update_widget.pf - Update a Podio Text Widget / Tile
Workspaces
• podio_space_get_raw.pf - Get the full payload of a Podio Workspace as a JSON object
• space_add_user.pf - Add a new user to a Podio workspace
• space_remove_user.pf - Remove a user from a Podio workspace
• create_space.pf - Create a new Workspace in a Podio Org
• space_settings_get.pf - Get the settings of a Workspace
• space_settings_set.pf - Change the settings of a Workspace
• install_app.pf - Install App or App Pack from App Market into a Workspace
Organizations
• podio_orgs_get_raw.pf - Get all the user's Podio Organizations and Workspaces
Files
• search_item_files.pf - Find all files on a Podio item matching a search pattern
• file_upload.pf - Upload a remote file by url to a Podio item
• text_file_create.pf - Create a new text file and attach it to a Podio item
• podio_item_files_copy.pf - Copy files matching pattern from one Podio Item to another Podio Item
• podio_file_upload.pf - Upload an existing Podio file to another Podio item
• image_files_to_image_field.pf - Copy images attached as files to a Podio Item to an image field on that Item
• comment_files_to_item.pf - Copy all files from a Podio Comment to the Item
• podio_files_delete.pf - Delete Podio files matching pattern from a Podio Item
• podio_files_to_google.pf - Copy files matching pattern on a Podio Item from Podio to Google Drive
• item_google_files_share.pf - Share an Item's file(s) hosted in Google Drive
• podio_files_print_google.pf - Print file(s) matching pattern from a Podio Item via Google Cloud Print
Users
• get_item_user_profile.pf - Get the Podio profile data of an Item's contact
• get_item_task_user_profile.pf - Get the Podio profile data of an Item's Task's assigned-to user
• get_user.pf - Get details of a Podio user
• get_user_profile.pf - Get the Podio profile data of a user
Web
• webpage_text_regex.pf - Gets a web page url, converts it to text, and then performs a given regex match
• webpage_html_regex.pf - Gets a web page url as html, and then performs a given regex match
• remote_curl.pf - Remote curl to server using POST PUT PATCH DELETE etc
• distance_between_addresses.pf - Get the distance in meters between 2 addresses
• podio_files_to_google.pf - Copy files matching pattern on a Podio Item from Podio to Google Drive
• podio_files_print_google.pf - Print file(s) matching pattern from a Podio Item via Google Cloud Print
• item_google_files_share.pf - Share an Item's file(s) hosted in Google Drive
• google_docs_create.pf - Create a new Google Docs Document, Sheet, etc
• google_doc_getas_html.pf - Get the HTML version of a Google Docs Doc on an Item
• google_new_folder.pf - Create a new Google Drive Folder
• google_new_team_folder.pf - Create a new Google Team Drive Folder
Xero
• xero_api_get_raw.pf - Make a raw GET request to the Xero API as per the API reference
• xero_api_post_raw.pf - Make a raw POST request to the Xero API as per the API reference
oAuth API Services
• api_get_login_link.pf - Get the login link for a user to authenticate to an API
• api_user_urls_set.pf - Set override success and fail login urls for a particular user
• api_user_token_status.pf - Get the details of a user's auth token status
• api_get_user.pf - Get the details of a user via an API
• api_make_request.pf - Make an API request for a user via an API and capture the response
Miscellaneous
• find_in_json.pf - Finds a key in JSON encoded text
• markdown_to_html.pf - Converts markdown formatted text to html
• array_diff_new.pf - Given 2 JSON arrays, returns an array of items that were added
• array_diff_del.pf - Given 2 JSON arrays, returns an array of items that were removed
• array_diff_same.pf - Given 2 JSON arrays, returns an array of items that are in both
How to use ProcFu?
The reason why ProcFu can be used without writing any code is because it works seamlessly with GlobiFlow. The advantage of it being created by the same person.
All you have to do is add the Action item called ProdFu.


and finally just provide the field values.

Yes the POST Params field is a bit overwhelming if you aren't use to those types of things. Sure you could figure it out, but why should you have to if you don't need too?
To make life easier, Andreas created a Chrome Browser extension that will autofill out the parameter field once you select which ProcFu script to run. All you have to do then is replace the parameter values with what you want.
Let me explain what each field represents just in case you are not sure.

Header(s) - This is your ProcFu authorization code. The Chrome Extension fills this in for you, with out it you would have to do this yourself. The Code can be gotten in your ProdFu account settings page. It is blurred out here because you should not share it with anyone.
Variable Name (prodfu) - Defaulted to just "procfu", this is what catches the returned data you get from executing the script. You can name it what ever you like. You'll refer to that name in later GlobiFlow Actions.
From Url - This is the script you will be executing in Url format. the https://prodfu.com/exe/ part will be the same for all scripts I believe, so you'll just have to change the last section to the desired script. If you are using the Chrome Extension this field will get filled out for you once you select the Script you want to run.
** To see more information about the script (and a demo) you can click the green Info button on the right side of the field.
POST Params - Each script requires you to pass along some information and this is where you do that. It must follow a specific format (param1name=value&param2name=value&param3name=value&...). The Chrome Extension will provide the correct parameter string for you.
Use Case #1
Distance between AddressesThere are a ton of things you can do with ProcFu. One of which is getting the distance between 2 addresses. I like to use this to quickly show me how far a property is from my home. I use that to plan out trips to see houses.
Here is how I do it using Podio, Globiflow and ProcFU.
You can see more information about this script and even test it out here here...Script Testing
Podio Setup
Step #1: Add Number Field
Drag a Number Field to the desired location in your App Form. Then give it the name "Distance".

Step #2: Set Field Properties
Set to allow 2 Decimal Places

GlobiFlow Setup
Step #1: Add New Flow
You'll first have to select the App you want to create the flow for, then from there you can Add Flow.

Step #2: Select Item Created Trigger
We want this flow to run anytime a new lead gets added. So we want an Item Created trigger.

Step #3: Name Flow
Give Flow a Name and Description by editing the fields in the upper left of the Flow window. I called it "Determine Distance".

Step #4: Add Variable
Add a Custom Variable/Calc action and call it MyAddress and enter your address as the value.

Step #5: Add Variable
Add a Custom Variable/Calc and call it ApiKey and enter your Google Maps API Key. (get api key)

Step #6: Add ProcFU Action
If the ProdFU action does not show up, you may need to add the Chrome Extension first.

Step #7: Select ProcFU Script
We will be selecting the Distance_Between_Addresses.pt script.

Step #8: Set Param Values
In the POST Params field, replace the parameter values with the variable names like so.
I also changed the Variable Name from "procfu" to "Distance"

Note: You must select the variables from the token select list that you access by clicking on the icon to the right of the field. Typing in or copying and pasting may not work.
address1=[(Variable) MyAddress]&address2=[(Item) Address]&google_maps_api_key=[(Variable) ApiKey]Step #9: Add Update Item Action
We will use this to update the Podio Item's Distance field with the value gotten from the ProcFU script.
Note: The ProdFu Script returns distance in Meters, so we have to convert it to miles (1 Meter = 0.000621371 Miles). I also like to round it to 2 decimal places.

Field => Distance
Value => round([(Variable) Distance] * 0.000621371,)
Step #10: Save
You are all set! Just save it and then go add a new lead in Podio to test it out.


What I Like...and Don't Like
Just like all tools there are some good things about ProcFU and some bad things. Below is a list of each.
What I Like
- Gives a GlobiFlow user direct access to many Podio API beyond the Flow Actions
- Handles the authentications that is required for using the Podio API.
- No need for coding to use Podio API
- Has it's own Globiflow Flow Action.
- Chrome Extension is great a simplifies the use.
- Actively being added too. For example the Xero scripts were added as I was writing this blog post.
- Google APIs (Maps, Docs and more)
- It's not free, but affordable
- Has a Podio Community Workspace you can join.
What I don't Like
- Tutorials and Help Docs could be a bit better.
- Must have Google Chrome Browser to use Extension
- Parameter field values are not "dumbed down". Meaning you still have to follow the Podio API's rules for passing them in. Some fields like category fields you need to pass in an Array of values. Not easy for someone who is not technical.
My Final Thoughts
I'll get this out of the way quickly...I am a fan! The tool seems to be in the early stages and will improve for sure. You do need to have some technical skills to understand and use to the fullest extent. BUT it would not be hard to follow someone's example and duplicate what someone else has done.
If you are proficient in GlobiFlow you should be able to use ProcFU no problem at all. I am very interested in seeing where Andreas can take this tool. It's possible he could add scripts to interact with many other 3rd party tools. He probably won't add things specific to real estate investors, but for sure he will add scripts that we can leverage in the future.
As time goes on and I use this tool more I'll post some tutorials on some of my setups. I love tools that have potential and allow me to think outside the box. This is certainly one of those.
To learn more, head on over to ProcFu at http://procfu.com/
- Suspended From YouTube – for no reason - April 11, 2022
- Make Calls and Send Texts in Podio using smrtPhone - April 26, 2019
- Email Marketing with Podio and ConvertKit: Dealing with Unsubscribes - February 27, 2019
Comments 2
I love your blog. So lovely lovely post!
Hi Scott – do you know if you can export comments from all the items in a podio workspace into a CSV? I’m wondering if you could use podio_item_copy_comments.pf somehow?