문서로 건너뛰기
MCP 서버

자동화

연락처마다 알아서 실행되는 이메일과 단계, 그리고 이를 시작하는 이벤트.

자동화 도구

도구하는 일
listAutomations워크스페이스의 자동화를 최근에 바뀐 순서대로, 상태, 시작 조건, 참여 중인 연락처 수와 함께 보여 줍니다.
getAutomation자동화 하나의 전체 내용: 상태, 설정, 수치, 초안의 문제점, JSON으로 된 초안 정의. includePublished는 실행 중인 버전을 더합니다.
listAutomationStarters새 자동화를 시작할 수 있는 기성 자동화. 각각 정의가 함께 나옵니다.
createAutomation시작점에서, JSON으로 쓴 정의에서, 또는 빈 상태로, 원하는 설정과 함께 초안을 만듭니다. 게시하기 전까지 아무것도 실행되지 않습니다.
updateAutomation자동화의 이름과 설정을 바꾸거나 초안 정의를 교체합니다. 이름과 설정은 즉시 적용됩니다. 게시 중인 자동화는 게시된 버전을 계속 실행합니다.
deleteAutomation자동화를 버전, 참여 내역, 수치와 함께 영구 삭제합니다. 그 안의 연락처는 즉시 멈춥니다.
publishAutomation초안을 실행되는 버전으로 만들고 자동화를 켭니다. 완성되지 않은 초안은 게시를 막는 모든 문제와 함께 거부됩니다. emails:send도 필요합니다.
pauseAutomation게시 중인 자동화를 멈춥니다. 새로 들어오는 사람은 없고, 참여 중인 사람은 모두 제자리에 머뭅니다.
resumeAutomation일시 중지된 자동화를 실행하던 버전 그대로 다시 켭니다. emails:send도 필요합니다.
archiveAutomation자동화를 영구히 종료하고 기록은 남깁니다. 참여 중인 사람은 모두 나갑니다.
duplicateAutomation자동화를 버전, 연락처, 수치는 빼고 새 초안으로 복사합니다.
sendAutomationTest초안의 한 단계에 있는 이메일을 본인에게, 또는 주소 하나로 보냅니다. emails:send도 필요합니다.
listAutomationVersions게시된 버전을 최신순으로 보여 주고, 어느 것이 실행 중인지도 알려 줍니다. includeDefinitions는 각 버전의 정의를 더합니다.
restoreAutomationVersion이전 버전을 초안으로 다시 복사합니다. 다음에 게시하기 전까지 실행 중인 것은 아무것도 바뀌지 않습니다.
getAutomationStats기간 동안 들어온 연락처, 지금 참여 중인 연락처, 완료한 연락처, 나간 연락처와 발송, 전달, 열람, 클릭된 이메일을 합계와 단계별로 보여 줍니다.
listAutomationEnrollments자동화에 참여 중이거나 참여했던 연락처를 한 페이지씩, 각자 있는 단계와 어떻게 끝났는지와 함께 보여 줍니다. 상태, 단계 또는 주소의 일부로 걸러 낼 수 있습니다.
getAutomationEnrollment연락처 하나가 자동화를 지나온 과정: 각 단계가 그 연락처에 한 일을 오래된 순으로 보여 줍니다.
enrollInAutomation평소 무엇으로 시작하든, 연락처 하나를 게시 중인 자동화의 첫 단계에 넣습니다.
removeFromAutomation연락처 하나를 자동화에서 즉시 내보냅니다.
sendContactEvent연락처에게 어떤 일이 일어났음을 기록합니다. 트리거가 그 이벤트를 지정한 게시 중 자동화를 시작하고, 그 이벤트를 기다리던 대기를 끝냅니다.
sendContactEvents한 번의 호출로 이벤트를 최대 100개까지 기록합니다. 하나가 실패해도 나머지는 멈추지 않습니다.
listContactEventNames워크스페이스가 최근 90일 동안 기록한 이벤트 이름입니다.
listContactEvents연락처 하나에 기록된 이벤트를 최신순으로, 한 페이지씩.

