Functions for managing meetings linked to records.
Meetings represent calendar events — either synced from connected calendars
or created manually. Requires the meeting:read scope for read operations
and meeting:read-write for mutations.
Pagination
list/2 returns a single page. stream/2 lazily pages through all meetings;
stream_all/2 collects them into {:ok, list}. See Attio for an overview.
client
|> Attio.Meetings.stream()
|> Stream.filter(fn m -> m["title"] =~ "intro" end)
|> Enum.to_list()
Summary
Functions
Creates a meeting.
Deletes a meeting.
Gets a single meeting by its ID.
Lists meetings. Returns one page.
Returns a lazy stream of all meetings across all pages.
Fetches all meetings across all pages and returns them as a list.
Updates a meeting.
Functions
@spec create(Attio.Client.t(), map()) :: {:ok, map()} | {:error, term()}
Creates a meeting.
Required attributes
"title"- Meeting title."start_time"- ISO 8601 start timestamp."end_time"- ISO 8601 end timestamp.
@spec delete(Attio.Client.t(), String.t()) :: {:ok, map()} | {:error, term()}
Deletes a meeting.
@spec get(Attio.Client.t(), String.t()) :: {:ok, map()} | {:error, term()}
Gets a single meeting by its ID.
@spec list( Attio.Client.t(), keyword() ) :: {:ok, map()} | {:error, term()}
Lists meetings. Returns one page.
Options
:limit- Number of meetings per page.:cursor- Pagination cursor from a previous response.
@spec stream( Attio.Client.t(), keyword() ) :: Enumerable.t()
Returns a lazy stream of all meetings across all pages.
Accepts the same options as list/2. Raises {:attio_stream_error, error}
on API failure mid-stream. Use stream_all/2 if you prefer a standard
{:ok, list} | {:error, term()} return value.
@spec stream_all( Attio.Client.t(), keyword() ) :: {:ok, [map()]} | {:error, Attio.Error.t() | Exception.t()}
Fetches all meetings across all pages and returns them as a list.
Accepts the same options as list/2. Returns {:ok, [map()]} on success
or {:error, term()} if any page request fails. Unlike stream/2, the
entire result set is loaded into memory.
Example
{:ok, meetings} = Attio.Meetings.stream_all(client)
@spec update(Attio.Client.t(), String.t(), map()) :: {:ok, map()} | {:error, term()}
Updates a meeting.