If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: docs.astropods.com/messaging-sdk/python - Messaging SDK (Python) | Astro.

site address: docs.astropods.com/messaging-sdk/python

site title: .................................................

......................................................................

After content analysis of this website we propose the following hashtags:



Meta tags:
description=Connect your Python agent to Slack, web chat, and other platforms over gRPC;

Headings (most frequently used words):

messaging, sdk, the, platform, python, install, connect, to, sidecar, conversation, stream, inbound, message, anatomy, sending, response, receiving, feedback, audio, auxiliary, rpcs, reconnection, local, development, worked, examples, exported, symbols, streaming, text, content, status, updates, suggested, prompts, errors, thread, metadata, transcript, slack, web, playground, browser, chat, cross, agent, node, adapters, overview,

Text of the page (most frequently used words):
the (94), string (69), type (62), message (43), #content (43), platform (39), yes (36), agent (36), contentchunk (34), conversation_id (33), agentresponse (31), notes (31), field (29), user (28), resp (28), for (24), messaging (23), feedback (23), thread (22), cid (22), grpc (22), audio (21), text (21), slack (20), status (19), required (19), statusupdate (18), send (18), payload (18), your (18), queue (17), channel (17), with (16), and (16), from (16), when (16), sidecar (16), import (15), sdk (13), web (13), true (13), outbound (13), start (12), incoming_message (12), stub (12), end (12), timestamp (12), bool (12), suggestedprompts (11), conversationrequest (11), only (11), title (11), transcript (10), adapter (10), stream (10), python (10), protobuf (10), etc (10), below (10), this (9), proto (9), response (9), platformfeedback (9), agentmessagingstub (9), platformcontext (9), astropods_messaging (9), requests (9), def (9), value (9), messages (8), cfg (8), bytes (8), chat (8), card (8), reply (8), raw (8), google (8), enum (8), adapters (7), attachment (7), specific (7), you (7), stt (7), token (7), one (7), attachments (7), button (7), reaction (7), prompt (7), prompts (7), bot (7), see (7), astropods (7), first (7), inbound (7), use (7), custom (7), url (7), discord (7), any (7), not (6), node (6), was (6), page (6), astro (6), audiochunk (6), audiostreamconfig (6), session (6), audio_config (6), processconversation (6), localhost (6), 9090 (6), browser (6), deploy (6), cardattachment (6), hasfield (6), that (6), via (6), level (6), conversation (6), server (6), same (6), error (6), variant (6), knowledge (6), full (5), errorresponse (5), event_kind (5), code (5), encoding (5), data (5), audio_chunk (5), get (5), agent_response (5), event (5), added (5), dev (5), spec (5), statuscode (5), history (5), repeated (5), message_id (5), int32 (5), access (5), emoji (5), variants (5), connect (5), install (5), 2026 (4), overview (4), next (4), previous (4), source (4), audioencoding (4), messageoptions (4), event_kind_app_mention (4), open (4), playground (4), audio_buffers (4), audio_configs (4), done (4), example (4), elif (4), threading (4), whichoneof (4), yield (4), while (4), delta (4), put (4), insecure_channel (4), event_kind_dm (4), json (4), responseattachment (4), fields (4), action (4), response_id (4), thinking (4), updates (4), inside (4), interfaces (4), delay (4), time (4), retry (4), threadhistoryrequest (4), deleted (4), edit (4), edits (4), sent (4), after (4), default (4), streaming (4), native (4), opus (4), new (4), update (4), description (4), back (4), display (4), stores (4), managing (4), agents (4), cli (4), service (3), messagedelete (3), messageedit (3), streamcontrol (3), promptselection (3), buttonclick (3), textfeedback (3), messagereaction (3), threadmetadata (3), responses (3), open_thread (3), platform_context (3), single (3), whether (3), cross (3), emits (3), mediarecorder (3), handle_web_message (3), sample_rate (3), chunk (3), per (3), target (3), stream_llm (3), are (3), 4837 (3), view (3), block (3), kit (3), kind (3), listen (3), return (3), event_kind_observed (3), suggested (3), assistant (3), events (3), without (3), project (3), random (3), internal (3), attempt (3), rpcs (3), original_content (3), max_messages (3), extras (3), map (3), before (3), edited (3), false (3), echoes (3), request (3), include (3), how (3), shape (3), empty (3), identity (3), language (3), placeholder (3), original (3), available (3), click (3), own (3), oneof (3), set (3), existing (3), metadata (3), api (3), should (3), errors (3), custom_message (3), link (3), filename (3), file (3), image (3), chunks (3), ask (3), itself (3), images (3), incoming (3), other (3), changelog (3), reference (3), all (2), policy (2), built (2), config (2), agentconfig (2), exported (2), symbols (2), rest (2), loop (2), identical (2), create_thread (2), options (2), response_pb2 (2), bundled (2), khz (2), firefox (2), ogg_opus (2), webm_opus (2), pop (2), bytearray (2), args (2), generating (2), str (2), dict (2), every (2), two (2), button_id (2), view_logs (2), button_click (2), logs (2), block_kit (2), platform_card_json (2), plain_text (2), actions (2), mrkdwn (2), handle_slack_message (2), more (2), show (2), translate (2), ships (2), threads (2), interactive (2), event_kind_reaction (2), being (2), mentioned (2), event_kind_thread_reply (2), direct (2), worked (2), examples (2), package (2), runs (2), locally (2), flow (2), production (2), under (2), yml (2), ast (2), local (2), development (2), min (2), raise (2), resource_exhausted (2), deadline_exceeded (2), unavailable (2), max_attempts (2), rpcerror (2), requests_factory (2), generated (2), common (2), reconnection (2), was_edited (2), is_deleted (2), getthreadhistory (2), platform_data (2), deleted_at (2), has (2), been (2), last (2), edited_at (2), current (2), threadmessage (2), recent (2), many (2), version (2), must (2), rpc (2), auxiliary (2), aac (2), flac (2), uploads (2), mp3 (2), pre (2), low (2), twilio (2), telephony (2), linear16 (2), int64 (2), user_id (2), bcp (2), speech (2), channels (2), result (2), rate (2), system (2), stream_control (2), label (2), shown (2), free (2), form (2), happened (2), regenerate (2), resume (2), pause (2), stop (2), identifier (2), removed (2), custom_emoji (2), their (2), clicked (2), prompt_selection (2), receiving (2), replace (2), create (2), thread_id (2), tool (2), execution (2), llm (2), limit (2), fallback (2), meaning (2), errorcode (2), details (2), mag (2), base (2), send_response (2), searching (2), search (2), teams (2), size_bytes (2), mime_type (2), height (2), width (2), ship (2), append (2), may (2), chunktype (2), returned (2), pass (2), stable (2), sending (2), forward (2), mention (2), eventkind (2), sender (2), workspace (2), name (2), root (2), top (2), video (2), videos (2), email (2), always (2), anatomy (2), upstream (2), relayed (2), rare (2), generator (2), bidirectional (2), pushes (2), talks (2), pod (2), framework (2), langchain (2), container (2), over (2), markdown (2), guides (2), website (2), join (2), june (2), allowlist (2), egress (2), ips (2), known (2), integrations (2), mastra (2), manually (2), authorize (2), oauth (2), protected (2), mcp (2), servers (2), serve (2), frontend (2), store (2), sqlite (2), using (2), gateway (2), secrets (2), working (2), accounts (2), authentication (2), blueprint (2), welcome (2), docs (2), documentation (2), index (2), llms (2), txt (2), postman, rights, reserved, cookie, preferences, sell, share, personal, information, privacy, terms, helpful, lives, modules, agenttoolconfig, healthcheckresponse, healthcheckrequest, none, else, practice, serves, both, branch, pick, right, filetype, run_stt, extend, iter, maintain, mapping, real, apps, object, arrives, concerns, tab, scoped, conversations, input, clicks, dumps, action_id, elements, east, region, white_check_mark, green, section, header, blocks, record_feedback, can, explain, deeper, message_pb2, straight, through, setsuggestedprompts, setstatus, _assistant_thread_started, _slash_command, _button_click, observing, already, forwards, five, flavours, drive, touching, schema, http, 8080, enable, sleep, except, clean, try, stream_with_retry, establishes, exponential, backoff, wrapper, applied, service_config, there, implement, reconnect, usual, shapes, service_pb2, deletion, author, snapshot, taken, fetched_at, truncated, is_complete, threadhistoryresponse, markers, include_deleted, include_edited, query, returns, plus, unhealthy, degraded, healthy, healthcheck, dedicated, processaudiostream, look, fetching, getconversationmetadata, pull, state, handles, deletions, shot, processmessage, ios, recording, lossless, high, quality, ogg, webm, batch, recorded, frames, latency, codec, 711, law, mulaw, pcm, signed, bit, universal, baseline, audio_encoding_unspecified, segment, run, now, monotonic, ordering, counter, sequence, speaking, origin, upload, mobile, vonage, links, hint, mono, stereo, 8000, 16000, 48000, values, replaces, marks, utterance, format, sample, direction, step, flows, side, does, transcoding, vad, cancel_generation, log_feedback, above, textbox, typed, delete, new_content, why, reason, action_unspecified, prompt_message, matches, prompt_id, populated, thumbs_down, thumbs_up, reaction_type_unspecified, modal, message_delete, message_edit, asked, entry, thumbs, down, who, submitted, anonymous, occurred, which, relates, belongs, sends, interacts, detected, transcribed, create_new, subject, platform_error, failed, tool_error, agent_error, malformed, invalid_request, context, exceeds, context_too_long, hit, rate_limit, avoid, error_code_unspecified, offer, affordance, retryable, technical, logged, facing, tooltip, help, chip, unique, echoed, max, depending, querying, analysis, analyzing, processing, generation, progress, rag, generic, status_unspecified, otherwise, overrides, phrasing, image_url, linkpreview, embeds, cards, fileattachment, alt_text, imageattachment, attachment_type, suppress, notification, silent, reply_to_message_id, visible, recipient, ephemeral, overwrite, post, finalize, optional, here, want, immediate, presence, initial, creation, flags, later, platform_message_id, standalone, semantics, depend, hydrate, context_request, surface, its, thread_metadata, quick, suggestions, actual, streamed, typing, indicator, exactly, used, match, opened, event_kind_assistant_thread_started, slash, command, event_kind_slash_command, event_kind_button_click, observe, private, appear, traffic, event_kind_unspecified, snowflake, activity, resolution, bot_user_id, guild, workspace_id, channel_name, parent, thread_root_id, also, whose, room, channel_id, type_unspecified, rich, mime, size, authenticated, download, role, user_data, avatar, avatar_url, handle, username, correlation, across, lifecycle, echo, files, previews, cleaned, strip, forwarding, ids, received, uuid, assigned, applies, came, main, path, announce, capabilities, startup, agent_config, relay, fabricate, originated, payloads, switch, read, matching, individual, checks, said, bidi, symmetric, iterate, pattern, uses, push, anywhere, program, grpcio, primary, plaintext, loopback, interface, tls, auth, trust, boundary, listens, port, address, pip, names, snake_case, bindings, expose, requires, stubs, building, supported, prefer, higher, reach, directly, implementing, exists, covers, typescript, declare, deploys, alongside, normalises, into, routes, copy, question, platforms, scroll, light, claude, frameworks, monitor, started,


