• Tools
Tools
  • Tools
loading...
No Results
  • ActiveCampaign
  • Asana
  • AWS-S3
  • AWS Lambda
  • Appstore
  • Bitbucket
  • Coda
  • Code
  • ConvertKit
  • CSV
  • Crypto
  • Clockify
  • Data Shaping
  • Date & Time
  • Delay
  • DingTalk
  • Discord
  • Dropbox
  • Elastic Security
  • FeiShu
  • Freshdesk
  • Freshservice
  • Freshworks CRM
  • Github
  • Gitlab
  • Google Calendar
  • Google Developer
  • Google Drive
  • Google Gmail
  • Google Sheets
  • Grafana
  • HaloPSA
  • Hacker News
  • Harvest
  • Help Scout
  • Hubspot
  • Intercom
  • Jenkins
  • Kafka
  • MailChimp
  • Microsoft Excel
  • Monday
  • Notion
  • Odoo
  • Ortto
  • Okta
  • Paddle
  • PayPal
  • Pipedrive
  • Qdrant
  • QRCode
  • QuickBooks
  • Redis
  • Segment
  • Search&Crawl
  • ServiceNow
  • Shopify
  • Stripe
  • Text
  • Trello
  • Twilio
  • WooCommerce
  • WordPress
  • Wikipedia
  • Xml
  • Zendesk
  • Zoom
Home > Tools

Ortto

1. Overview

Ortto (formerly Autopilot) is a comprehensive customer data and marketing automation platform that helps businesses manage contacts, accounts, activities, and audiences. The Ortto REST API enables developers to programmatically interact with their Ortto workspace, providing full control over customer data management, activity tracking, and audience segmentation.

Through GoInsight's Ortto(autopilot) node, you can seamlessly integrate Ortto's powerful customer data platform into your automation workflows. You can perform comprehensive customer relationship management operations, including:

  • Managing accounts and people with create, read, update, and delete capabilities.
  • Tracking custom activities and events to monitor customer engagement.
  • Building and managing audiences with advanced filtering and subscription controls.
  • Establishing relationships between people and accounts for B2B workflows.

2. Prerequisites

Before using this node, you will need:

  • An active Ortto account: You must have a valid Ortto (Autopilot) account with access to your workspace.
  • API credentials: You will need to generate API credentials from your Ortto workspace settings.
  • Appropriate permissions: Depending on the operations you want to perform, you may need specific permissions within your Ortto workspace to create and manage API credentials, as well as to perform operations on contacts, accounts, and activities.

3. Credentials

For detailed guidance on how to obtain and configure your Ortto API credentials, please refer to our official documentation: Credentials Configuration Guide.

4. Supported Operations

Summary

This node provides operations across five core resource types: People (contacts), Accounts (organizations), Account-People Relationships, Activities (custom events), and Audiences (segmentation groups). The following table summarizes all supported operations:

