---
canonical_url: "https://docs.composio.dev/toolkits/surecontact"
markdown_url: "https://docs.composio.dev/toolkits/surecontact.md"
product: "platform"
version: null
last_updated: null
---

# SureContact

SureContact is a marketing automation and CRM platform for managing contacts, companies, deals, campaigns, lists, forms, purchases, reports, and related workflows.

- **Category:** marketing automation
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 26
- **Triggers:** 0
- **Slug:** `SURECONTACT`
- **Version:** 00000000_00

## Tools

### Create Campaign Draft

**Slug:** `SURECONTACT_CREATE_CAMPAIGN_DRAFT`

Create a campaign in draft status without sending or scheduling email. Optionally configure content, sender details, tracking, and recipient filters for later review in SureContact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Campaign name, up to 255 characters. |
| `subject` | string | No | Email subject. When omitted, the selected template may supply it. |
| `reply_to` | string | No | Reply-to email address. |
| `from_name` | string | No | Sender display name. |
| `from_email` | string | No | Sender email address. |
| `track_opens` | boolean | No | Whether a future send of this campaign should track opens. |
| `html_content` | string | No | HTML email content. When omitted, the selected template may supply it. |
| `preview_text` | string | No | Inbox preview text. When omitted, the selected template may supply it. |
| `track_clicks` | boolean | No | Whether a future send of this campaign should track link clicks. |
| `template_uuid` | string | No | Email-template UUID used to seed the subject, preview text, and HTML. |
| `exclude_tag_uuids` | array | No | Tag UUIDs to exclude from the campaign audience. |
| `include_tag_uuids` | array | No | Tag UUIDs to include in the campaign audience. |
| `exclude_list_uuids` | array | No | List UUIDs to exclude from the campaign audience. |
| `include_list_uuids` | array | No | List UUIDs to include in the campaign audience. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Landing Page Draft

**Slug:** `SURECONTACT_CREATE_LANDING_PAGE_DRAFT`

Create a landing page in draft status without publishing it or making a public URL live. Optionally initialize the draft from page-builder design JSON or an existing page template.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Landing-page name, up to 255 characters. |
| `description` | string | No | Short description of the landing page, up to 1000 characters. |
| `design_json` | string | No | SureContact page-builder design JSON used to initialize the draft. The official reference labels this an object but sends an array in every request example; the internal page-builder schema is not published. |
| `template_uuid` | string | No | Page-template UUID used to initialize the draft. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Segment

**Slug:** `SURECONTACT_CREATE_SEGMENT`

Create a tag or contact list. A dynamic list continuously evaluates its filters; a static list is manually managed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Unique display name, up to 255 characters. |
| `color` | string | No | Six-digit hex color for a tag; valid only when segment_type is tag. |
| `filters` | object | No | Filter criteria object for a dynamic list. SureContact does not publish the object's condition schema. Valid only for dynamic lists. |
| `list_type` | string ("static" | "dynamic") | No | List type: static or dynamic; used only when segment_type is list. |
| `description` | string | No | Optional explanation of the segment, up to 1000 characters. |
| `segment_type` | string ("tag" | "list") | Yes | Segment to create: tag or list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Task

**Slug:** `SURECONTACT_CREATE_TASK`

Create an actionable workspace task linked to one or more contacts and optionally assign it. Workspace notification settings may notify the assignee.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Task title, up to 255 characters. |
| `due_date` | string | No | Due date as an ISO-8601 date (YYYY-MM-DD) or date-time. SureContact's documented date-time example omits a timezone. |
| `description` | string | No | Task details, up to 10,000 characters. |
| `contact_uuids` | array | Yes | One or more existing contact UUIDs to associate with the task. SureContact requires every task to be linked to an entity. |
| `task_type_uuid` | string | No | UUID of an existing task type. |
| `assigned_to_uuid` | string | No | UUID of an existing workspace user to assign the task to. |
| `reminder_offset_minutes` | integer | No | Reminder lead time in minutes; must be at least 1. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enroll Contact In Sequence

**Slug:** `SURECONTACT_ENROLL_CONTACT_IN_SEQUENCE`