읽기에는 automations:read, 모든 변경에는 automations:write가 필요합니다. 게시, 재개, 테스트 발송에는 emails:send도 필요합니다. 그 뒤로 자동화가 게시한 사람을 대신해 메일을 보내기 때문입니다. 이벤트를 보내려면 contacts:write가, 연락처의 이벤트를 읽으려면 contacts:read가, listContactEventNames에는 automations:read가 필요합니다. 멤버를 대신해 동작하는 클라이언트는 그 멤버가 만든 자동화와 그 멤버가 추가한 연락처만 봅니다.

이 서버의 일부 도구는 REST API가 인증 코드로 보호하는 변경을 하며, 같은 코드를 요구합니다. 클라이언트가 최근 60분 안에 코드를 인증하지 않았고, 사용자가 계정 → 연결된 앱에서 그 클라이언트에 대해 60분 동안 변경 허용을 고르지도 않았다면, 이런 도구는 Refused (step_up_required):로 시작하는 결과를 반환하고 아무것도 바꾸지 않습니다. emptyAudience는 코드를 요구하지 않습니다. 코드를 요구하는 도구 목록과 코드를 요청하고 인증하는 방법은 API의 인증 페이지에 있습니다.

도구는 REST API와 같은 규칙과 거부를 적용하며, API 레퍼런스의 /automations와 /events 페이지가 모든 필드를 설명합니다. 정의는 JSON으로 통째로 넘깁니다. getAutomation으로 읽고, 바꾼 다음, 전체를 updateAutomation에 다시 넘기세요.

레퍼런스

listAutomations

범위automations:read앱의 어시스턴트가 묻지 않고 실행합니다툴킷automations

List the automations in this workspace, the most recently changed first: name, id, status (draft, live, paused or archived), what starts each one, its steps and how many contacts are in it now, completed it or left early. Use it to find an automation by name before reading or changing it. One page at a time: when more follow, the last line gives a cursor to pass back.

입력

statusstring
다음 중 하나"draft""live""paused""archived"
limitinteger
1 이상100 이하
cursorstring
1~64자

다른 사용처

API
GET /automations
TypeScript
automations.list()automations.listAll()automations.iterate()
Python
automations.list()automations.list_all()automations.iterate()
Ruby
automations.listautomations.list_allautomations.iterate
PHP
automations->listautomations->listAllautomations->iterate
Go
Automations.ListAutomations.ListAllAutomations.Iterate
Java
automations().listautomations().listAllautomations().iterate
C#
Automations.ListAsyncAutomations.ListAllAsyncAutomations.IterateAsync

getAutomation

범위automations:read앱의 어시스턴트가 묻지 않고 실행합니다툴킷automations

Read one automation: its status, settings, numbers, what is wrong with its draft, and the draft definition (trigger and steps) as JSON, to change and pass back to updateAutomation. includePublished adds the definition of the version that is running, which differs from the draft while there are unpublished changes.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자
includePublishedboolean
기본값false

다른 사용처

API
GET /automations/{id}
TypeScript
automations.get()
Python
automations.get()
Ruby
automations.get
PHP
automations->get
Go
Automations.Get
Java
automations().get
C#
Automations.GetAsync

listAutomationStarters

범위automations:read앱의 어시스턴트가 묻지 않고 실행합니다툴킷automations

The ready-made automations a new one can begin from, such as a welcome series or a birthday note: slug, name, what each is for and its definition as JSON. Pass a slug to createAutomation as starter. A starter leaves the audience, the templates and the from address empty to fill in.

입력

입력을 받지 않습니다.

다른 사용처