Resource Operation Description
People Get People Retrieve detailed contact information from Ortto using contact IDs. Supports batch retrieval of multiple contacts with customizable field selection. Returns comprehensive statistics including contact count, total requested, and detailed contact data with metadata. Maximum 150 field IDs allowed per request.
People Delete People Delete one or more contact records in Ortto using the Ortto REST API. Supports batch operations to delete specified contacts or bulk delete all archived contacts. Note: Contacts must be archived before they can be deleted. Returns deletion counts with proper error handling.
People Find People Retrieve a paginated list of Ortto people using the Ortto REST API. Supports advanced filtering by search queries, field-specific filters, sorting options, and comprehensive pagination controls with cursor-based navigation. Returns detailed contact information with metadata and proper error handling.
People Upsert People Create or update Ortto contact records using advanced merge operations with the Ortto REST API. Supports batch processing of up to 100 contacts with configurable merge strategies, field matching, suppression list handling, alternative field mapping, and both synchronous and asynchronous processing modes. Returns detailed processing statistics and comprehensive error handling.
Account Get Account Retrieve detailed account information from Ortto using account IDs. Supports single or multiple account retrieval with customizable field selection. Returns comprehensive statistics including total, retrieved, and failed counts along with account data and metadata.
Account Delete Account Delete one or more account records in Ortto using the Ortto REST API. Supports deleting specific accounts by ID or bulk deletion of all archived accounts. Note: Accounts must be archived before they can be deleted. Returns deletion counts and request type information with proper error handling.
Account Find Account Find one or more account records in Ortto using the Ortto REST API. Supports pagination, search, sorting and filtering operations. Can search accounts by name, ID or custom filter conditions with comprehensive pagination controls and metadata information.
Account Upsert Accounts Create or update Ortto account records using merge operations with the Ortto REST API. Supports batch processing of up to 100 accounts with configurable merge strategies, field matching, and both synchronous and asynchronous processing modes. Returns detailed processing statistics and proper error handling.
Account-People Relationship Add People to Account Add people to an Ortto account using the Ortto REST API. Supports adding contacts by providing either a list of person IDs or filter conditions for batch operations. Each contact can only be associated with one account, and existing associations will be automatically transferred. Includes comprehensive parameter validation and error handling.
Account-People Relationship Remove People from Account Remove one or more contacts from an Ortto account using the Ortto REST API. Supports removal by contact ID list or filter conditions for batch operations. Each contact can only be associated with one account, and the removal operation will disassociate contacts from the specified account. Either InclusionIds or FilterData must be provided, but not both.
Activity Create Activities Create a custom activity definition in Ortto using the Ortto REST API. Supports configuring activity icons, conversion value tracking, touch updates, filtering capabilities, feed visibility, display styles, and custom attributes. Returns detailed activity information including creation status and configuration details.
Activity Create Activities Event Create custom activity events in Ortto using the Ortto REST API. Supports batch processing of up to 100 activities with flexible merge strategies for contact records. Activities can be processed synchronously or asynchronously, and can create new contacts or associate with existing ones. Includes comprehensive validation, error handling, and detailed processing statistics.
Audience Find Audiences Retrieve a paginated list of Ortto audiences using the Ortto REST API. Supports searching by name, filtering by various conditions (archived, retention), and comprehensive pagination controls. Returns detailed audience information including member counts, subscription status, and metadata with proper error handling.
Audience Subscribe Audiences Subscribe or unsubscribe contacts to Ortto audiences using the Ortto REST API. Supports email subscription (subscribed) and SMS subscription (sms_opted_in) status management with both synchronous and asynchronous processing modes. Returns detailed processing statistics and proper error handling.

Operation Details

Get People

Retrieve detailed contact information from Ortto using contact IDs. Supports batch retrieval of multiple contacts with customizable field selection. Returns comprehensive statistics including contact count, total requested, and detailed contact data with metadata. Maximum 150 field IDs allowed per request.

Input Parameters:

  • ContactIds: Contact IDs to retrieve as JSON array string, e.g., '["0066cc4c16dfd264d0e99b00", "00668d816ce2d34c550fe300"]'. Each ID is a unique identifier for a contact in the Ortto system.

Options:

  • Fields: Comma-separated string of fields to return, e.g., "str::email, str::first, str::last". Default returns email, first name, last name, and id fields. Maximum 150 field IDs allowed.

Output:

  • ContactCount (number): Number of contacts successfully retrieved.
  • TotalRequested (number): Total number of contact IDs requested.
  • Contacts (object-array): Array of contact objects with detailed information for each successfully retrieved contact, including id and fields data.
  • Meta (object): Metadata information including statistics and additional details from the API response.
  • StatusCode (number): HTTP status code: 200 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Delete People

Delete one or more contact records in Ortto using the Ortto REST API. Supports batch operations to delete specified contacts or bulk delete all archived contacts. Note: Contacts must be archived before they can be deleted. Returns deletion counts with proper error handling.

Options:

  • InclusionIds: Comma-separated string of contact IDs to delete. Example: "00609384fa6de6e7a8d89d01, 00626f6dfba865ba45d9c200". Contact IDs can be obtained through get interface or by viewing contact profile page URL in Ortto app.
  • ExclusionIds: Comma-separated string of contact IDs to exclude. Example: "006281d8ff95c3ed70b70800, 00641a4bba87757d86750f00". Used with all_rows_selected to exclude specific contacts.
  • AllRowsSelected: Whether to bulk delete all archived contacts. True: delete all archived contacts (can be used with exclusion_ids). False: only delete contacts specified in inclusion_ids.

