Add or Update Person

action_network.upsert_person
ActionCRM & salesconnection required

Calls the Action Network API with the connection's credentials.

Add a person through the Person Signup Helper, updating the existing record when the email address or phone number already matches one.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Action Network
Secret shape
the API key, or {"api_key": "…"}
Config it needs
base_url
Resolved by
config.connection_id, else node.connection_id

Configuration

8 fields, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
email_address
The person's email address; Action Network deduplicates people on it.
stringNo—email formatada@example.com
phone_number
The person's phone number, digits only, as Action Network stores it.
stringNo——2021234444
given_name
The person's first name.
stringNo——Ada
family_name
The person's last name.
stringNo——Lovelace
postal_code
The person's postal code, which Action Network uses for geographic targeting.
stringNo——20009
custom_fields
Custom field values for the person, keyed by the custom field's name.
objectNo——{"employer":"Acme"}
add_tags
Names of existing tags to add to the person; unmatched names are ignored.
arrayNo—array of string["volunteer"]
remove_tags
Names of existing tags to remove from the person.
arrayNo—array of string["inactive"]
  • At least one of email_address, phone_number must be set.

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "add_tags": [
    "volunteer"
  ],
  "custom_fields": {
    "employer": "Acme"
  },
  "email_address": "ada@example.com",
  "family_name": "Lovelace",
  "given_name": "Ada",
  "phone_number": "2021234444",
  "postal_code": "20009",
  "remove_tags": [
    "inactive"
  ]
}

Output

One shape.

result

FieldTypeExample
identifiers
Namespaced ids, the first being action_network:<uuid>.
array—
given_name
The person's first name, empty when unknown.
string—
family_name
The person's last name, empty when unknown.
string—
email_addresses
Each address with its status and primary flag.
array—
phone_numbers
Each phone number with its status and primary flag.
array—
postal_addresses
Each postal address, including its postal code.
array—
custom_fields
The custom field values held on the person.
object—
created_date
ISO-8601 timestamp of when the person was created.
string—
modified_date
ISO-8601 timestamp of the last change to the person.
string—
{
  "created_date": "",
  "custom_fields": {},
  "email_addresses": [],
  "family_name": "",
  "given_name": "",
  "identifiers": [],
  "modified_date": "",
  "phone_numbers": [],
  "postal_addresses": []
}

See Add or Update Person run in a workflow.

In a technical demo we add the Action Network connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.