API
GET /automations/starters
TypeScript
automations.listStarters()
Python
automations.list_starters()
Ruby
automations.list_starters
PHP
automations->listStarters
Go
Automations.ListStarters
Java
automations().listStarters
C#
Automations.ListStartersAsync

createAutomation

범위automations:write직접 요청하지 않은 한 앱의 어시스턴트가 먼저 확인합니다툴킷automations

Create an automation as a draft: from a starter (listAutomationStarters names them), from a definition written out as JSON, or empty. Nothing runs until publishAutomation. The answer lists what the draft still needs before it can be published, such as a template or a from address for each email. Find audiences with listAudiences, templates with listTemplates and forms with listForms.

입력

namestring필수

A short name for the automation. Contacts never see it.

1~120자
descriptionstring

One line about what it is for.

최대 500자
starterstring
1~64자
definitionRecord<string, any> | string

The trigger and steps as JSON: {"trigger": {...}, "entry": "<key of the first step>", "steps": [...]}. Triggers: {"kind": "audience_joined", "audienceId", "includeImported": false}, {"kind": "form_submitted", "formId"}, {"kind": "event", "eventName", "filters": []}, {"kind": "date", "field": "birthday" or "joined", "audienceId", "offsetDays": 0} and {"kind": "manual"}. Every step has a unique key of 3 to 24 lowercase letters and digits starting with a letter, and points at the next step by key in next, or null to end the path. Steps: {"kind": "send_email", "key", "next", "templateId", "templateVersion": null, "from": {"email", "name"}, "replyTo": null, "subject": null, "props": {}}, {"kind": "wait", "key", "next", "wait": {"mode": "duration", "amount": 3, "unit": "days"}}, {"kind": "branch", "key", "condition": {"kind": "email_clicked", "stepKey"}, "yes", "no"}, {"kind": "add_to_audience" or "remove_from_audience", "key", "next", "audienceId"}, {"kind": "update_field", "key", "next", "field", "value": {"source": "static", "value"}}, {"kind": "webhook", "key", "next", "endpointId"} and {"kind": "exit", "key"}. A wait can also be {"mode": "until", "weekdays": [1], "hour": 9, "minute": 0} or {"mode": "event", "eventName", "timeout": {"amount": 7, "unit": "days"}}. Conditions: email_opened and email_clicked with stepKey, in_audience with audienceId, field with field, operator and value, and event with eventName and withinDays. A props value is {"source": "static", "value"}, {"source": "contact", "field"} or {"source": "event", "path"}. Paths never join or loop. getAutomation shows a saved definition in this shape, and listAutomationStarters has ready-made ones.

settingsRecord<string, any> | string

How it runs, as JSON with any of: timezone (an IANA zone such as Europe/London), sendWindow ({"days": [1, 2, 3, 4, 5], "startMinute": 540, "endMinute": 1020} or null for any time), reentryDays (days after finishing before a contact may enter again, or null for once only), exitOnLeave (true takes a contact out when they leave the audience that started it) and listAudienceId (the audience unsubscribes are recorded in).

다른 사용처

API
POST /automations
TypeScript
automations.create()
Python
automations.create()
Ruby
automations.create
PHP
automations->create
Go
Automations.Create
Java
automations().create
C#
Automations.CreateAsync

updateAutomation

범위automations:write직접 요청하지 않은 한 앱의 어시스턴트가 먼저 확인합니다툴킷automations

Change an automation. Its name, description and settings apply at once. definition replaces the whole draft, so start from getAutomation, change the JSON and pass all of it back. A live automation keeps running its published version until publishAutomation, and contacts already in it stay on the version they entered on. Pass only what changes.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자
namestring
1~120자
descriptionstring
null 가능최대 500자
definitionRecord<string, any> | string