Output:

  • ScheduledContacts (number): Number of contacts scheduled for deletion.
  • DeletedContacts (number): Number of contacts already deleted.
  • TotalRequested (number): Total number of contacts requested for deletion.
  • StatusCode (number): HTTP status code: 200/201/202 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Find People

Retrieve a paginated list of Ortto people using the Ortto REST API. Supports advanced filtering by search queries, field-specific filters, sorting options, and comprehensive pagination controls with cursor-based navigation. Returns detailed contact information with metadata and proper error handling.

Options:

  • Limit: Number of people to return (1-500). Default is 50. Also represents the page length for pagination purposes.
  • SortOrder: Sort order: 'asc' for ascending or 'desc' for descending. Default is 'desc'. Only effective when sort_by_field_id is specified.
  • SortByFieldId: Field ID used for sorting, e.g., 'str::last'. Sort the returned people by the specified person field.
  • Offset: Result set offset. Default is 0. Represents the count of person records for pagination purposes.
  • CursorId: Cursor ID for getting the next page of people. UUID obtained from the previous /v1/person/get request response.
  • Fields: Comma-separated string of fields to return, e.g., "str::first, str::last, str::email". Contains person field ID values defining which person record fields to return. Maximum 150 field IDs allowed.
  • Q: Search query string for filtering person records. Valid text string used to filter the returned person records.
  • TypeFilter: Type filter: '' (default, search all people, can be used with other filters) or 'archived' (search archived people, cannot be used with other filters).
  • FilterJson: Advanced filter conditions as JSON string. Contains field_id objects used to determine how to filter records. Supports AND/OR logical operators and various filter conditions.

Output:

  • Contacts (object-array): A JSON array of contact objects with detailed information about each person.
  • Meta (object): Metadata information including TotalContacts, TotalAccounts, TotalMatches, and TotalSubscribers.
  • Offset (number): Current request offset for pagination.
  • NextOffset (number): Offset for retrieving the next page of people.
  • CursorId (string): Cursor ID for retrieving the next page of people.
  • HasMore (bool): Whether there are more people pages available.
  • StatusCode (number): HTTP status code: 200 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Upsert People

Create or update Ortto contact records using advanced merge operations with the Ortto REST API. Supports batch processing of up to 100 contacts with configurable merge strategies, field matching, suppression list handling, alternative field mapping, and both synchronous and asynchronous processing modes. Returns detailed processing statistics and comprehensive error handling.

Input Parameters:

  • PeopleData: Contact data as JSON string containing contact information to create or update. Each contact object can include fields, location, tags, unset_tags. Example: '[{"fields": {"str::first": "John", "str::last": "Doe", "str::email": "john@example.com"}}]'

Options:

  • AsyncProcessing: Whether to use asynchronous processing. Default is true. True: async processing with immediate confirmation response. False: sync processing waiting for completion.
  • MergeBy: Comma-separated string of fields for matching existing records. Default uses account settings. Example: "str::email" or "str::email, phn::phone". Maximum 3 fields allowed.
  • MergeStrategy: Merge strategy for existing records. Default is 2. 1: Append only (don't overwrite existing values). 2: Overwrite existing data (recommended). 3: Ignore (don't update existing records).
  • FindStrategy: Find strategy when using multiple merge_by fields. Default is 0. 0: Match any field. 1: Use next field only if previous field is empty. 2: All fields must match.
  • SkipNonExisting: Whether to skip non-existing contacts. Default is false. True: Only update existing contacts, don't create new ones. False: Update existing contacts and create new ones.
  • SuppressionListFieldId: Suppression list field ID for skipping suppressed email addresses. Example: 'str::email'. Leave empty to disable suppression checking.
  • MergeByAltFields: Alternative field mapping as JSON string. Example: '{"str::email": ["str:cm:alt-email"]}'. Used for backup field matching when primary fields are empty.

Output:

  • ProcessedCount (number): Number of contacts successfully processed for creation or update.
  • FailedCount (number): Number of contacts that failed to process.
  • TotalCount (number): Total number of contacts in the request.
  • IsAsync (bool): Whether the processing was done asynchronously.
  • Results (object-array): Array of processing results for each contact with status information.
  • StatusCode (number): HTTP status code: 200 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Get Account

