Summary
Klaviyo Profiles can be transferred into iPaaS.com as Customer records through scheduled polling, with on-demand Manual Sync available for individual profiles. Two standalone mapping collections cover this inbound flow: an Add collection that creates the iPaaS.com Customer the first time a profile is seen, and an Update collection that applies later changes to a Customer that already exists. The integration keeps iPaaS.com Customer identity current so downstream systems hold up-to-date donor and customer details.
ID Format
When transferring a single profile on demand from the iPaaS.com Manual Sync page, enter the Klaviyo Profile ID as the record identifier. This is the internal identifier Klaviyo assigns to each profile.
The expected format is the Klaviyo Profile ID on its own, for example:
01H8TVABCDEF1234567890
Older profiles may carry a shorter numeric identifier, for example 44552. Either form is the value Klaviyo returns for the profile, and it uniquely identifies one profile.
External ID Format
After a profile is transferred, iPaaS.com saves the Klaviyo Profile ID as the external ID on the linked iPaaS.com Customer. This is the value the integration uses to match the same profile to the same Customer on later polls and Manual Syncs, so the external ID is the Klaviyo Profile ID, for example 44552.
Deleted Record Support
Outbound delete is not supported for the Profile entity. Deleting a profile in Klaviyo, or removing a record on either side, does not propagate a delete through this integration: no delete mapping is included in the default templates, and the integration does not call a delete endpoint for the Customer entity. Subscribers who need to remove a Customer in a downstream system should manage that removal in that system directly.
Custom Field Support
The Add collection maps two Klaviyo profile values into iPaaS.com custom fields as delivered:
A marketing-consent value, read from the profile's email marketing subscription details.
A "Last active" value, read from the profile's custom properties.
Subscribers can add or adjust custom-field mappings on either collection to carry additional Klaviyo profile properties into iPaaS.com. The Update collection maps no custom fields as delivered; a subscriber who wants Klaviyo to control additional Customer values can add mappings to the Update collection that point at Klaviyo profile properties.
Mapping Collection Status
Status
Both collections are Enabled.
Trigger Events
Inbound transfers are triggered by polling. The integration polls Klaviyo on its schedule for profiles modified since the last successful poll and transfers each changed profile into iPaaS.com. Klaviyo does not send change webhooks to the integration, so polling is the automatic path that keeps iPaaS.com current. A single profile can also be triggered on demand through Manual Sync.
Duplicate or Conflicting Mappings
The Add and Update collections are intentionally split so the two stages of the inbound flow do not conflict.
Add Klaviyo Profile TO iPaaS.com sets the Customer's values at creation time, the first time a profile is seen in iPaaS.com.
Update Klaviyo Profile TO iPaaS.com applies later changes to a Customer that already exists. As delivered, every field in the Update collection is mapped to carry forward the Customer's existing iPaaS.com value rather than pull from Klaviyo, so a profile that flows through both collections is created by Add and then left unchanged by Update until a subscriber remaps a field in the Update collection to a Klaviyo source.
When a Klaviyo profile matches an existing iPaaS.com Customer by email address, the integration links the existing Customer automatically rather than creating a duplicate; if no email match is found, a phone-number match is attempted before a new Customer is added. Collision handling is not configurable for this entity, so there are no subscriber-selectable conflict-resolution methods to set on either collection.
Supported Child Collections
The Profile's address is handled by a separate child collection in each direction, documented on its own. See Klaviyo to iPaaS.com Profile Address Mapping Documentation for the field mapping tables, filter, and duplicate-address behavior of the address child collections.
Parent Collection: Add Klaviyo Profile TO iPaaS.com — Child Collection: Add Klaviyo Profile Address TO iPaaS.com. Transfers the profile's address as an iPaaS.com Customer Address record when the profile carries a complete address.
Parent Collection: Update Klaviyo Profile TO iPaaS.com — Child Collection: Update Klaviyo Profile Address TO iPaaS.com. Updates the Customer's address from the profile's address details when the profile carries a complete address.
Klaviyo holds at most one address per profile, so each address child collection transfers one Customer Address per profile.
System Caveats
Klaviyo Caveats
Phone-as-customer-number fallback: The customer number is sourced from the profile's phone number. When a profile has no phone number, the customer number is set to "N/A" so the required iPaaS.com field is always populated. Subscribers who key Customers on a different value should remap the customer number accordingly.
Single address per profile: Klaviyo holds at most one address per profile, so the address child collection transfers one Customer Address per profile.
No change webhooks: Klaviyo does not send change webhooks to the integration, so inbound profile changes reach iPaaS.com on the polling schedule or through Manual Sync rather than instantly.
iPaaS.com Caveats
Required fields: The iPaaS.com Customer record requires an email address and a customer number on every record. The Add collection maps the email address from the profile's email and the customer number from the profile's phone number (with the "N/A" fallback) so both required fields are always populated.
Email uniqueness: iPaaS.com enforces uniqueness on the Customer email address within a company. If two Klaviyo profiles share an email address, the second resolves to an update of the existing iPaaS.com Customer rather than a new record.
Integration-Specific Caveats
Value preservation on update: As delivered, every field in the Update collection is mapped to carry forward the Customer's existing iPaaS.com value, so a routine update leaves the Customer's identity fields unchanged. This is intentional: it lets the Add collection establish a Customer's values while keeping later inbound updates from overwriting them. To have Klaviyo drive a specific field, remap that field in the Update collection to the corresponding Klaviyo profile source.
Email-driven matching on update: The Customer the Update collection writes to is the one matched by email address, so remapping the email field to a Klaviyo source that differs from the existing value can change which Customer is matched.
Integration Flow
The integration polls Klaviyo on its schedule for profiles modified since the last successful poll, or a subscriber triggers a single profile on demand from the Manual Sync page by entering the Klaviyo Profile ID.
For each profile, the integration retrieves its identity details, including name, email address, phone number, organization, marketing-consent details, and address.
The integration matches the profile to an existing iPaaS.com Customer by email address. If no email match is found, a phone-number match is attempted.
If a matching Customer is found, the Update collection applies; as delivered, it preserves the Customer's existing iPaaS.com values. If no match is found, the Add collection creates a new iPaaS.com Customer from the profile's values.
The Klaviyo Profile ID is saved as the external ID on the linked iPaaS.com Customer for future matching.
When the profile carries a complete address (Address1, City, and Country all present), the address child collection transfers the address as a Customer Address record. The duplicate-address control prevents a second identical address from being added. See the Profile Address Mapping Documentation for details.
Mappings
The orientation of each table is inbound: the source is the Klaviyo profile and the destination is the iPaaS.com Customer.
Add Klaviyo Profile TO iPaaS.com
This collection creates an iPaaS.com Customer from a Klaviyo profile, writing the profile's name, email, phone, organization, and selected marketing details onto a new Customer record.
Mapping Type | Source Field (Klaviyo) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| EmailAddress | Required. Maps the profile's email address onto the Customer. iPaaS.com requires an email address on every Customer and enforces email uniqueness within a company, so this value is what links a Klaviyo profile to a single iPaaS.com Customer. |
Dynamic Formula |
| CustomerNumber | Required. Maps the profile's phone number onto the Customer's customer number, falling back to "N/A" when the profile has no phone number, so the required iPaaS.com field is always populated. |
Dynamic Formula |
| FirstName | Recommended. Maps the profile's first name so downstream systems can address the customer by name. |
Dynamic Formula |
| LastName | Recommended. Maps the profile's last name, for the same reason. |
Dynamic Formula |
| Company | Recommended. Maps the profile's organization onto the Customer's company value, used when organization data is needed downstream. |
Dynamic Formula |
| Consent (custom field) | Optional. Reads the marketing-consent value from the profile's email marketing subscription details and writes it to a Customer custom field. If the value is absent, the transfer continues without it. |
Dynamic Formula |
| C5_Custom_Customer (custom field) | Optional. Reads the "Last active" value from the profile's custom properties and writes it to a Customer custom field only when the value is present and non-empty. |
Update Klaviyo Profile TO iPaaS.com
This collection applies later changes to a Customer that already exists in iPaaS.com. As delivered, every field is mapped to carry forward the Customer's existing iPaaS.com value rather than pull from Klaviyo, so a routine update preserves the Customer's identity fields. To let Klaviyo control a particular value, remap that field to the corresponding Klaviyo profile source.
Mapping Type | Source Field (Klaviyo) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| EmailAddress | Required. As delivered, carries forward the Customer's existing email address rather than overwriting it from Klaviyo. iPaaS.com requires an email address on every Customer and enforces email uniqueness within a company; this is the value that matches the profile to the Customer. |
Dynamic Formula |
| CustomerNumber | Required. As delivered, carries forward the Customer's existing customer number. iPaaS.com requires a customer number on every record. |
Dynamic Formula |
| FirstName | Recommended. As delivered, carries forward the Customer's existing first name. |
Dynamic Formula |
| LastName | Recommended. As delivered, carries forward the Customer's existing last name. |
Dynamic Formula |
| Company | Recommended. As delivered, carries forward the Customer's existing company value. |
Dynamic Formula |
| Comment | Optional. As delivered, carries forward the Customer's existing comment value. |
Error Handling
"An email address is required" — The iPaaS.com Customer record requires an email address, and a profile reached this collection without one. Resolution: ensure each Klaviyo profile carries a valid email address before it is transferred; a profile with no email cannot create or match an iPaaS.com Customer.
"A customer number is required" — The iPaaS.com Customer record requires a customer number. The Add collection populates this from the profile's phone number and falls back to "N/A" when no phone number is present, so this error indicates the fallback was removed or remapped. Resolution: restore a customer-number mapping that always produces a value, or supply a phone number on the profile.
"Email address already exists" — Another iPaaS.com Customer in the company already uses this email address. iPaaS.com enforces email uniqueness within a company, so the integration links the profile to the existing Customer and applies an update rather than creating a duplicate. Resolution: none is required for normal operation; this is the expected matching behavior.
Klaviyo temporarily unavailable — If the Klaviyo API is temporarily unavailable when a profile transfer runs, the transfer fails. The error appears in iPaaS.com Dashboard / Integration Monitoring / Error Logs. Resolution: retry the affected profile through Manual Sync, or wait for the next poll.
Testing & Validation
Test Scenarios
Create a new profile (Add): Create a profile in Klaviyo with an email address, phone number, name, and organization, then run a poll or Manual Sync. Expected outcome: a new iPaaS.com Customer is created with the mapped values, and the Klaviyo Profile ID is saved as the Customer's external ID.
Update an existing profile (Update): Change a field on a profile that already corresponds to an iPaaS.com Customer, then run a poll or Manual Sync. Expected outcome (as delivered): the Customer's identity fields are preserved, because the Update collection carries forward existing iPaaS.com values. After remapping a field in the Update collection to its Klaviyo source, the same test should propagate that field's change.
Required field validation: Remove the email mapping (or transfer a profile with no email), then attempt a sync. Expected outcome: the transfer fails with a required-field error, and no Customer is created or updated.
ID format: Run a Manual Sync using a known Klaviyo Profile ID in the documented format. Expected outcome: the single profile transfers successfully and links to the correct iPaaS.com Customer.
Email matching: Transfer a profile whose email matches an existing iPaaS.com Customer. Expected outcome: the existing Customer is linked and updated rather than duplicated.
Phone-as-customer-number fallback: Transfer a profile with no phone number through the Add collection. Expected outcome: the Customer's customer number is set to "N/A" and the required field is satisfied.
Address child collection: Create or update a profile with a complete address (Address1, City, and Country present) and verify the address transfers as a Customer Address record. See the Profile Address Mapping Documentation for the address child test steps.
Validation Checklist
Email address present, valid, and unique within the company.
Customer number populated, with the "N/A" fallback in place for profiles without a phone number.
First name, last name, and company populated where available (recommended).
Klaviyo Profile ID saved as the iPaaS.com Customer external ID after transfer.
Add collection used for new profiles; Update collection used for profiles that already correspond to an iPaaS.com Customer.
Update collection preserves existing iPaaS.com values as delivered; any field intended for Klaviyo control has been deliberately remapped.
Both mapping collections set to Enabled.
Address child collection verified separately per the Profile Address Mapping Documentation.
Additional Notes
Inbound transfers depend on polling because Klaviyo does not send change webhooks to the integration. Changes reach iPaaS.com on the polling schedule or through Manual Sync rather than instantly. This reflects the Klaviyo platform's design at the time this documentation was written.
The Add and Update collections are deliberately separated so that iPaaS.com can remain the source of truth for identity fields after creation. Subscribers who want Klaviyo to control specific fields on update should remap those fields in the Update collection rather than the Add collection.
