Skip to main content

Podium Mapping Functions

Reference for the Podium-specific functions you can use in Dynamic Formula mappings and mapping collection filters.

Overview

The Podium integration provides a set of ready-made functions you can call when building mappings. They handle common lookups and conversions for Podium, such as finding a customer's name, email, or identifier by ID or email, resolving location UIDs and names, formatting a phone number to Podium's expected format, and reading values from attribute and object lists, so you don't have to write that logic yourself.

Where you can use these functions

These functions are available anywhere you write a formula for the Podium integration:

  • Dynamic Formula mappings: where a destination field's value is produced by a formula rather than mapped directly from a source field.

  • Mapping collection filters: where a formula decides whether a record should be processed.

  • Error filters: a mapping collection's error filter, which sits alongside its collection filter. When the error filter's formula resolves to true, the transfer raises an error that is held in the Error Logs for review and is not retried automatically.

  • Translation collections: where a translation entry uses a formula as its source value.

How to use them

  • Call a function by name and pass the values it needs in parentheses, for example: await GetCustomerNameByEmailAddress(emailAddress).

  • Each function's signature shows its name, the parameters it accepts (with their types), and the type of value it returns. Use it as the reference for exactly how to call the function.

  • Function names and formula syntax are case-sensitive, so type each name exactly as shown. Whether the values a function matches are treated as case-sensitive varies by function, and is called out in the relevant parameter's description.

  • Some of these functions are asynchronous (their signature returns a Task) and must be called with await; the rest are synchronous and are called directly. Each function's How to call it example shows the correct form.

  • Optional parameters are marked in the parameter table, along with the value used when you omit them.

  • Each function runs at sync time, against the data in your connected Podium account and your iPaaS.com subscription.

The functions are grouped below by the area of the integration they support.

Customers

Use these to resolve a Podium customer's name, email, or identifier.

GetCustomerNameByCustomerId

What it does: Returns a Podium customer's name for a given iPaaS.com customer ID, by resolving the customer's Podium identifier and reading the Podium record. Returns nothing if no match is found or the customer has no name.

Signature: Task<string> GetCustomerNameByCustomerId(string Id)

How to call it: await GetCustomerNameByCustomerId(Id)

Parameter

Type

Required

Default

Description

Id

string

Yes

N/A

The iPaaS.com customer ID whose Podium customer name you need.

Returns: string. The Podium customer's name, or nothing if no match is found.

Example: await GetCustomerNameByCustomerId("12345") returns the Podium customer's name, for example "John Doe".

When to use it: When mapping to Podium and you have the iPaaS.com customer ID but need the customer's Podium name.

GetCustomerNameByEmailAddress

What it does: Returns a Podium customer's name for a given email address. Returns nothing if no customer matches or the customer has no name.

Signature: Task<string> GetCustomerNameByEmailAddress(string emailAddress)

How to call it: await GetCustomerNameByEmailAddress(emailAddress)

Parameter

Type

Required

Default

Description

emailAddress

string

Yes

N/A

The iPaaS.com customer email address to look up in Podium.

Returns: string. The Podium customer's name, or nothing if no customer matches.

Example: await GetCustomerNameByEmailAddress("test@example.com") returns the Podium customer's name, for example "Jane Doe".

When to use it: When you have a customer's email and need their Podium name.

GetCustomerEmailByCustomerId

What it does: Returns a Podium customer's first email address for a given iPaaS.com customer ID, by resolving the customer's Podium identifier and reading the Podium record. Returns nothing if no match is found or the customer has no email.

Signature: Task<string> GetCustomerEmailByCustomerId(string Id)

How to call it: await GetCustomerEmailByCustomerId(Id)

Parameter

Type

Required

Default

Description

Id

string

Yes

N/A

The iPaaS.com customer ID whose Podium email you need.

Returns: string. The Podium customer's first email address, or nothing if no match is found.

Example: await GetCustomerEmailByCustomerId("12345") returns the customer's first Podium email, for example "test@example.com".

When to use it: When mapping to Podium and you have the iPaaS.com customer ID but need the customer's Podium email.

GetCustomerIdentifierByEmailAddress

What it does: Returns a Podium customer's external identifier for a given email address. Returns nothing if no customer matches.

Signature: Task<string> GetCustomerIdentifierByEmailAddress(string emailAddress)

How to call it: await GetCustomerIdentifierByEmailAddress(emailAddress)

Parameter

Type

Required

Default

Description

emailAddress

string

Yes

N/A

The iPaaS.com customer email address to look up in Podium.

Returns: string. The Podium customer external identifier, or nothing if no customer matches.