Retrieve detailed account information from Ortto using account IDs. Supports single or multiple account retrieval with customizable field selection. Returns comprehensive statistics including total, retrieved, and failed counts along with account data and metadata.

Input Parameters:

  • AccountIds: Account IDs to retrieve, supports single ID or multiple IDs separated by commas. Each ID should be a 24-character hex string.

Options:

  • Fields: Comma-separated string of fields to return, e.g., "str:o:name, str:o:industry, int:o:employees". Default returns name, industry, employees, and id fields.

Output:

  • TotalCount (number): Total number of account IDs queried.
  • RetrievedCount (number): Number of accounts successfully retrieved.
  • FailedCount (number): Number of accounts that failed to retrieve.
  • Accounts (object-array): Array of account objects with detailed information for each successfully retrieved account.
  • Meta (object): Metadata information including statistics and additional details.
  • StatusCode (number): HTTP status code: 200 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Delete Account

Delete one or more account records in Ortto using the Ortto REST API. Supports deleting specific accounts by ID or bulk deletion of all archived accounts. Note: Accounts must be archived before they can be deleted. Returns deletion counts and request type information with proper error handling.

Options:

  • InclusionIds: Comma-separated string of account IDs to delete. Example: "00609384fa6de6e7a8d89d01, 00626f6dfba865ba45d9c200". Account IDs can be obtained through get endpoint or by viewing account profile page URL in Ortto app.
  • ExclusionIds: Comma-separated string of account IDs to exclude. Used with all_rows_selected to exclude specific accounts. Example: "1064349bbcb6452533ae1100, 10625f9b5be9d668ae359500".
  • AllRowsSelected: Whether to bulk delete all archived accounts. True: delete all records in archived accounts list. False: only delete accounts specified in inclusion_ids.

Output:

  • ScheduledAccounts (number): Number of accounts scheduled for deletion (to be deleted).
  • DeletedAccounts (number): Number of accounts already deleted.
  • TotalRequested (number): Total number of accounts requested for deletion.
  • RequestType (string): Request type: 'bulk' or 'specific'.
  • StatusCode (number): HTTP status code: 200/202 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Find Account

Find one or more account records in Ortto using the Ortto REST API. Supports pagination, search, sorting and filtering operations. Can search accounts by name, ID or custom filter conditions with comprehensive pagination controls and metadata information.

Options:

  • CursorId: Cursor ID for pagination, obtained from previous query results. Example: '00609c898a4490c5800a5453'.
  • SortByFieldId: Field ID to sort by. Specifies which account field to sort by. Example: 'str:o:name' (sort by account name).
  • SortOrder: Sort order. Options: 'asc' (ascending) or 'desc' (descending). Default is 'desc'.
  • Fields: Comma-separated string of fields to return. Example: "str:o:name, int:o:employees, str:o:industry". Default returns: str:o:name, str:o:industry, int:o:employees, str:o:id.
  • InclusionIds: Comma-separated string of account IDs to include in search. Example: "10668b9d5c7d7d6dd895e100, 1066276f1272c7d821defc00".
  • ExclusionIds: Comma-separated string of account IDs to exclude from search. Example: "10668b9d5c7d7d6dd895e100".
  • Limit: Number of accounts to return per page. Range: 1-500. Default is 50.
  • Offset: Pagination offset. Default is 0. Used to skip specified number of records.
  • SearchQuery: Search keyword for searching by account name. Example: 'ortto'.
  • AccountType: Account type filter. Options: '' (all accounts), 'account', 'archived_account'. Default is empty string.
  • AccountId: Specific account ID for finding single account. Example: '10626f6df9a865ba45d95300'.
  • FilterConditions: Custom filter conditions as JSON string. Example: '{"$has_any_value": {"field_id": "geo:o:country"}}'.

Output:

  • Accounts (object-array): A JSON array of account objects with detailed information about each account.
  • Meta (object): Metadata information including TotalContacts, TotalAccounts, TotalMatches, and TotalSubscribers.
  • Offset (number): Current query offset for pagination.
  • NextOffset (number): Offset for retrieving the next page of accounts.
  • CursorId (string): Cursor ID for retrieving the next page of accounts.
  • HasMore (bool): Whether there are more account pages available.
  • StatusCode (number): HTTP status code: 200 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Upsert Accounts

