Connectors

Podio App Items

The Podio App Items connector is used to connect to Podio Application Items to read and write new items.

Connection

Podio Connection

The preferred way to connect to Podio applications is via the Connection Library.

Podio Connection Libaray

App

The Podio App to connect to.

View

A View from the App to use to return the App data, typically this will be All Items however you may want to return a filtered view in certain scenarios.

Silent

The Silent property indicates whether data changes should be reported to the activity stream.

Limit

The number of items to return from Podio in each web request, the smaller this number the more API calls are used. The larger the number the more likely you are to get errors. The default is 250.

DateTimeHandling

Specifies how DateTime values should be handled. If you use Local Timezone DateTime values then you should choose Local rather than UTC.

Choosing local causes data sync to convert Podio UTC values into your local timezone. When updating Podio local will cause your DateTime values to be converted into UTC.

Podio external_id column

The Podio external_id column is used to store an identifier from an external system. It is important that if you plan to synchronise your data back to your source system you use this field to store your source system unique record identifier.

Only this field can be used with incremental sync mode so again it's important to use this field where possible.

Podio Relationships

To set a Podio related column value you need to obtain the item_id of the item you wish to relate, this can be dove via a Lookup function. The Data Type of the Column in the schema map must be System.Int32.

If you need to set multiple items then the schema map data type must be System.Int32[] which is an array of item_id. The Lookup functions cannot return an array of items so you will need to use Dynamic Columns to lookup each item_id individually.

Lookups

You can lookup values in other Apps either via the standard lookup or via the LOOKUPA/B calculated column function.

For example looking up the item_id in the app Simego Ltd/Test/Categories where the external_id = CategoryID.

LOOKUPB("item_id", "Simego Ltd/Test/Categories", WHEN("external_id", CategoryID))

Podio Calculated Column Lookup

Project Automation

From Project Automation you can interact with the Podio API directly via our Helper Methods.

The 'Podio' object

The Podio object provides methods which can be used to call Podio API's from Project Automation.

Call Podio API

The following methods can be used to call a Podio API. These requests have the OAuth token added to the request so that they are authenticated. The Body is the Json message to send for the API call.

dynamic JsonRequest(Uri uri, string method, string body)
dynamic JsonRequest(HttpWebRequest request, string body)

Add a Message to the Workspace Activity Stream

void AddStatusMessage(int spaceID, string message)

For example

DataSourceB.Podio.AddStatusMessage(DataSourceB.AppSpaceID, "Hello from DataSync!");

UpdateSourceRow

The UpdateSourceRow method can be used to update columns on the current Podio Item in Project Automation item events.

These methods are a convenience wrapper around the Podio https://api.podio.com/item/<itemid> HTTP PUT API call.

bool UpdateSourceRow(Dictionary<string, dynamic> fields, object identity);
bool UpdateSourceRow(string json, object identity);

An example using the UpdateSourceRow method in Project Automation AfterUpdateItem event to set a Podio column called Synchronised to equal 1.

public override void AfterUpdateItem(object sender, DataCompareItemInvariant item, object identity)
{
    var fields = new Dictionary<string, object>
    {
        { 
            "fields", new Dictionary<string, object>
			            {
				            { "synchronised", 1 }
			            } 
        }
    };
		
    DataSourceB.UpdateSourceRow(fields, identity);
}