Enroll one contact in an active sequence by UUID or email. This irreversible operation is asynchronous and can trigger sequence actions, including real external email, shortly after the request is accepted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_uuid` | string | No | Contact UUID. Provide exactly one of contact_uuid or contact_email. |
| `contact_email` | string | No | Contact email. Provide exactly one of contact_email or contact_uuid. |
| `sequence_uuid` | string | Yes | UUID of the active sequence to enroll the contact in. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Campaign Performance

**Slug:** `SURECONTACT_GET_CAMPAIGN_PERFORMANCE`

Get campaign details, live sending progress, or one page of per-contact delivery and engagement results without changing campaign state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `view` | string ("details" | "progress" | "contacts") | No | Result view: details, progress, or contacts. |
| `cursor` | string | No | For contacts view, continuation cursor from a previous call. |
| `opened` | boolean | No | For contacts view, filter by whether the email was opened. |
| `search` | string | No | For contacts view, search recipient identity fields. |
| `status` | string ("pending" | "queued" | "sent" | "delivered" | "failed" | "bounced") | No | For contacts view, filter by delivery status. |
| `clicked` | boolean | No | For contacts view, filter by whether a link was clicked. |
| `per_page` | integer | No | For contacts view, maximum recipients on this page (1-100). |
| `campaign_uuid` | string | Yes | UUID of the campaign. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact

**Slug:** `SURECONTACT_GET_CONTACT`

Retrieve one contact by UUID or email address without changing it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Contact email address; provide exactly one of email or contact_uuid. |
| `contact_uuid` | string | No | Contact UUID; provide exactly one of contact_uuid or email. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Report

**Slug:** `SURECONTACT_GET_REPORT`

Read one SureContact analytics report for a selected date range: overview, contact growth, email sending, email engagement, link clicks, unsubscribes, bounces, ecommerce revenue, products, or campaign summary.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | For link_clicks or products, maximum ranked items (up to 500 or 100 respectively). |
| `source` | string ("all" | "wordpress" | "shopify" | "api" | "manual") | No | For revenue, filter by purchase source. |
| `status` | string ("all" | "sent" | "draft" | "scheduled" | "sending") | No | For campaigns, filter by campaign status. |
| `end_date` | string | No | ISO date required when date_range is custom. |
| `group_by` | string ("day" | "week" | "month") | No | Time grouping: day, week, or month. |
| `date_range` | string ("today" | "yesterday" | "7_days" | "30_days" | "90_days" | "12_months" | "custom") | No | Date range: today, yesterday, 7_days, 30_days, 90_days, 12_months, or custom. |
| `start_date` | string | No | ISO date required when date_range is custom. |
| `bounce_type` | string ("all" | "hard" | "soft") | No | For bounces, filter all, hard, or soft bounces. |
| `filter_type` | string ("overall" | "tag" | "list") | No | For contacts_growth, filter overall contacts, one tag, or one list. |
| `filter_uuid` | string | No | Tag or list UUID required for a tag/list contacts_growth filter. |
| `report_type` | string ("overview" | "contacts_growth" | "emails_sending" | "emails_engagement" | "link_clicks" | "unsubscribes" | "bounces" | "revenue" | "products" | "campaigns") | Yes | Report to return: overview, contacts_growth, emails_sending, emails_engagement, link_clicks, unsubscribes, bounces, revenue, products, or campaigns. |
| `compare_with` | string ("none" | "previous_period" | "previous_month" | "previous_year" | "custom") | No | Comparison: none, previous_period, previous_month, previous_year, or custom. |
| `campaign_uuid` | string | No | For link_clicks, optionally restrict results to this campaign UUID. |
| `compare_end_date` | string | No | ISO comparison end date required when compare_with is custom. |
| `compare_start_date` | string | No | ISO comparison start date required when compare_with is custom. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Campaigns

**Slug:** `SURECONTACT_LIST_CAMPAIGNS`

Search and page through email campaigns by lifecycle status without changing them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor returned by a previous call. |
| `search` | string | No | Search campaign names or subjects. |
| `status` | string ("draft" | "scheduled" | "sending" | "sent" | "paused" | "cancelled" | "failed") | No | Campaign lifecycle status to return. |
| `sort_by` | string ("name" | "status" | "send_at" | "scheduled_at" | "completed_at" | "created_at" | "updated_at") | No | Campaign field used to sort the results. |
| `per_page` | integer | No | Maximum campaigns to return on this page (1-100). |
| `sort_order` | string ("asc" | "desc") | No | Sort direction: asc or desc. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Contacts

**Slug:** `SURECONTACT_LIST_CONTACTS`

Search and page through contacts in the connected workspace without changing them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor returned by a previous call. |
| `search` | string | No | Search text for matching contacts, up to 100 characters. |
| `per_page` | integer | No | Maximum contacts to return on this page (1-100). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Contact Timeline

**Slug:** `SURECONTACT_LIST_CONTACT_TIMELINE`

Page through either notes or activities for one contact, newest first, without changing the timeline.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `days` | integer | No | For activities, restrict results to the last N days. |
| `cursor` | string | No | Continuation cursor returned by a previous call. |
| `to_date` | string | No | For activities, include entries through this ISO-8601 date or date-time. |
| `per_page` | integer | No | Maximum entries to return on this page (1-100). |
| `from_date` | string | No | For activities, include entries from this ISO-8601 date or date-time. |
| `entry_type` | string ("note" | "activity") | Yes | Timeline entries to return: note or activity. |
| `contact_uuid` | string | Yes | UUID of the contact. |
| `activity_type` | string ("email_sent" | "email_opened" | "email_clicked" | "form_submitted" | "note_added" | "note_updated" | "note_deleted" | "tag_added" | "tag_removed" | "contact_created" | "contact_updated" | "list_added" | "list_removed" | "custom_field_added" | "custom_field_updated" | "custom_field_deleted" | "purchase_completed" | "purchase_cancelled" | "purchase_refunded") | No | For activities, filter by a documented SureContact activity type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Form Submissions

**Slug:** `SURECONTACT_LIST_FORM_SUBMISSIONS`

Search and page through submissions captured by one form without changing them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor returned by a previous call. |
| `search` | string | No | Search submission fields, up to 100 characters. |
| `status` | string | No | Exact submission status to return. SureContact exposes this filter but does not publish accepted values; omit it unless the status is known from the workspace. |
| `to_date` | string | No | Include submissions on or before this valid date or date-time. |
| `per_page` | integer | No | Maximum submissions to return on this page (1-100). |
| `form_uuid` | string | Yes | UUID of the form whose submissions to return. |
| `from_date` | string | No | Include submissions on or after this valid date or date-time. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Marketing Assets

**Slug:** `SURECONTACT_LIST_MARKETING_ASSETS`

List one page of forms, email templates, or landing pages available for campaigns and lead capture.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor returned by a previous call. |
| `search` | string | No | Search assets by name or provider-supported text fields. |
| `status` | string ("draft" | "published" | "scheduled" | "archived") | No | For forms, filter by draft or published. For landing pages, filter by draft, published, scheduled, or archived. |
| `sort_by` | string ("name" | "subject" | "created_at" | "updated_at" | "submission_count" | "view_count" | "status") | No | Provider-supported sort field for the selected asset type. |
| `per_page` | integer | No | Maximum assets on this page (1-100). |
| `asset_type` | string ("form" | "email_template" | "landing_page") | Yes | Asset resource: form, email_template, or landing_page. |
| `sort_order` | string ("asc" | "desc") | No | Sort direction: asc or desc. |
| `template_type` | string ("drag_drop" | "html" | "rich_text") | No | For email templates, filter by drag_drop, html, or rich_text. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Purchases

**Slug:** `SURECONTACT_LIST_PURCHASES`

Page through tracked purchases with optional contact, status, and source filters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor returned by a previous call. |
| `source` | string | No | Exact purchase source to return. SureContact exposes this filter but does not publish its accepted values. |
| `status` | string | No | Exact purchase status to return. SureContact exposes this filter but does not publish its accepted values. |
| `per_page` | integer | No | Maximum purchases to return on this page (1-100). |
| `contact_uuid` | string | No | Only return purchases associated with this contact UUID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Segments

**Slug:** `SURECONTACT_LIST_SEGMENTS`

List tags or lists used to segment contacts, with search and archive filtering where supported.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor returned by a previous call. |
| `search` | string | No | For tags, search by name or slug. |
| `archived` | string ("false" | "true" | "all") | No | Archive filter: false for active, true for archived, or all. |
| `per_page` | integer | No | Maximum segments on this page (1-100). |
| `segment_type` | string ("tag" | "list") | Yes | Segment resource to list: tag or list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tasks

**Slug:** `SURECONTACT_LIST_TASKS`

Page through workspace tasks without changing completion or assignment state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor returned by a previous call. |
| `per_page` | integer | No | Maximum tasks to return on this page (1-100). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Workflows

**Slug:** `SURECONTACT_LIST_WORKFLOWS`

List automations or email sequences available in the workspace without starting them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor returned by a previous call. |
| `search` | string | No | For sequences, filter by sequence name. |
| `status` | string ("draft" | "active" | "inactive") | No | For sequences, filter by status. |
| `per_page` | integer | No | Maximum workflows on this page (1-100). |
| `workflow_type` | string ("automation" | "sequence") | Yes | Workflow resource to list: automation or sequence. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Log Contact Interaction

**Slug:** `SURECONTACT_LOG_CONTACT_INTERACTION`

Create a note or activity on a contact's timeline. This permanently adds workspace-visible history attributed to the API-key owner.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Optional note title, up to 255 characters. Valid only for notes. |
| `content` | string | Yes | Note content or activity description. Notes allow up to 10,000 characters; activities allow up to 1,000 characters. |
| `metadata` | object | No | Optional activity metadata as key-value pairs. Valid only for activities. |
| `entry_type` | string ("note" | "activity") | Yes | Timeline entry to create: note or activity. |
| `contact_uuid` | string | Yes | UUID of the contact receiving the timeline entry. |
| `activity_type` | string ("email_sent" | "email_opened" | "email_clicked" | "form_submitted" | "note_added" | "note_updated" | "note_deleted" | "tag_added" | "tag_removed" | "contact_created" | "contact_updated" | "list_added" | "list_removed" | "custom_field_added" | "custom_field_updated" | "custom_field_deleted" | "purchase_completed" | "purchase_cancelled" | "purchase_refunded") | No | SureContact activity type. Required for activities and invalid for notes. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Record Purchase

**Slug:** `SURECONTACT_RECORD_PURCHASE`

Record an external purchase in SureContact without charging a payment method. Identifying the buyer by email may create a new contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string ("completed" | "cancelled" | "refunded" | "pending") | No | Purchase status: completed, cancelled, refunded, or pending. |
| `currency` | string | No | Three-character currency code. |
| `discount` | number | No | Total discount amount in the purchase currency. |
| `metadata` | object | No | Additional purchase metadata as key-value pairs. |
| `order_id` | string | Yes | Unique order identifier from the source system. SureContact names this field order_id in create requests and responses. |
| `products` | array | No | Structured product line items included in the purchase. |
| `tax_amount` | number | No | Tax amount in the purchase currency. |
| `coupon_code` | string | No | Applied coupon code. |
| `contact_uuid` | string | No | Existing contact UUID; provide exactly one contact identifier. |
| `purchased_at` | string | No | ISO-8601 timestamp when the purchase occurred. |
| `total_amount` | number | Yes | Total order amount in the specified currency. |
| `contact_email` | string | No | Contact email address; SureContact may create the contact if it does not exist. Provide exactly one contact identifier. |
| `transaction_id` | string | No | Payment transaction identifier. |
| `shipping_amount` | number | No | Shipping amount in the purchase currency. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Email

**Slug:** `SURECONTACT_SEND_EMAIL`

Queue one email for immediate asynchronous delivery to one external recipient. Executing this action sends a real external email and may create engagement tracking events; it does not create a draft or preview and cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subject` | string | No | Subject sent in the external email. Required with html_body when no template is used; this is delivery content, not draft or preview content. |
| `reply_to` | string | No | Reply-to address placed on the external email that this action sends; no draft or preview is created. |
| `from_name` | string | No | Sender display name used on the external email that this action sends; no draft or preview is created. |
| `html_body` | string | No | HTML delivered in the external email. Required with subject when no template is used; calling this action sends it rather than saving a draft or preview. |
| `variables` | object | No | Variables substituted into the template before the external email is sent; these values are not used for a draft or preview. |
| `from_email` | string | No | Sender address used on the external email that this action sends; no draft or preview is created. |
| `track_opens` | boolean | No | Whether to track opens of the externally delivered email; execution sends rather than drafts or previews the message. |
| `contact_uuid` | string | No | UUID of the recipient who will receive the real external email. Provide exactly one recipient identifier; this action does not create a draft or preview. |
| `track_clicks` | boolean | No | Whether to track link clicks in the externally delivered email; execution sends rather than drafts or previews the message. |
| `contact_email` | string | No | Address that will receive the real external email. Provide exactly one recipient identifier; this action does not create a draft or preview. |
| `template_uuid` | string | No | Workspace email-template UUID whose content will be sent externally. Inline subject or HTML overrides template values; no draft or preview is created. |
| `smtp_configuration_uuid` | string | No | SMTP configuration used for the real external send. Omit to use the workspace default; this action does not create a draft or preview. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Contact Status