Create or update Ortto account records using merge operations with the Ortto REST API. Supports batch processing of up to 100 accounts with configurable merge strategies, field matching, and both synchronous and asynchronous processing modes. Returns detailed processing statistics and proper error handling.

Input Parameters:

  • AccountsData: Account data as JSON string containing account information to create or update. Each account object can include fields, tags, unset_tags. Example: '[{"fields": {"str:o:name": "Company1", "str:o:industry": "SaaS"}}]'

Options:

  • AsyncProcessing: Whether to use asynchronous processing. Default is false. True: async processing with immediate confirmation response. False: sync processing waiting for completion.
  • MergeBy: Comma-separated string of fields for matching existing records. Required parameter. Example: "str:o:name" or "str:o:name, str:o:website". Maximum 2 fields allowed. If using account_id, it must be the only field.
  • MergeStrategy: Merge strategy for existing records. Default is 2. 1: Append only (don't overwrite existing values). 2: Overwrite existing data (recommended). 3: Ignore (don't update existing records).
  • FindStrategy: Find strategy when using 2 merge_by fields. Default is 0. 0: Match any field (when 2 merge_by fields). 1: Use next field only if previous field is empty. No effect when only 1 merge_by field.

Output:

  • ProcessedCount (number): Number of accounts successfully processed for creation or update.
  • FailedCount (number): Number of accounts that failed to process.
  • TotalCount (number): Total number of accounts in the request.
  • IsAsync (bool): Whether the processing was done asynchronously.
  • Results (object-array): Array of processing results for each account with status information.
  • StatusCode (number): HTTP status code: 200 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Add People to Account

Add people to an Ortto account using the Ortto REST API. Supports adding contacts by providing either a list of person IDs or filter conditions for batch operations. Each contact can only be associated with one account, and existing associations will be automatically transferred. Includes comprehensive parameter validation and error handling.

Input Parameters:

  • AccountsId: Target account ID to add people to. The account identifier where contacts will be associated.

Options:

  • InclusionIds: Comma-separated string of person IDs to add to the account, e.g., "00609384fa6de6e7a8d89d01, 006046baa37f2e24cc56f122". Maximum 3000 contacts allowed. Mutually exclusive with FilterData.
  • FilterData: JSON object string for filter conditions to batch add contacts matching criteria, e.g., '{"$str::contains": {"field_id": "str::email", "value": "example.com"}}'. Mutually exclusive with InclusionIds.

Output:

  • Success (bool): Whether the operation was executed successfully.
  • AccountId (string): The target account ID where people were added.
  • ProcessedCount (number): Number of contacts successfully processed (when API returns specific count).
  • Message (string): Operation result description message.
  • StatusCode (number): HTTP status code: 200 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Remove People from Account

Remove one or more contacts from an Ortto account using the Ortto REST API. Supports removal by contact ID list or filter conditions for batch operations. Each contact can only be associated with one account, and the removal operation will disassociate contacts from the specified account. Either InclusionIds or FilterData must be provided, but not both.

Input Parameters:

  • AccountId: The account ID from which to remove contacts. This is a required parameter that can be obtained through GET endpoints or from the account details page URL in the Ortto application.

Options:

  • InclusionIds: Comma-separated string of contact IDs to remove, e.g., "00609384fa6de6e7a8d89d01, 006046baa37f2e24cc56f122". Cannot be used together with FilterData. Either InclusionIds or FilterData must be provided.
  • FilterData: Filter conditions as JSON object string for batch removal of contacts matching criteria, e.g., '{"$str::contains":{"field_id":"str::email","value":"example.com"}}'. Cannot be used together with InclusionIds. Either InclusionIds or FilterData must be provided.

Output:

  • IsSuccess (bool): Whether the operation completed successfully.
  • AccountId (string): The target account ID from which contacts were removed.
  • PeopleRemoved (string-array): List of contact IDs that were successfully removed from the account.
  • Message (string): Descriptive message about the operation result.
  • StatusCode (number): HTTP status code: 200 (success), 401 (unauthorized), 403 (forbidden), 404 (not found), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Create Activities