Text of the page (random words):
k node this is a low level package raw generated grpc stubs if you re building an agent on a supported framework prefer a higher level adapter e g astropods adapter langchain reach for this sdk directly when implementing a custom adapter or when no framework adapter exists field names below are snake_case that s how python protobuf bindings expose proto fields requires python 3 10 install pip install astropods messaging connect to the sidecar the sidecar listens on grpc port 9090 inside the same pod the address is always localhost 9090 locally with ast dev it s the same 1 import grpc 2 from astropods_messaging import agentmessagingstub 3 4 channel grpc insecure_channel localhost 9090 5 stub agentmessagingstub channel the sidecar talks plaintext grpc on the loopback interface no tls no auth the trust boundary is the pod itself the conversation stream the primary rpc is processconversation a bidirectional stream the sidecar pushes incoming user messages feedback and audio your agent pushes back status updates content chunks errors and other responses on the same stream bidi streaming in grpcio is symmetric pass a generator of conversationrequest s and iterate the returned generator of agentresponse s a common pattern uses a queue queue to push outbound messages from anywhere in the program 1 import queue grpc 2 from astropods_messaging import 3 agentmessagingstub conversationrequest agentresponse contentchunk 4 5 6 channel grpc insecure_channel localhost 9090 7 stub agentmessagingstub channel 8 9 outbound queue queue conversationrequest queue queue 10 11 def requests 12 while true 13 yield outbound get 14 15 for resp in stub processconversation requests 16 if resp hasfield incoming_message 17 m resp incoming_message 18 reply agentresponse 19 conversation_id m conversation_id 20 content contentchunk 21 type contentchunk end 22 content f you said m content 23 24 25 outbound put conversationrequest agent_response reply inbound payloads switch on resp whichoneof payload and read the matching field use resp hasfield incoming_message for individual checks agentresponse payload variants server agent whichoneof payload type notes incoming_message message the inbound message itself feedback platformfeedback user feedback event audio_config audiostreamconfig audio session start audio_chunk audiochunk raw audio bytes status statusupdate relayed echoes rare content contentchunk relayed echoes rare any of the outbound variants below outbound conversationrequest variants agent sidecar field type notes message message forward an agent originated message feedback platformfeedback relay or fabricate feedback agent_config agentconfig announce capabilities on startup agent_response agentresponse main path any agent response audio_config audiostreamconfig upstream audio session start audio audiochunk upstream audio bytes inbound message anatomy an incoming message is a message the same shape applies whether it came from slack the web chat or any other adapter message field type required notes id string yes uuid assigned by the sidecar timestamp google protobuf timestamp yes when the platform received the message platform string yes slack web discord etc platform_context platformcontext yes platform native ids and event metadata user user yes sender identity content string yes cleaned text adapters strip the bot s mention before forwarding attachments repeated attachment no files images video audio link previews conversation_id string yes stable correlation id across the message lifecycle always echo back on responses user field type required notes id string yes platform specific user id username string no display name or handle avatar_url string no avatar url email string no email if available user_data map string string no platform specific extras workspace role etc attachment field type required notes type enum yes see attachment type below url string yes authenticated direct download url filename string no original filename size_bytes int64 no file size in bytes mime_type string no mime type title string no display title rich attachments description string no display description width int32 no for images videos height int32 no for images videos attachment type type_unspecified 0 image 1 file 2 video 3 audio 4 link 5 access via attachment image etc platformcontext field type required notes message_id string yes original platform message id channel_id string yes channel room chat id thread_id string no agent s reply target also set on top level messages whose response should open a new thread thread_root_id string no parent thread root timestamp set only when this message is a reply inside an existing thread channel_name string no display channel name workspace_id string no slack workspace discord guild etc bot_user_id string no the bot s own user id in the source platform user_id string no raw platform native sender id before any cross platform identity resolution event_kind enum yes see platformcontext eventkind below platform_data map string string no platform specific extras slack ts discord snowflake teams activity id platformcontext eventkind access via platformcontext event_kind_dm etc value when the adapter emits it event_kind_unspecified 0 fallback should not appear in production traffic event_kind_dm 1 1 1 private chat slack dm web chat session event_kind_app_mention 2 bot was mentioned in a channel or thread event_kind_thread_reply 3 reply inside an existing thread no mention event_kind_observed 4 observe channel forward listen only event_kind_reaction 5 reaction added removed event_kind_button_click 6 interactive button click on a cardattachment event_kind_slash_command 7 slash command slack discord event_kind_assistant_thread_started 8 slack assistant thread opened sending a response agentresponse field type required notes conversation_id string yes must match the inbound message conversation_id response_id string no stable id for this response used by feedback events one variant yes exactly one payload variant below agentresponse payload variants oneof payload variant type notes incoming_message message server agent only the inbound message itself status statusupdate pre content typing indicator content contentchunk actual message text streamed prompts suggestedprompts quick reply suggestions thread_metadata threadmetadata open a thread or update its title transcript transcript stt result back to the platform audio flow error errorresponse surface an error to the user context_request threadhistoryrequest ask the sidecar to hydrate thread history audio_config audiostreamconfig server agent only audio_chunk audiochunk server agent only feedback platformfeedback server agent only streaming text content contentchunk field type required notes type enum yes see contentchunk chunktype below content string no semantics depend on type attachments repeated responseattachment no ship with end chunks or standalone platform_message_id string no returned by the adapter after start pass on later chunks to update it options messageoptions no creation flags contentchunk chunktype access via contentchunk start etc value use start 1 create the platform message may be empty immediate presence or include initial content delta 2 append the next token s stream as many as you want end 3 finalize last content optional and any attachments ship here replace 4 overwrite the full content for post stream edits messageoptions field type required notes ephemeral bool no only visible to the recipient user create_thread bool no start a new thread under the user s message reply_to_message_id string no reply to a specific message silent bool no suppress notification responseattachment oneof attachment_type variant type fields image imageattachment url alt_text title width height file fileattachment url filename mime_type size_bytes card cardattachment platform_card_json slack block kit discord embeds teams cards link linkpreview url title description image_url example 1 def send payload 2 outbound put conversationrequest agent_response agentresponse 3 conversation_id cid 4 content payload 5 6 7 send contentchunk type contentchunk start content 8 for token in stream_llm prompt 9 send contentchunk type contentchunk delta content token 10 send contentchunk type contentchunk end content status updates statusupdate field type required notes status enum yes see statusupdate status below custom_message string no required with custom otherwise overrides default phrasing emoji string no platform emoji e g mag statusupdate status access via statusupdate thinking etc value meaning status_unspecified 0 do not use thinking 1 generic thinking searching 2 rag knowledge base search generating 3 llm generation in progress processing 4 tool execution analyzing 5 data analysis custom 10 use with custom_message 1 from astropods_messaging import statusupdate 2 3 send_response agentresponse 4 conversation_id cid 5 status statusupdate status statusupdate searching 6 7 send_response agentresponse 8 conversation_id cid 9 status statusupdate 10 status statusupdate custom 11 custom_message querying the knowledge base 12 emoji mag 13 14 suggested prompts suggestedprompts field type required notes prompts repeated suggestedprompts prompt yes max 4 6 depending on platform suggestedprompts prompt field type required notes id string yes unique id echoed back in platformfeedback prompt_selection title string yes button chip label message string yes full message sent on click description string no tooltip help text errors errorresponse field type required notes code enum yes see errorresponse errorcode below message string yes user facing error message details string no technical details logged not shown to the user retryable bool no whether the platform should offer a retry affordance errorresponse errorcode value meaning error_code_unspecified 0 fallback avoid rate_limit 1 agent hit rate limit context_too_long 2 context exceeds llm limit invalid_request 3 malformed request agent_error 4 internal agent error tool_error 5 tool execution failed platform_error 6 platform api error thread metadata threadmetadata field type required notes thread_id string no platform thread id set to update an existing thread title string no thread title subject create_new bool no create a new thread transcript sent after stt to replace the audio placeholder on the platform transcript field type required notes text string yes transcribed text message_id string no placeholder message id to update language string no bcp 47 detected language e g en us receiving platform feedback the sidecar sends platformfeedback on the same stream when the user interacts with a previous response platformfeedback field type required notes conversation_id string yes conversation this feedback belongs to response_id string no which agent response this feedback relates to timestamp google protobuf timestamp yes when the feedback occurred user user no platform user who submitted the feedback empty for anonymous system events one variant yes one of the fields below platformfeedback variants oneof feedback variant type notes reaction messagereaction thumbs up down or custom emoji prompt_selection promptselection user clicked a suggestedprompts entry button_click buttonclick user clicked a button on a cardattachment stream_control streamcontrol user asked to stop pause resume or regenerate message_edit messageedit user edited their own previous message message_delete messagedelete user deleted their own previous message text textfeedback free form text from a platform native modal messagereaction field type required notes type enum yes reaction_type_unspecified thumbs_up thumbs_down custom_emoji emoji string no populated when type custom_emoji added bool yes true added false removed promptselection field type notes prompt_id string matches suggestedprompts prompt id prompt_message string full message being sent buttonclick field type notes button_id string button identifier from card value string button value payload action string action identifier streamcontrol field type notes action enum action_unspecified stop pause resume regenerate reason string why user click error etc messageedit field type notes message_id string platform message id that was edited new_content string new content after edit original_content string original content if available edited_at google protobuf timestamp when the edit happened messagedelete field type notes message_id string platform message id that was deleted deleted_at google protobuf timestamp when the delete happened textfeedback field type notes text string free form text the user typed prompt string label title shown above the textbox 1 for resp in stub processconversation requests 2 if resp hasfield feedback 3 fb resp feedback 4 if fb hasfield reaction 5 log_feedback fb response_id fb reaction type fb reaction added 6 elif fb hasfield stream_control 7 cancel_generation fb conversation_id audio audio flows agent side as raw bytes the messaging system does no stt transcoding or vad step direction message notes 1 sidecar agent agentresponse audio_config format encoding sample rate channels 2 sidecar agent agentresponse audio_chunk raw bytes done true marks end of utterance 3 agent sidecar agentresponse transcript stt result platform replaces the placeholder audiostreamconfig field type required notes encoding enum yes one of the audioencoding values below sample_rate int32 yes hz 8000 telephony 16000 speech 48000 browser channels int32 yes 1 mono speech default 2 stereo language string no bcp 47 hint for stt e g en us conversation_id string yes links audio to a conversation source string no origin browser twilio vonage mobile upload user_id string no speaking user s identity audiochunk field type required notes data bytes yes raw audio bytes empty when done true sequence int64 no monotonic ordering counter done bool no true end of segment run stt now audioencoding access via audioencoding linear16 etc value use audio_encoding_unspecified 0 do not use linear16 1 pcm signed 16 bit le universal baseline mulaw 2 g 711 mu law twilio telephony 8 khz opus 3 raw opus frames low latency codec mp3 4 mp3 batch uploads pre recorded webm_opus 5 webm opus browser mediarecorder default ogg_opus 6 ogg opus firefox mediarecorder flac 7 flac lossless high quality uploads aac 8 aac ios native recording auxiliary rpcs rpc when to use processmessage server streaming for one shot request response same agentresponse shape no inbound feedback getthreadhistory pull current thread state handles edits deletions getconversationmetadata look up a conversation by id or by platform channel thread without fetching history processaudiostream dedicated audio only stream first message must be audiostreamconfig rest are audiochunk s healthcheck returns healthy degraded unhealthy plus the sidecar version threadhistoryrequest field type required default notes conversation_id string yes conversation to query max_messages int32 no 50 h...
Images from subpage: "docs.astropods.com/welcome" Verify
Images from subpage: "docs.astropods.com/cli" Verify
Images from subpage: "docs.astropods.com/api-reference/astro-ai-api/agents/list-ag... " Verify
Images from subpage: "docs.astropods.com/install-cli" Verify
Images from subpage: "docs.astropods.com/get-started" Verify

Verified site has: 39 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-39


The site also has references to the 1 subdomain(s)

  astropods.com  Verify


Top 50 hastags from of all verified websites.