**Slug:** `SURECONTACT_SET_CONTACT_STATUS`

Change a contact's deliverability or subscription status. Setting unsubscribed, bounced, invalid, or complained can stop future messaging.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string ("pending" | "active" | "unsubscribed" | "bounced" | "invalid" | "complained") | Yes | New status: pending, active, unsubscribed, bounced, invalid, or complained. |
| `contact_uuid` | string | Yes | UUID of the contact to change. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Task Completion

**Slug:** `SURECONTACT_SET_TASK_COMPLETION`

Mark a task done or reopen it as not done. This immediately changes the task's completion state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `completed` | boolean | Yes | Set true to mark the task done, or false to reopen it as not done. |
| `task_uuid` | string | Yes | UUID of the task whose completion state should change. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Start Contact Automation

**Slug:** `SURECONTACT_START_CONTACT_AUTOMATION`

Start an active automation for one contact. This irreversible operation is asynchronous and can trigger actions, including real external email, shortly after the request is accepted; it does not wait for those actions to finish.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_uuid` | string | Yes | UUID of the contact to start the automation for. |
| `automation_uuid` | string | Yes | UUID of the active automation to start. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unenroll Contact From Sequence

**Slug:** `SURECONTACT_UNENROLL_CONTACT_FROM_SEQUENCE`

Synchronously cancel a contact's active executions in a sequence and mark its subscriber state as cancelled. The response reports cancelled_executions; zero means the idempotent request found no active execution. Actions already sent or completed cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_uuid` | string | No | Contact UUID. Provide exactly one of contact_uuid or contact_email. |
| `contact_email` | string | No | Contact email. Provide exactly one of contact_email or contact_uuid. |
| `sequence_uuid` | string | Yes | UUID of the sequence to unenroll the contact from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Contact Memberships