Create a custom activity definition in Ortto using the Ortto REST API. Supports configuring activity icons, conversion value tracking, touch updates, filtering capabilities, feed visibility, display styles, and custom attributes. Returns detailed activity information including creation status and configuration details.

Input Parameters:

  • Name: Custom activity name. Required parameter. Duplicate names are not allowed.

Options:

  • IconId: Activity icon ID. Available options: calendar-illustration-icon, caution-illustration-icon, clicked-illustration-icon, coupon-illustration-icon, download-illustration-icon, email-illustration-icon, eye-illustration-icon, flag-activities-illustration-icon, happy-illustration-icon, moneys-illustration-icon, page-illustration-icon, phone-illustration-icon, reload-illustration-icon, tag-illustration-icon, time-illustration-icon.
  • TrackConversionValue: Whether to enable conversion value tracking. True: activity can be assigned conversion value. False: conversion value not enabled.
  • Touch: Whether to enable touch updates. True: update associated person's first and last seen times. False: touch updates not enabled.
  • Filterable: Whether to allow filtering. True: users can create filters and generate reports using this activity. False: filtering not allowed.
  • VisibleInFeeds: Whether to display in feeds. True: activity will be displayed in app feeds. False: not displayed in feeds.
  • DisplayStyle: Display style configuration as JSON string. Used to determine how activity is displayed in feeds. Example: '{"type": "activity_attribute", "title": "", "attribute_name": "attr1", "attribute_field_id": ""}'
  • Attributes: Activity attributes configuration as JSON array string. Defines custom attributes for the activity, each attribute contains name, display_type, field_id fields. Example: '[{"name": "attr1", "display_type": "text", "field_id": ""}]'

Output:

  • ActivityId (string): Created activity field ID, empty string if creation failed.
  • ActivityName (string): Activity name.
  • ActivityState (string): Activity state (awaiting_implementation or live).
  • IconId (string): Activity icon ID.
  • TrackConversionValue (bool): Whether conversion value tracking is enabled.
  • Touch (bool): Whether touch updates are enabled.
  • Filterable (bool): Whether filtering is allowed.
  • VisibleInFeeds (bool): Whether activity is visible in feeds.
  • DisplayMode (object): Display mode configuration.
  • Attributes (object-array): Activity attributes list.
  • CreatedBy (string): Creator of the activity.
  • CreatedAt (string): Creation time in ISO 8601 format.
  • EditedAt (string): Last edit time in ISO 8601 format.
  • StatusCode (number): HTTP status code: 200/201 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Create Activities Event

Create custom activity events in Ortto using the Ortto REST API. Supports batch processing of up to 100 activities with flexible merge strategies for contact records. Activities can be processed synchronously or asynchronously, and can create new contacts or associate with existing ones. Includes comprehensive validation, error handling, and detailed processing statistics.

Input Parameters:

  • Activities: Activity data as JSON string containing activities to create. Each activity must include activity_id and can contain attributes, fields, location. Maximum 100 activities, total payload size under 2MB.

Options:

  • MergeBy: Comma-separated string of fields for matching existing contact records, e.g., "str::email" or "str::email, phn::phone". Maximum 2 fields allowed. If not specified, uses account default settings.
  • MergeStrategy: Merge strategy for existing records. 1: Append only (don't overwrite), 2: Overwrite existing data (recommended), 3: Ignore (don't update existing records). Default is 2.
  • AsyncProcessing: Whether to use asynchronous processing. True: Activities will be queued for processing, False: Wait for processing completion before returning results. Default is False.

Output:

  • ProcessedCount (number): Number of activities successfully processed.
  • FailedCount (number): Number of activities that failed to process.
  • TotalCount (number): Total number of activities submitted for processing.
  • IsAsync (bool): Whether the processing was done asynchronously.
  • Activities (object-array): Array of activity processing results with PersonId, ActivityId, Status, and PersonStatus for each activity.
  • StatusCode (number): HTTP status code: 200/201/202 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 413 (payload too large), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Find Audiences

Retrieve a paginated list of Ortto audiences using the Ortto REST API. Supports searching by name, filtering by various conditions (archived, retention), and comprehensive pagination controls. Returns detailed audience information including member counts, subscription status, and metadata with proper error handling.

