{ "kind": "open-flow-workflow", "version": 1, "name": "ActiveCampaign Contact Upsert", "content": { "modelVersion": 14, "document": { "bindings": {}, "graph": { "nodes": { "n_662ab2251f66040b": { "name": "Enter contact details", "kind": "start", "inputDefs": [ { "jsonSchema": { "type": "string", "format": "email", "description": "Contact email address used as the sync key." }, "nullable": false, "handle": "email" }, { "jsonSchema": { "type": "string", "minLength": 1, "description": "Contact first name to create or update." }, "nullable": false, "handle": "firstName" }, { "jsonSchema": { "type": "string", "minLength": 1, "description": "Contact last name to create or update." }, "nullable": false, "handle": "lastName" } ] }, "n_52db4bf43127c462": { "inputs": { "email": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_662ab2251f66040b", "output": "email" } ] }, "firstName": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_662ab2251f66040b", "output": "firstName" } ] }, "lastName": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_662ab2251f66040b", "output": "lastName" } ] } }, "name": "Create or update contact", "kind": "task", "task": { "inputs": [ { "description": "Contact email address used as the sync key.", "jsonSchema": { "type": "string", "format": "email", "description": "Contact email address used as the sync key." }, "nullable": false, "handle": "email" }, { "description": "Contact first name to create or update.", "jsonSchema": { "type": "string", "minLength": 1, "description": "Contact first name to create or update." }, "nullable": true, "handle": "firstName", "value": null }, { "description": "Contact last name to create or update.", "jsonSchema": { "type": "string", "minLength": 1, "description": "Contact last name to create or update." }, "nullable": true, "handle": "lastName", "value": null }, { "description": "Contact phone number to create or update.", "jsonSchema": { "type": "string", "minLength": 1, "description": "Contact phone number to create or update." }, "nullable": true, "handle": "phone", "value": null }, { "description": "Custom field values to write during the contact sync.", "jsonSchema": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string", "minLength": 1, "description": "Custom field identifier." }, "value": { "type": "string", "description": "Custom field value." } }, "required": [ "field", "value" ], "additionalProperties": false, "description": "One custom field value to write during the contact sync." }, "minItems": 1, "description": "Custom field values to write during the contact sync." }, "nullable": true, "handle": "fieldValues", "value": null } ], "outputs": [ { "description": "The created or updated ActiveCampaign contact.", "jsonSchema": { "type": "object", "properties": { "id": { "type": "string", "description": "ActiveCampaign contact identifier." }, "email": { "type": [ "string", "null" ], "description": "Contact email address, or null when ActiveCampaign omits it." }, "firstName": { "type": [ "string", "null" ], "description": "Contact first name, or null when ActiveCampaign omits it." }, "lastName": { "type": [ "string", "null" ], "description": "Contact last name, or null when ActiveCampaign omits it." }, "phone": { "type": [ "string", "null" ], "description": "Contact phone number, or null when ActiveCampaign omits it." }, "organizationId": { "type": [ "string", "null" ], "description": "Primary organization identifier, or null when ActiveCampaign omits it." }, "createdAt": { "type": [ "string", "null" ], "description": "Contact creation timestamp, or null when omitted." }, "updatedAt": { "type": [ "string", "null" ], "description": "Contact update timestamp, or null when omitted." }, "deleted": { "type": [ "boolean", "null" ], "description": "Whether the contact is deleted, or null when ActiveCampaign omits it." }, "fieldValues": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Custom field identifier." }, "value": { "type": "string", "description": "Custom field value." }, "raw": { "type": "object", "properties": {}, "additionalProperties": true, "description": "Raw ActiveCampaign contact field value payload." } }, "required": [ "field", "value", "raw" ], "additionalProperties": false, "description": "Custom field value attached to the contact." }, "description": "Custom field values returned with the contact when present." }, "raw": { "type": "object", "properties": {}, "additionalProperties": true, "description": "Raw ActiveCampaign contact payload." } }, "required": [ "id", "raw" ], "additionalProperties": false, "description": "The created or updated ActiveCampaign contact." }, "nullable": false, "handle": "contact" } ], "name": "Create or update contact", "executor": { "kind": "connector", "action": "activecampaign.upsert_contact" } } }, "n_092fda1822733c07": { "name": "Saved ActiveCampaign contact", "kind": "outputs", "outputDefs": [ { "jsonSchema": { "type": "object", "properties": { "id": { "type": "string", "description": "ActiveCampaign contact identifier." }, "email": { "type": [ "string", "null" ], "description": "Contact email address, or null when ActiveCampaign omits it." }, "firstName": { "type": [ "string", "null" ], "description": "Contact first name, or null when ActiveCampaign omits it." }, "lastName": { "type": [ "string", "null" ], "description": "Contact last name, or null when ActiveCampaign omits it." }, "phone": { "type": [ "string", "null" ], "description": "Contact phone number, or null when ActiveCampaign omits it." }, "organizationId": { "type": [ "string", "null" ], "description": "Primary organization identifier, or null when ActiveCampaign omits it." }, "createdAt": { "type": [ "string", "null" ], "description": "Contact creation timestamp, or null when omitted." }, "updatedAt": { "type": [ "string", "null" ], "description": "Contact update timestamp, or null when omitted." }, "deleted": { "type": [ "boolean", "null" ], "description": "Whether the contact is deleted, or null when ActiveCampaign omits it." }, "fieldValues": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Custom field identifier." }, "value": { "type": "string", "description": "Custom field value." }, "raw": { "type": "object", "properties": {}, "additionalProperties": true, "description": "Raw ActiveCampaign contact field value payload." } }, "required": [ "field", "value", "raw" ], "additionalProperties": false, "description": "Custom field value attached to the contact." }, "description": "Custom field values returned with the contact when present." }, "raw": { "type": "object", "properties": {}, "additionalProperties": true, "description": "Raw ActiveCampaign contact payload." } }, "required": [ "id", "raw" ], "additionalProperties": false, "description": "The created or updated ActiveCampaign contact." }, "nullable": false, "handle": "contact" } ], "outputMappings": { "contact": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_52db4bf43127c462", "output": "contact" } ] } } } }, "edges": [ { "source": "n_662ab2251f66040b", "target": "n_52db4bf43127c462" }, { "source": "n_52db4bf43127c462", "target": "n_092fda1822733c07" } ] } }, "modules": {} }, "presentation": { "designer": { "version": 1, "flow": { "direction": "vertical" } } } }