The trigger and steps as JSON: {"trigger": {...}, "entry": "<key of the first step>", "steps": [...]}. Triggers: {"kind": "audience_joined", "audienceId", "includeImported": false}, {"kind": "form_submitted", "formId"}, {"kind": "event", "eventName", "filters": []}, {"kind": "date", "field": "birthday" or "joined", "audienceId", "offsetDays": 0} and {"kind": "manual"}. Every step has a unique key of 3 to 24 lowercase letters and digits starting with a letter, and points at the next step by key in next, or null to end the path. Steps: {"kind": "send_email", "key", "next", "templateId", "templateVersion": null, "from": {"email", "name"}, "replyTo": null, "subject": null, "props": {}}, {"kind": "wait", "key", "next", "wait": {"mode": "duration", "amount": 3, "unit": "days"}}, {"kind": "branch", "key", "condition": {"kind": "email_clicked", "stepKey"}, "yes", "no"}, {"kind": "add_to_audience" or "remove_from_audience", "key", "next", "audienceId"}, {"kind": "update_field", "key", "next", "field", "value": {"source": "static", "value"}}, {"kind": "webhook", "key", "next", "endpointId"} and {"kind": "exit", "key"}. A wait can also be {"mode": "until", "weekdays": [1], "hour": 9, "minute": 0} or {"mode": "event", "eventName", "timeout": {"amount": 7, "unit": "days"}}. Conditions: email_opened and email_clicked with stepKey, in_audience with audienceId, field with field, operator and value, and event with eventName and withinDays. A props value is {"source": "static", "value"}, {"source": "contact", "field"} or {"source": "event", "path"}. Paths never join or loop. getAutomation shows a saved definition in this shape, and listAutomationStarters has ready-made ones.

settingsRecord<string, any> | string

How it runs, as JSON with any of: timezone (an IANA zone such as Europe/London), sendWindow ({"days": [1, 2, 3, 4, 5], "startMinute": 540, "endMinute": 1020} or null for any time), reentryDays (days after finishing before a contact may enter again, or null for once only), exitOnLeave (true takes a contact out when they leave the audience that started it) and listAudienceId (the audience unsubscribes are recorded in).

expectedUpdatedAtstring

The Updated time getAutomation gave. When somebody saved the automation since, the change is refused instead of written over theirs.

형식date-time

다른 사용처

API
PATCH /automations/{id}
TypeScript
automations.update()
Python
automations.update()
Ruby
automations.update
PHP
automations->update
Go
Automations.Update
Java
automations().update
C#
Automations.UpdateAsync

deleteAutomation

범위automations:write앱의 어시스턴트가 항상 먼저 확인합니다툴킷automations

Delete an automation for good, with its versions, its enrollments and its numbers. Contacts in it stop at once. The emails it already sent stay. It cannot be undone: to retire one and keep its history, use archiveAutomation.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자

다른 사용처

API
DELETE /automations/{id}
TypeScript
automations.delete()
Python
automations.delete()
Ruby
automations.delete
PHP
automations->delete
Go
Automations.Delete
Java
automations().delete
C#
Automations.DeleteAsync

publishAutomation

범위automations:writeemails:send앱의 어시스턴트가 항상 먼저 확인합니다툴킷automations

Publish an automation: its draft becomes the version that runs and it goes live, so its trigger starts putting contacts in and its emails start going out. Use it for a first publish and to put later changes to work. The draft has to be complete, and a refusal lists every problem that blocks it. Contacts already in it stay on the version they entered on.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자

다른 사용처

API
POST /automations/{id}/publish
TypeScript
automations.publish()
Python
automations.publish()
Ruby
automations.publish
PHP
automations->publish
Go
Automations.Publish
Java
automations().publish
C#
Automations.PublishAsync

pauseAutomation

범위automations:write직접 요청하지 않은 한 앱의 어시스턴트가 먼저 확인합니다툴킷automations

Pause a live automation. Nobody new enters, and everyone in it stays where they are and moves on when it is resumed with resumeAutomation.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자

다른 사용처