Example: await GetCustomerIdentifierByEmailAddress("test@example.com") returns the Podium customer identifier, for example "EXT-12345".

When to use it: When you have a customer's email and need their Podium external identifier.

Locations

Use these to resolve Podium location UIDs and names.

GetLocationsFromNameOrId

What it does: Looks up Podium locations by name or ID and returns their unique identifiers (UIDs). Returns nothing if no location matches.

Signature: Task<List<string>> GetLocationsFromNameOrId(List<string> locationsIdOrName)

How to call it: await GetLocationsFromNameOrId(locationsIdOrName)

Parameter

Type

Required

Default

Description

locationsIdOrName

List<string>

Yes

N/A

The list of Podium location names or IDs to look up.

Returns: List<string>. The Podium location UIDs for the matching locations, or nothing if none match.

Example: await GetLocationsFromNameOrId(new List<string> { "Test A location" }) returns the UIDs of the matching Podium locations.

When to use it: When mapping to Podium and you need the location UIDs for a set of location names or IDs.

GetLocationNamesFromLocationObject

What it does: Takes a list of Podium location objects, reads their UIDs, looks up each location name, and joins the names into a single string. Returns nothing if the input is empty or no names are found.

Signature: Task<string> GetLocationNamesFromLocationObject(object listOfObject, string uidSeparator = "|")

How to call it: await GetLocationNamesFromLocationObject(listOfObject)

Parameter

Type

Required

Default

Description

listOfObject

object

Yes

N/A

The list of Podium location objects to read UIDs from.

uidSeparator

string

No

"|"

The separator used to join the location names.

Returns: string. The location names joined by the separator, or nothing if none are found.

Example: await GetLocationNamesFromLocationObject(locations, ",") returns a value such as "New York,Los Angeles,Chicago".

When to use it: When mapping a set of Podium locations to a single string of their names.

Phone Numbers

Use this to prepare a phone number in Podium's expected format.

GetPodiumFormattedPhoneNumber

What it does: Formats a raw phone number into Podium's expected international format by removing non-digit characters and applying country-code rules (supports the US, UK, Canada, Australia, Ireland, and New Zealand). Returns nothing if the number cannot be formatted.

Signature: string GetPodiumFormattedPhoneNumber(object phone_number)

How to call it: GetPodiumFormattedPhoneNumber(phone_number)

Parameter

Type

Required

Default

Description

phone_number

object

Yes

N/A

The raw iPaaS.com customer phone number (may include punctuation).

Returns: string. The phone number in Podium's international format (prefixed with +), or nothing if it cannot be formatted.

Example: GetPodiumFormattedPhoneNumber("+13015377411") returns "+13015377411".

When to use it: When mapping a phone number to Podium and you need it in Podium's expected format.

Attributes and Lists

Use these to read values from attribute lists and to join UIDs from a list of objects.

GetAttributesByLabel

What it does: Finds an attribute in a list by its label and returns the requested field's value from it. Returns nothing if the label or field is not found.

Signature: object GetAttributesByLabel(object listOfAttributes, string requestedLabel, string requestedField = "Value")

How to call it: GetAttributesByLabel(listOfAttributes, requestedLabel)

Parameter

Type

Required

Default

Description

listOfAttributes

object

Yes

N/A

The list of attributes to search.

requestedLabel

string

Yes

N/A

The label to find in the list. The match is not case-sensitive.

requestedField

string

No

"Value"

The field to read from the matched attribute (for example "uid" or "Value"). The match is not case-sensitive.

Returns: object. The requested field's value from the matched attribute, or nothing if the label or field is not found.

Example: GetAttributesByLabel(listOfAttributes, "Birthday", "uid") returns the uid of the Birthday attribute, for example "12345".

When to use it: When mapping a value from a labeled attribute in a Podium contact's attribute list.

GetUidsFromListOfObject

What it does: Reads the UID from each object in a list and joins the UIDs into a single string. Returns nothing if the list is empty or has no UIDs.

Signature: string GetUidsFromListOfObject(object listOfObject, string uidSeparator = "|")

How to call it: GetUidsFromListOfObject(listOfObject)

Parameter

Type

Required

Default

Description

listOfObject

object

Yes

N/A

The list of objects to read UIDs from.

uidSeparator

string

No

"|"

The separator used to join the UIDs.

Returns: string. The UIDs joined by the separator, or nothing if there are none.

Example: GetUidsFromListOfObject(listOfObject, ",") returns a value such as "123,456,789".

When to use it: When mapping a set of objects to a single string of their UIDs.

Related Documents

Did this answer your question?