Add participants to flow

Use this endpoint to add participants to a flow, accommodating anywhere from 1 to 1000 persons. When participants are added, their profiles in People are automatically created, updated or merged based on the identifiers provided.
If identifiers are unique, a new profile is created.
If identifiers match an existing profile, then that profile is updated.
If identifiers refer to multiple existing profiles or are not unique within the request, profiles are merged.
To prevent unwanted merges, ensure each participant's identifiers (identifyBy, externalId and contactInformation) are unique.

Please log in to see full path URL. Learn why.
post
/moments/1/flows/{campaignId}/participants
Request rate limit:
10 requests / second (per account)
path Parameters
campaignId
required
integer <int64>
Example: 200000000000001

Unique identifier of the flow that participant will be added to.

Request Body schema:
application/json
collapse all -
participants
required
Array of objects <= 1000 characters

Array of participants to add.

Array
identifyBy
required
object

Unique identifier of the participant.

identifier
required
string

Unique ID for a person

type
required
string
Enum: "EMAIL" "PHONE" "FACEBOOK" "LINE" "APPLE_BUSINESS_CHAT"

Type of unique ID

sender
string

Sender or application ID.sender is required for all identifier types except PHONE, EMAIL

variables
object

Flow variables to assign to the participant when it is added to the flow.

property name*
object

Flow variables to assign to the participant when it is added to the flow.

person
object

Person attributes. In case a person with either the specified externalId or contactInformation already exists in the People, the persons will be automatically merged. See endpoint description for more info.

externalId
string

Unique ID for a person from your or another external system, 256 characters max.

firstName
string

Person's first name, 255 characters max.

lastName
string

Person's last name, 255 characters max.

type
string
Enum: "CUSTOMER" "LEAD"

Person's type, default type is CUSTOMER.

address
string

Person's title, 50 characters max.

city
string

Person's city, 50 characters max.

country
string

Person's country, 50 characters max.

gender
string
Enum: "MALE" "FEMALE"

Person's gender.

birthDate
string

Person's date of birth, format YYYY-MM-DD.

middleName
string

Person's middle name, 50 characters max.

preferredLanguage
string

Person's preferred language. Must be in two letter ISO (xx) or language-region BCP-47 (xx-YY) format.

profilePicture
string

URL for the person's profile picture, 2083 characters max.

tags
Array of strings

List of tags that this person has.

customAttributes
object

List of custom attributes for the person, 4096 characters max per value.

property name*
object

List of custom attributes for the person, 4096 characters max per value.

contactInformation
object

List of phones, emails and other information how a person can be contacted.

phone
Array of objects

A list of person's phone numbers. Max 100 numbers per person.

Array
number
string

Person's phone number. Must be in international format and cannot exceed 50 characters. One person can have up to 100 phone numbers.

email
Array of objects

A list of person's email addresses. Max 100 emails per person.

Array
address
string

Person's email address. Must comply with the email format and cannot exceed 255 characters. One person can have up to 100 email addresses.

integrations
object

Integrations.

salesforce
object

Salesforce integration.

leadId
string

Salesforce lead id.

contactId
string

Salesforce contact id.

computedAttributes
object

Person's computed attributes grouped by type.

property name*
object

Person's computed attributes grouped by type.

notifyUrl
string <= 1000 characters

The URL on your callback server on which a report of operation results will be sent.

callbackData
string <= 2000 characters

Additional data will be passed in the request to your callback server along with the operation results report.

Responses

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

429

Too Many Requests

500

Internal Server Error

Request samples

Content type
application/json

Add participants to Flow

Copy
Collapse all
{
  • "participants":
    [
    • {
      • "identifyBy":
        {
        • "identifier": "370329180020364",
        • "type": "FACEBOOK"
        }
      },
    • {
      • "identifyBy":
        {
        • "identifier": "test@infobip.com",
        • "type": "EMAIL"
        },
      • "variables":
        {
        • "orderNumber": 1167873391
        }
      },
    • {
      • "identifyBy":
        {
        • "identifier": "test2@infobip.com",
        • "type": "EMAIL"
        },
      • "variables":
        {
        • "orderNumber": 1595299041
        },
      • "person":
        {
        • "externalId": "optional_external_person_id",
        • "customAttributes":
          {
          • "Contract Expiry": "2023-04-01",
          • "Company": "Infobip"
          },
        • "contactInformation":
          {
          • "email":
            [
            • {
              • "address": "test@infobip.com"
              }
            ]
          }
        }
      }
    ],
  • "callbackData": "Callback Data"
}

Response samples

Content type
application/json
Copy
Collapse all
{
  • "operationId": "03f2d474-0508-46bf-9f3d-d8e2c28adaea"
}

Encountering issues

Contact our support

What's new? Check out

Release Notes

Unsure about a term? See

Glossary

Research panel

Help shape the future of our products
Learn more
Service status

Copyright @ 2006-2025 Infobip ltd.