API
POST /automations/{id}/pause
TypeScript
automations.pause()
Python
automations.pause()
Ruby
automations.pause
PHP
automations->pause
Go
Automations.Pause
Java
automations().pause
C#
Automations.PauseAsync

resumeAutomation

범위automations:writeemails:send앱의 어시스턴트가 항상 먼저 확인합니다툴킷automations

Turn a paused automation back on with the version it was running, without publishing the draft. Contacts that were held move on and its emails go out again. One that was paused because something it needs went away stays paused until that is fixed, and the refusal says what.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자

다른 사용처

API
POST /automations/{id}/resume
TypeScript
automations.resume()
Python
automations.resume()
Ruby
automations.resume
PHP
automations->resume
Go
Automations.Resume
Java
automations().resume
C#
Automations.ResumeAsync

archiveAutomation

범위automations:write앱의 어시스턴트가 항상 먼저 확인합니다툴킷automations

Retire an automation for good and keep its history. Everyone in it leaves, nobody enters again and it can no longer be changed, published or resumed. Its versions, enrollments and numbers stay readable. To stop one for a while, use pauseAutomation.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자

다른 사용처

API
POST /automations/{id}/archive
TypeScript
automations.archive()
Python
automations.archive()
Ruby
automations.archive
PHP
automations->archive
Go
Automations.Archive
Java
automations().archive
C#
Automations.ArchiveAsync

duplicateAutomation

범위automations:write직접 요청하지 않은 한 앱의 어시스턴트가 먼저 확인합니다툴킷automations

Copy an automation into a new draft with "(copy)" after its name: the same draft definition and settings, and none of its versions, contacts or numbers.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자

다른 사용처

API
POST /automations/{id}/duplicate
TypeScript
automations.duplicate()
Python
automations.duplicate()
Ruby
automations.duplicate
PHP
automations->duplicate
Go
Automations.Duplicate
Java
automations().duplicate
C#
Automations.DuplicateAsync

sendAutomationTest

범위automations:writeemails:send앱의 어시스턴트가 항상 먼저 확인합니다툴킷automations

Send the email of one step of the draft to one address, to read it before publishing. It goes to the user's own account address unless to names another. Contact values come from a sample contact, the subject starts with [Test], and nobody is enrolled. It counts toward the monthly sends.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자
stepKeystring필수

The key of the email step, from the definition getAutomation returns.

1~64자
tostring

Where the test goes, when not to the user themselves.

최대 320자형식email

다른 사용처

API
POST /automations/{id}/test
TypeScript
automations.sendTest()
Python
automations.send_test()
Ruby
automations.send_test
PHP
automations->sendTest
Go
Automations.SendTest
Java
automations().sendTest
C#
Automations.SendTestAsync

listAutomationVersions

범위automations:read앱의 어시스턴트가 묻지 않고 실행합니다툴킷automations

The published versions of an automation, the newest first: number, when it was published and whether it is the one running. includeDefinitions adds each definition as JSON. restoreAutomationVersion copies one back into the draft.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자
includeDefinitionsboolean
기본값false

다른 사용처

API
GET /automations/{id}/versions
TypeScript
automations.listVersions()
Python
automations.list_versions()
Ruby
automations.list_versions
PHP
automations->listVersions
Go
Automations.ListVersions
Java
automations().listVersions
C#
Automations.ListVersionsAsync

restoreAutomationVersion

범위automations:write직접 요청하지 않은 한 앱의 어시스턴트가 먼저 확인합니다툴킷automations

Copy the definition of an earlier version back into the draft, replacing what the draft holds. Nothing that is running changes until publishAutomation.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자
versioninteger필수

The version number, from listAutomationVersions.

1 이상

다른 사용처

API
POST /automations/{id}/versions/{version}/restore
TypeScript
automations.restoreVersion()
Python
automations.restore_version()
Ruby
automations.restore_version
PHP
automations->restoreVersion
Go
Automations.RestoreVersion
Java
automations().restoreVersion
C#
Automations.RestoreVersionAsync