Options:

  • SearchTerm: Search keyword for filtering audiences by name, e.g., 'subscribers' or 'VIP customers'.
  • WithFilter: Whether to include audience filter conditions in the response. True: include entry condition filters, False: return basic information only.
  • Limit: Number of audiences to return (1-40). Default is 40. Used for pagination.
  • Offset: Pagination offset. Default is 0. Specifies how many audience records to skip for subsequent pages.
  • Archived: Whether to include archived audiences. True: return archived audiences, False: exclude archived audiences.
  • Retention: Whether to return only retention audiences. True: return only retention audiences, False: return all types of audiences.

Output:

  • Audiences (object-array): A JSON array of audience objects with detailed information about each audience including members, subscribers, and metadata.
  • TotalCount (number): Total number of audiences returned in the current response.
  • SearchTerm (string): The search keyword used for filtering audiences.
  • HasMore (bool): Whether there are more audience pages available for pagination.
  • StatusCode (number): HTTP status code: 200 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Subscribe Audiences

Subscribe or unsubscribe contacts to Ortto audiences using the Ortto REST API. Supports email subscription (subscribed) and SMS subscription (sms_opted_in) status management with both synchronous and asynchronous processing modes. Returns detailed processing statistics and proper error handling.

Input Parameters:

  • AudienceId: Audience ID to operate on. Required parameter specifying the target audience.
  • PeopleData: Contact subscription data as JSON string. Each contact object must include email field and subscription status fields (subscribed and/or sms_opted_in). Example: '[{"email": "user@example.com", "subscribed": true, "sms_opted_in": false}]'

Options:

  • AsyncProcessing: Whether to use asynchronous processing. Default is true. True: async processing with immediate confirmation response. False: sync processing waiting for completion.

Output:

  • ProcessedCount (number): Number of contacts successfully processed for subscription status update.
  • FailedCount (number): Number of contacts that failed to process.
  • TotalCount (number): Total number of contacts in the request.
  • AudienceId (string): The audience ID that was operated on.
  • IsAsync (bool): Whether the processing was done asynchronously.
  • Results (object-array): Array of processing results for each contact with status information.
  • StatusCode (number): HTTP status code: 200 (success), 401 (unauthorized), 403 (forbidden), 400 (bad request), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

5. Example Usage

This section will guide you through creating a simple workflow that retrieves contact information from your Ortto workspace using the Get People operation. This is a common use case when you need to fetch detailed information about specific contacts in your database.

Workflow Overview

Our example workflow will consist of three nodes: Start → Ortto(autopilot) → Answer. The workflow will retrieve information for one or more contacts using their contact IDs.

Step-by-Step Guide

1. Add the Ortto(autopilot) Tool Node

  • In your workflow canvas, click the "+" button to add a new node.
  • In the panel that appears, select the "Tools" tab.
  • Find and select Ortto(autopilot) from the tools list.
  • In the list of operations supported by Ortto(autopilot), click on Get People. This will add a corresponding node to your canvas.

2. Configure the Node

  • Click on the newly added Get People node. The configuration panel will expand on the right side.

Credential Configuration:

  • At the top of the panel, locate the credentials field.
  • Click the dropdown menu and select your pre-configured Ortto(autopilot) credentials. If you haven't set up credentials yet, please refer to the Credentials Configuration Guide.

Parameter Configuration:

  • ContactIds (Required): This parameter accepts a JSON array string containing the IDs of the contacts you want to retrieve. For example, if you want to retrieve information for two contacts, you would enter:
  ["0066cc4c16dfd264d0e99b00", "00668d816ce2d34c550fe300"]

You can obtain contact IDs from previous workflow steps, from Ortto's interface (visible in the contact's profile URL), or from other "Find People" operations.

  • Fields (Optional): This parameter allows you to specify which fields to include in the response. Enter a comma-separated list of field IDs, such as:
    • str::email - Email address
    • str::first - First name
    • str::last - Last name
    • phn::phone - Phone number
    • str::city - City
    • str::country - Country