**Slug:** `SURECONTACT_UPDATE_CONTACT_MEMBERSHIPS`

Attach or detach one or more tags or lists from a contact. This immediately changes segmentation and can affect campaign or automation targeting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `operation` | string ("attach" | "detach") | Yes | Whether to attach or detach the memberships. |
| `contact_uuid` | string | Yes | UUID of the contact whose memberships change. |
| `resource_type` | string ("tag" | "list") | Yes | Membership type to update: tag or list. |
| `resource_uuids` | array | Yes | One or more tag or list UUIDs matching resource_type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upsert Contact

**Slug:** `SURECONTACT_UPSERT_CONTACT`

Create a contact when the email is new or update the existing contact with supplied fields. Supplied tag and list UUIDs are appended and never replace existing memberships.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address that uniquely identifies the contact. |
| `phone` | string | No | Contact phone number. |
| `source` | string | No | Acquisition source such as api, manual, import, form, or integration. |
| `status` | string ("pending" | "active" | "unsubscribed" | "bounced" | "invalid" | "complained") | No | Contact status: pending, active, unsubscribed, bounced, invalid, or complained. |
| `company` | string | No | Contact company name. This does not use the paid Companies resource. |
| `language` | string | No | Preferred ISO 639-1 two-letter language code. |
| `metadata` | object | No | Additional contact metadata as key-value pairs. |
| `timezone` | string | No | Preferred IANA timezone identifier. |
| `job_title` | string | No | Contact job title. |
| `last_name` | string | No | Contact last name. |
| `tag_uuids` | array | No | Tag UUIDs to append to the contact without replacing existing tags. |
| `first_name` | string | No | Contact first name. |
| `list_uuids` | array | No | Static-list UUIDs to append to the contact without replacing existing list memberships. |
| `custom_fields` | object | No | Custom field values keyed by field name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