getAutomationStats

범위automations:read앱의 어시스턴트가 묻지 않고 실행합니다툴킷automations

How one automation did over a window, 30 days by default: contacts that entered, are in it now, completed it or left early, emails sent, delivered, opened, clicked, bounced and marked as spam, and unsubscribes, in total and for each step. Opens are a floor, because many mail apps hide them. includeDaily adds a line for each day.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자
sincestring

Where the window starts, as an ISO 8601 instant.

형식date-time
untilstring

Where the window ends, as an ISO 8601 instant. Left out, now.

형식date-time
includeDailyboolean
기본값false

다른 사용처

API
GET /automations/{id}/stats
TypeScript
automations.stats()
Python
automations.stats()
Ruby
automations.stats
PHP
automations->stats
Go
Automations.Stats
Java
automations().stats
C#
Automations.StatsAsync

listAutomationEnrollments

범위automations:read앱의 어시스턴트가 묻지 않고 실행합니다툴킷automations

The contacts that are in an automation or have been, the most recent entry first: which step each is at, what they are waiting for, what holds a step that is due, when they move next and how it ended. Narrow it by status, by step or by a piece of the address or name. One page at a time: when more follow, the last line gives a cursor.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자
statusstring
다음 중 하나"active""completed""exited"
stepKeystring
1~64자
qstring
최대 200자
limitinteger
1 이상200 이하
cursorstring
1~64자

다른 사용처

API
GET /automations/{id}/enrollments
TypeScript
automations.listEnrollments()automations.listAllEnrollments()automations.iterateEnrollments()
Python
automations.list_enrollments()automations.list_all_enrollments()automations.iterate_enrollments()
Ruby
automations.list_enrollmentsautomations.list_all_enrollmentsautomations.iterate_enrollments
PHP
automations->listEnrollmentsautomations->listAllEnrollmentsautomations->iterateEnrollments
Go
Automations.ListEnrollmentsAutomations.ListAllEnrollmentsAutomations.IterateEnrollments
Java
automations().listEnrollmentsautomations().listAllEnrollmentsautomations().iterateEnrollments
C#
Automations.ListEnrollmentsAsyncAutomations.ListAllEnrollmentsAsyncAutomations.IterateEnrollmentsAsync

getAutomationEnrollment

범위automations:read앱의 어시스턴트가 묻지 않고 실행합니다툴킷automations

One contact's way through an automation: where they are, and what each step did for them, oldest first, such as an email sent, a wait, a yes or no at a branch, or why a step was skipped or failed.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자
enrollmentIdstring필수

The enrollment, by id (aen_...), from listAutomationEnrollments.

1~64자

다른 사용처

API
GET /automations/{id}/enrollments/{enrollmentId}
TypeScript
automations.getEnrollment()
Python
automations.get_enrollment()
Ruby
automations.get_enrollment
PHP
automations->getEnrollment
Go
Automations.GetEnrollment
Java
automations().getEnrollment
C#
Automations.GetEnrollmentAsync

enrollInAutomation

범위automations:write앱의 어시스턴트가 항상 먼저 확인합니다툴킷automations

Put one contact into a live automation at its first step, whatever starts it normally, so its emails start going to them. The contact has to exist already. A contact is in an automation once at a time, and an address that is suppressed or unsubscribed is refused.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자
emailstring필수

The contact to enroll, by email address.

최대 320자형식email
dataRecord<string, any>

Values the steps read wherever a value comes from the event, such as an order number. At most 50 keys and 4 KB of JSON.

다른 사용처

API
POST /automations/{id}/enrollments
TypeScript
automations.enroll()
Python
automations.enroll()
Ruby
automations.enroll
PHP
automations->enroll
Go
Automations.Enroll
Java
automations().enroll
C#
Automations.EnrollAsync

removeFromAutomation