3. Run and Verify

  • Once all required parameters are correctly filled in, any error indicators on the workflow canvas will disappear.
  • Click the "Test Run" button in the top right corner of the canvas to execute the workflow.
  • After successful execution, you can click the log icon in the top right corner to view the detailed inputs and outputs of the node.
  • In the output, you will see:
    • ContactCount: The number of contacts successfully retrieved
    • TotalRequested: The total number of contact IDs you requested
    • Contacts: An array containing the full details of each retrieved contact
    • StatusCode: Should be 200 for a successful operation

Final Workflow Summary

After completing the above steps, your workflow is fully configured. When you click "Test Run", the Get People operation will retrieve the specified contacts from your Ortto workspace and return their detailed information, which can then be used by subsequent nodes in your workflow. This is particularly useful for personalizing communications, syncing data with other systems, or building conditional logic based on contact attributes.

6. FAQs

Q: Why am I receiving a 401 (Unauthorized) error?

A: A 401 error indicates authentication failure. Please check the following:

  • Ensure your API credentials are correctly configured in GoInsight.
  • Verify that your API key is still valid and hasn't expired or been revoked in your Ortto workspace.
  • Check that your credentials have not been accidentally modified or deleted.

Q: Why am I receiving a 403 (Forbidden) error?

A: A 403 error means your credentials are valid, but you don't have permission to perform the requested operation. Please verify:

  • Your Ortto user account has the necessary permissions for the operation you're trying to perform.
  • The API key was created with sufficient scopes/permissions in your Ortto workspace settings.
  • Contact your Ortto workspace administrator to grant the appropriate permissions if needed.

Q: How do I find contact IDs or account IDs?

A: You can obtain IDs through several methods:

  • From Ortto UI: Navigate to a contact or account's profile page in Ortto. The ID is visible in the browser URL bar.
  • From Previous Operations: Use "Find People" or "Find Account" operations to search and retrieve IDs based on filters or search criteria.
  • From API Responses: Any operation that returns contact or account data will include their respective IDs.

Q: What does "merge strategy" mean in upsert operations?

A: Merge strategy determines how data is handled when updating existing records:

  • Strategy 1 (Append): Only adds new data; never overwrites existing values.
  • Strategy 2 (Overwrite): Replaces existing values with new data. This is the recommended default.
  • Strategy 3 (Ignore): Doesn't update existing records; only creates new ones if they don't exist.

Q: Can I process more than 100 contacts at once?

A: For upsert operations (Upsert People, Upsert Accounts), the API limits batch processing to 100 records per request. If you need to process more, you should:

  • Split your data into batches of 100 or fewer records.
  • Use multiple workflow executions or implement a loop to process batches sequentially.
  • For retrieval operations like "Find People", you can use pagination with the Limit and Offset parameters to retrieve larger datasets over multiple requests.

Q: What's the difference between synchronous and asynchronous processing?

A: The processing mode affects how the API handles your request:

  • Synchronous (AsyncProcessing = false): The API waits for all operations to complete before returning results. You receive immediate confirmation of success or failure for each record. Use this when you need immediate feedback.
  • Asynchronous (AsyncProcessing = true): The API queues your request and returns immediately with a confirmation that it was received. Processing happens in the background. Use this for large batches or when immediate results aren't required.

Q: Why are my contacts not being deleted?

A: Ortto requires a two-step deletion process for safety:

  • Contacts and accounts must first be archived before they can be permanently deleted.
  • Use the Delete People or Delete Account operations only on records that are already in an archived state.
  • If you're trying to delete active contacts, first archive them through the Ortto interface or API, then execute the delete operation.

7. Official Documentation

For more detailed information about the Ortto REST API, advanced use cases, and field schemas, please refer to:

Ortto Official API Documentation

Updated on: Dec 3, 2025
Was This Page Helpful?
Prev Odoo
Next Okta
Discussion

Leave a Reply. Cancel reply

Your email address will not be published. Required fields are marked*

Product-related questions?Contact Our Support Team to Get a Quick Solution>
On this page
  • 1. Overview
  • 2. Prerequisites
  • 3. Credentials
  • 4. Supported Operations
    • Summary
    • Operation Details
  • 5. Example Usage
    • Workflow Overview
    • Step-by-Step Guide
    • Final Workflow Summary
  • 6. FAQs
  • 7. Official Documentation
loading...
No Results