범위automations:write직접 요청하지 않은 한 앱의 어시스턴트가 먼저 확인합니다툴킷automations

Take one contact out of an automation at once, by the id of their enrollment from listAutomationEnrollments. They get nothing more from it, and stay in the contacts and in their audiences.

입력

idstring필수

The automation, by id (aut_...). listAutomations finds it by name.

1~64자
enrollmentIdstring필수

The enrollment, by id (aen_...), from listAutomationEnrollments.

1~64자

다른 사용처

API
POST /automations/{id}/enrollments/{enrollmentId}/exit
TypeScript
automations.exitEnrollment()
Python
automations.exit_enrollment()
Ruby
automations.exit_enrollment
PHP
automations->exitEnrollment
Go
Automations.ExitEnrollment
Java
automations().exitEnrollment
C#
Automations.ExitEnrollmentAsync

sendContactEvent

범위contacts:write앱의 어시스턴트가 항상 먼저 확인합니다툴킷automations

Record that something happened to one contact, such as order.placed or trial.started. Every live automation that starts on that event name takes the contact in, so its emails start going to them, and a wait step holding out for the name moves on. The answer says which automations it started. Events are kept for 90 days.

입력

namestring필수

What happened, such as order.placed: letters, digits, dots, colons, dashes and underscores. Names are matched exactly, case included.

1~100자
emailstring필수

The contact the event is about, by email address.

최대 320자형식email
propertiesRecord<string, any>

Details of the event as a JSON object, at most 50 keys and 4 KB. An event trigger can filter on them and steps can use them.

occurredAtstring

When it happened, as an ISO 8601 instant. Left out, it is now. Not in the future, and at most 90 days ago.

형식date-time
createContactboolean

true adds the address to the contacts when nobody has it yet.

contactNamestring

The name to give a contact that createContact adds.

최대 200자

sendContactEvents

범위contacts:write앱의 어시스턴트가 항상 먼저 확인합니다툴킷automations

Record up to 100 events in one call, each handled as sendContactEvent handles one, in order. One event failing does not stop the rest: the answer says which were recorded, what each started, and why any was not.

입력

eventsobject[]필수
1~100개 항목
namestring필수

What happened, such as order.placed: letters, digits, dots, colons, dashes and underscores. Names are matched exactly, case included.

1~100자
emailstring필수

The contact the event is about, by email address.

최대 320자형식email
propertiesRecord<string, any>

Details of the event as a JSON object, at most 50 keys and 4 KB. An event trigger can filter on them and steps can use them.

occurredAtstring

When it happened, as an ISO 8601 instant. Left out, it is now. Not in the future, and at most 90 days ago.

형식date-time
createContactboolean

true adds the address to the contacts when nobody has it yet.

contactNamestring

The name to give a contact that createContact adds.

최대 200자

listContactEvents

범위contacts:read앱의 어시스턴트가 묻지 않고 실행합니다툴킷automations

The events recorded for one contact in the last 90 days, the most recent first: name, when it happened and its properties. Narrow it to one event name. One page at a time: when more follow, the last line gives a cursor.

입력

emailstring필수

The contact the event is about, by email address.

3~320자
namestring
1~100자
limitinteger
1 이상200 이하
cursorstring
1~64자

다른 사용처

API
GET /contacts/{email}/events
TypeScript
contacts.listEvents()contacts.listAllEvents()contacts.iterateEvents()
Python
contacts.list_events()contacts.list_all_events()contacts.iterate_events()
Ruby
contacts.list_eventscontacts.list_all_eventscontacts.iterate_events
PHP
contacts->listEventscontacts->listAllEventscontacts->iterateEvents
Go
Contacts.ListEventsContacts.ListAllEventsContacts.IterateEvents
Java
contacts().listEventscontacts().listAllEventscontacts().iterateEvents
C#
Contacts.ListEventsAsyncContacts.ListAllEventsAsyncContacts.IterateEventsAsync